一种基于区块链的加密货币用户特征挖掘、异常用户检测方法技术

技术编号:22364879 阅读:54 留言:0更新日期:2019-10-23 04:56
本发明专利技术属于区块链的特征挖掘技术领域,公开了一种基于区块链的加密货币用户特征挖掘、异常用户检测方法,获取区块链加密货币的交易数据,对交易数据进行处理,得到交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳等交易基本信息;采用基于启发式的加密货币地址聚类方法将用户的假名进行聚类,同时将用户进行编号;然后提取用户特征,并对其进行分析、数据统计,将不同类型的用户特征进行分类,区分正常用户与异常用户特征;使用高斯混合模型对用户进行聚类,根据用户分类的特征,找出疑似异常的用户。本发明专利技术针对区块链加密货币的匿名性,从区块链中提取有价值的结果,检测用户的异常交易,有助于对加密货币洗钱等违法事件的监管。

A feature mining and abnormal user detection method of cryptocurrency based on blockchain

【技术实现步骤摘要】
一种基于区块链的加密货币用户特征挖掘、异常用户检测方法
本专利技术属于区块链的特征挖掘
,尤其涉及一种基于区块链的加密货币用户特征挖掘、异常用户检测方法。
技术介绍
目前,最接近的现有技术:大多是基于无监督机器学习的加密货币交易匿名性分析,包括使用K-means聚类、无监督支持向量机等算法,对真实的数据进行异常检测。这些方法的缺陷在于:首先,没有对原始的交易数据进行启发式用户地址聚类,没有完全将用户所持有的地址划分到用户地址集合当中,因而导致用户集群范围的精确度降低;其次,这些方法没有对用户进行详细的特征挖掘,没有明确给出正常用户与异常用户的划分条件;然后,这些方法使用的算法缺乏估计密度的能力;最后,这些方法异常交易的检测效果不佳,成功率在10%左右,并且是在不考虑混币服务的前提下。使用本专利技术所述一种基于区块链的加密货币用户特征挖掘、异常用户检测方法,首先,使用了启发式用户地址聚类方法,能够全面的将用户持有地址划分到其地址集合中,提高了后续建模的精确性;其次,对用户特征进行了详细的挖掘,包括十个方面的特征,丰富的描述了用户存在的各种特点,并且给出正常用户与异常用户的6个划分条件,对后续用户聚类得到的集群分类起关键作用;然后,使用高斯混合模型对用户进行聚类,该算法是基于概率的算法,从密度估计角度进行聚类;最后,在考虑混币服务的情况下,异常交易检测成功率提高到30%左右。近年来,政府和其他政治机构也对加密货币的不可追溯性非常关切,因为缺乏一个监督和监管加密货币的中央机构,会给社会带来洗钱等非法活动的风险。2018年3月26日,欧洲刑警组织破获一超大规模涉及加密货币洗钱的网络犯罪团伙,在5年时间里,他们总计盗取全球银行约10亿欧元,并将非法收益转化为加密货币。由此可见,建立对加密货币洗钱的监管是非常迫切和重要的。综上所述,现有技术存在的问题是:对加密货币用户特征挖掘不全面的问题,异常交易检测的效果不佳的问题。解决上述技术问题的难度和意义:针对加密货币的匿名性,基于区块链的特征挖掘及异常检测,其实是极富挑战性的。第一,加密货币是分布式的,没有任何中央机构对其进行管制,交易数据复杂、不易解析。第二,每个用户拥有任意数量的地址,找出用户的所有地址难度极高,对算力的要求也非常高,因此需要优良的用户地址聚类方法。第三,目前加密货币用户特征类别模糊,需要大量数据统计分析,区分正常用户与异常用户特征,从而进行异常检测。因此,研究区块链的用户特征挖掘以及异常用户检测具有深远的实践意义。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种基于区块链的加密货币用户特征挖掘、异常用户检测方法。本专利技术是这样实现的,一种基于区块链的加密货币用户特征挖掘、异常用户检测方法,所述基于区块链的加密货币用户特征挖掘、异常用户检测方法括以下步骤:步骤一,获取区块链加密货币的交易数据,对交易数据进行处理,得到交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳;步骤二,采用基于启发式的加密货币地址聚类方法将用户的假名进行聚类,同时将用户进行编号;步骤三,提取用户特征,并对其进行分析、数据统计,将不同类型的用户特征进行分类,区分正常用户与异常用户特征;步骤四,使用高斯混合模型对用户进行聚类,根据用户分类的特征,找出疑似异常的用户。进一步,所述步骤一获取区块链加密货币的交易数据,对交易数据进行处理,得到交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳具体包括:首先,从BlockChair获取区块链交易原始数据,包括inputs、outputs和transactions三个部分;然后,将三个部分的原始数据进行处理整合;最后,获取交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳等交易基本信息。进一步,所述步骤二采用基于启发式的加密货币地址聚类方法将用户的假名进行聚类,同时将用户进行编号具体包括:首先,判断交易类型是否为产量交易;然后,识别非产量交易输出地址中的找零地址;最后,更新用户地址集合。进一步,所述找零地址的特征有:特征一:作为输出地址的情况通常只有一次;特征二:不会同时出现在一笔交易的输入地址和输出地址;特征三:一笔交易的输出地址不能只有找零地址。识别交易t的找零地址a的算法如下:1)地址a只作为一次交易t的输出;2)交易t不是产量交易;3)对于a′∈Inputs(t),不存在a′∈Outputs(t),即交易t不是“自我找零”交易;4)对于a′∈Outputs(t),不存在a′≠a但a′只作为一次交易的输出,即对于交易的所有输出,条件1)只对a满足。其中,Inputs(t)为交易的输入地址集合,Outputs(t)为交易的输出地址集合。进一步,所述更新用户地址集合方法具体包括:若交易为产量交易:1)若且Outputs(t)≠Addr(u),则继续遍历交易;2)若则新建Addr(u),使Addr(u)=Outputs(t);若交易为非产量交易:1)若且Inputs(t)≠Addr(u),则更新Addr(u),使Addr(u)=Addr(u)∪Inputs(t)∪ChangeAddr(t);2)若则新建Addr(u),使Addr(u)=Inputs(t)∪ChangeAddr(t)。其中,Addr(u)为用户u的地址集合,ChangeAddr(t)为交易t中的找零地址。进一步,所述步骤三的提取用户特征、用户特征分类,用户特征具体包括:特征一:地址数,表示用户拥有的地址数量;特征二:交易数,表示用户出现的交易数量;特征三:平均输入地址数,表示用户地址在交易中作为输入地址的平均数量;特征四:平均输出地址数,表示用户地址在交易中作为输出地址的平均数量;特征五:用户入度,表示用户作为接收方,其发送方的数量;特征六:用户出度,表示用户作为发送方,其接收方的数量;特征七:平均接收金额,表示用户地址在交易中平均接收加密货币的金额;特征八:平均发送金额,表示用户地址在交易中平均发送加密货币的金额;特征九:用户活跃时间范围,表示用户第一笔交易到最近一次交易的时间间隔;特征十:地址平均活跃时间范围,表示用户地址的第一笔交易到最近一次交易的平均时间间隔。用户特征分类分为正常用户和可疑用户,正常用户分为消费者、长期投资者、短期投资者和早期采用者;可疑用户分为洗钱者和盗窃者。具体划分条件包括:消费者:地址数应该小于或等于平均值;平均发送和接收金额应该基本持平,并且金额接近中值;长期投资者:较长的用户活跃时间范围和地址平均活跃时间范围;交易数应该较低并且平均接收金额应该较高;短期投资者:交易数应该较高;地址平均活跃时间范围较短;早期采用者:很长的用户活跃时间范围;交易量接近中值;洗钱者:显著高的平均输入地址数和平均输出地址数并且地址具有一次性特点;平均接收和发送金额基本持平并且较低;显著短的地址平均活跃时间范围;盗窃者:地址数较高;地址之间具有稳定的加密货币转移交易;平均接收和发送金额基本持平;地址平均活跃时间范围较短。进一步,所述步骤四使用高斯混合模型对用户进行聚类:其中,πk是权值因子,它表示在训练集中数据点属于类别Zk的概率,μk是集群中心,∑k是协方差矩阵。从用户特征数据集中筛选出符合正常用户特征的数据点作为训练本文档来自技高网
...

【技术保护点】
1.一种基于区块链的加密货币用户特征挖掘、异常用户检测方法,其特征在于,所述基于区块链的加密货币用户特征挖掘、异常用户检测方法包括以下步骤:步骤一,获取区块链加密货币的交易数据,对交易数据进行处理,得到交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳;步骤二,采用基于启发式的加密货币地址聚类方法将用户的假名进行聚类,同时将用户进行编号;步骤三,提取用户特征,并对其进行分析、数据统计,将不同类型的用户特征进行分类,区分正常用户与异常用户特征;步骤四,使用高斯混合模型对用户进行聚类,根据用户分类的特征,找出疑似异常的用户。

【技术特征摘要】
1.一种基于区块链的加密货币用户特征挖掘、异常用户检测方法,其特征在于,所述基于区块链的加密货币用户特征挖掘、异常用户检测方法包括以下步骤:步骤一,获取区块链加密货币的交易数据,对交易数据进行处理,得到交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳;步骤二,采用基于启发式的加密货币地址聚类方法将用户的假名进行聚类,同时将用户进行编号;步骤三,提取用户特征,并对其进行分析、数据统计,将不同类型的用户特征进行分类,区分正常用户与异常用户特征;步骤四,使用高斯混合模型对用户进行聚类,根据用户分类的特征,找出疑似异常的用户。2.如权利要求1所述的基于区块链的加密货币用户特征挖掘、异常用户检测方法,其特征在于,所述步骤一获取区块链加密货币的交易数据,对交易数据进行处理,得到交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳具体包括:首先,从BlockChair获取区块链交易原始数据,包括inputs、outputs和transactions三个部分;然后,将三个部分的原始数据进行处理整合;最后,获取交易id、发送方假名、接收方假名、交易加密货币数量和交易时间戳等交易基本信息。3.如权利要求1所述的基于区块链的加密货币用户特征挖掘、异常用户检测方法,其特征在于,所述步骤二采用基于启发式的加密货币地址聚类方法将用户的假名进行聚类,同时将用户进行编号具体包括:首先,判断交易类型是否为产量交易;然后,识别非产量交易输出地址中的找零地址;最后,更新用户地址集合。4.如权利要求3所述的基于区块链的加密货币用户特征挖掘、异常用户检测方法,其特征在于,所述找零地址的特征有:特征一:作为输出地址的情况通常只有一次;特征二:不会同时出现在一笔交易的输入地址和输出地址;特征三:一笔交易的输出地址不能只有找零地址;识别交易t的找零地址a的算法如下:1)地址a只作为一次交易t的输出;2)交易t不是产量交易;3)对于a′∈Inputs(t),不存在a′∈Outputs(t),即交易t不是“自我找零”交易;4)对于a′∈Outputs(t),不存在a′≠a但a′只作为一次交易的输出,即对于交易的所有输出,条件1)只对a满足;其中,Inputs(t)为交易的输入地址集合,Outputs(t)为交易的输出地址集合。5.如权利要求3所述的基于区块链的加密货币用户特征挖掘、异常用户检测方法,其特征在于,所述更新用户地址集合方法具体包括:若交易为产量交易:1)若且Outputs(t)≠Addr(u),则继续遍历交易;2)若则新建Addr(u),使Addr(u)=Outputs(t);若交易为非产量交易:1)若且Inputs(t)≠Addr(u),则更新Addr(u),使Addr(u)=Addr(u)∪Inputs(t)∪ChangeAddr(t);2)若则新建Addr(u),使Addr(u)=Inputs(t)∪ChangeAddr(t);其中,Addr(u)为用户u的地址集合,ChangeAddr(t)为交易t中的找零地址。6.如权利要求1所述的基于区块链的加密货币用户特征挖掘、异常...

【专利技术属性】
技术研发人员:沈玉龙杨凌霄董学文姜晓鸿乔慧谷鑫雨郑乐乐宋雄飞
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1