一种数字货币交易社区识别方法、系统、设备及存储介质技术方案

技术编号:30560675 阅读:19 留言:0更新日期:2021-10-30 13:43
本发明专利技术涉及一种数字货币交易社区识别方法、系统、设备及存储介质,属于交易社区识别和可视化领域,首先提取比特币原始交易记录,并对原始交易记录进行预处理,得到处理后的交易记录;采用基于中心节点的标签传播算法,对处理后的交易记录进行社区划分,得到社区划分结果;从社区划分结果中提取待分析社区,得到待展示社区;对待展示社区中的地址所参与的交易记录进行遍历,生成总边集;最后根据总边集生成社区结构图并进行展示,实现了交易社区的可视化,从而使研究者可以轻易识别各交易社区的结构和类型。结构和类型。结构和类型。

【技术实现步骤摘要】
一种数字货币交易社区识别方法、系统、设备及存储介质


[0001]本专利技术涉及数字货币的交易社区识别和可视化领域,特别是涉及一种基于区块链的数字货币交易社区识别方法、系统、设备及存储介质。

技术介绍

[0002]数字货币是一种不受管制的、数字化的货币,通常由开发者发行和管理,被特定虚拟社区的成员所接受和使用。比特币作为一种点对点交易的虚拟数字货币,具有较强的匿名性,其交易记录被矿工打包进区块链。近年来越来越多的研究者想要通过分析比特币交易记录进行实体的反匿名研究,譬如实体识别、交易模式识别、社区结构识别等。其中,在比特币交易网络社区识别的过程中,研究人员可以基于链下数据等手段获取带标签的地址集合,进而分析实体所在社区的社区类型。但通过这些带标签的地址提取交易记录,往往会由于比特币交易数量巨大,单笔交易涉及地址数量大,无法识别出比特币交易中的各个交易社区,从而导致交易数据难以可视化、可视化程度低的问题。
[0003]基于此,如何识别比特币交易社区的类型、结构以及实现对交易记录的可视化,提升交易数据的可视化程度,是目前区块链比特币交易领域中亟待解决的一个核心问题。

技术实现思路

[0004]本专利技术的目的是提供一种数字货币交易社区识别方法、系统、设备及存储介质,通过社区划分算法划分交易社区,识别交易社区类型并绘制社区结构图,以实现数字货币交易记录的可视化,提高交易数据的可视化程度,使用户可快速地识别出各个交易社区类型并获取社区骨干,解决交易数据难以可视化、可视化程度低的问题。
[0005]为实现上述目的,本专利技术提供了如下方案:
[0006]一方面,本专利技术提供了一种数字货币交易社区识别方法,包括:
[0007]提取比特币原始交易记录,并对所述原始交易记录进行预处理,得到处理后的交易记录;
[0008]采用基于中心节点的标签传播算法,对所述处理后的交易记录进行社区划分,得到社区划分结果;
[0009]从所述社区划分结果中提取一个待展示的社区,得到待展示社区;
[0010]对所述待展示社区中的地址所参与的交易记录进行遍历,生成总边集,并在地址标签集合中查询每条边的两个端点是否有标签,若有标签,则添加对应的地址属性值;其中,每一笔所述交易记录均包括若干个输入地址和若干个输出地址;所述边定义为从一个所述输入地址指向一个所述输出地址的一条线段,所述线段的两个端点分别表示所述输入地址和所述输出地址;每条所述边被记录为[输入地址,输入地址属性,输出地址,输出地址属性];
[0011]根据所述总边集生成社区结构图并进行展示,实现社区可视化。
[0012]可选的,所述提取比特币原始交易记录,并对所述原始交易记录进行预处理,得到
处理后的交易记录,具体包括:
[0013]提取区块链账本数据,并将所述区块链账本数据作为所述原始交易记录;
[0014]对所述原始交易记录进行过滤预处理,得到过滤后的交易记录;
[0015]将所述过滤后的交易记录转换为json数据格式的交易记录,得到所述处理后的交易记录。
[0016]可选的,所述采用基于中心节点的标签传播算法,对所述处理后的交易记录进行社区划分,得到社区划分结果,具体包括:
[0017]计算交易网络中各个节点的度;所述节点的度为所述交易网络中与某一节点关联的所述边的条数;
[0018]根据各个所述节点的度的大小,选择预设比例数量的中心节点,确定所述中心节点的标签和非中心节点的标签;所述标签包括输入地址标签和输出地址标签;
[0019]对所述中心节点的标签和所述非中心节点的标签进行初始化;
[0020]对所述非中心节点的标签进行迭代更新,使所述非中心节点的标签更新为度最大的邻居节点的标签;
[0021]判断当前迭代次数是否等于最大迭代次数,若当前迭代次数等于最大迭代次数,则终止迭代更新,记录此时的所述社区划分结果;若当前迭代次数小于最大迭代次数,则返回步骤“对所述非中心节点的标签进行迭代更新,使所述非中心节点的标签更新为度最大的邻居节点的标签”,继续进行迭代更新。
[0022]可选的,所述从所述社区划分结果中提取一个待展示的社区,得到待展示社区,具体包括:
[0023]从所述社区划分结果中提取一个待展示的社区地址集,得到待展示社区地址集;
[0024]从所述原始交易记录中提取出所述待展示社区地址集中每个地址参与的交易记录,得到地址参与交易记录;
[0025]将所述待展示社区地址集以及所述地址参与交易记录作为所述待展示社区的数据。
[0026]可选的,所述对所述待展示社区中的地址所参与的交易记录进行遍历,生成总边集,并在地址标签集合中查询每条边的两个端点是否有标签,若有标签,则添加对应的地址属性值,具体包括:
[0027]对所述待展示社区中的地址所参与的交易记录进行遍历,在遍历时,对于每一笔交易记录中的每一个输入地址生成指向所有输出地址的边,保存进所述总边集中,生成的所述边的数量等于输入地址数量与输出地址数量的积;
[0028]在生成所述边的过程中,在地址标签集合中查询每条边的输入地址和输出地址是否出现在地址标签集合中,即查询每条所述边的两个端点是否有标签,若有标签,则将所述标签填入对应的地址属性值中;若无标签,则将对应的地址属性值记录为缺省值,并将此地址不重复地保存进无标签地址集合;
[0029]统计已经遍历过的交易记录数量,并判断所述交易记录数量是否大于预设阈值;
[0030]当所述交易记录数量大于预设阈值时,则统计所述总边集中各种所述边的输入地址、输入地址属性、输出地址、输出地址属性以及出现次数;
[0031]当所述交易记录数量小于或等于所述预设阈值时,则进行多次迭代流程,直至所
述交易记录数量大于预设阈值时为止。
[0032]可选的,所述多次迭代流程,具体包括:
[0033]遍历所有交易记录中所述无标签地址集合中的地址参与的且未曾遍历处理过的交易记录;
[0034]对于每一笔交易记录中的每一个输入地址生成指向所有输出地址的所述边,保存进所述总边集;
[0035]在生成所述边的过程中,在地址标签集合中查询每条边的输入地址和输出地址是否出现在地址标签集合中,即查询每条所述边的两个端点是否有标签,若有标签,则将所述标签填入对应的地址属性值中;若无标签,则删除该条边,并将此地址不重复地保存进新的无标签地址集合;其中,所述新的无标签地址集合将成为下一次迭代中使用的无标签地址集合。
[0036]可选的,所述根据所述总边集生成社区结构图并进行展示,实现社区可视化,具体包括:
[0037]将所述总边集导入到Cytoscape软件中,在Cytoscape软件中将源节点设置为输入地址,将源节点属性设置为输入地址标签,将目标节点设置为输出地址,将目标节点属性设置为输出地址标签,将边属性设置为出现次数;
[0038]利用Cytoscape软件进行网络本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数字货币交易社区识别方法,其特征在于,包括:提取比特币原始交易记录,并对所述原始交易记录进行预处理,得到处理后的交易记录;采用基于中心节点的标签传播算法,对所述处理后的交易记录进行社区划分,得到社区划分结果;从所述社区划分结果中提取一个待展示的社区,得到待展示社区;对所述待展示社区中的地址所参与的交易记录进行遍历,生成总边集,并在地址标签集合中查询每条边的两个端点是否有标签,若有标签,则添加对应的地址属性值;其中,每一笔所述交易记录均包括若干个输入地址和若干个输出地址;所述边定义为从一个所述输入地址指向一个所述输出地址的一条线段,所述线段的两个端点分别表示所述输入地址和所述输出地址;每条所述边被记录为[输入地址,输入地址属性,输出地址,输出地址属性];根据所述总边集生成社区结构图并进行展示,实现社区可视化。2.根据权利要求1所述的数字货币交易社区识别方法,其特征在于,所述提取比特币原始交易记录,并对所述原始交易记录进行预处理,得到处理后的交易记录,具体包括:提取区块链账本数据,并将所述区块链账本数据作为所述原始交易记录;对所述原始交易记录进行过滤预处理,得到过滤后的交易记录;将所述过滤后的交易记录转换为json数据格式的交易记录,得到所述处理后的交易记录。3.根据权利要求1所述的数字货币交易社区识别方法,其特征在于,所述采用基于中心节点的标签传播算法,对所述处理后的交易记录进行社区划分,得到社区划分结果,具体包括:计算交易网络中各个节点的度;所述节点的度为所述交易网络中与某一节点关联的所述边的条数;根据各个所述节点的度的大小,选择预设比例数量的中心节点,确定所述中心节点的标签和非中心节点的标签;所述标签包括输入地址标签和输出地址标签;对所述中心节点的标签和所述非中心节点的标签进行初始化;对所述非中心节点的标签进行迭代更新,使所述非中心节点的标签更新为度最大的邻居节点的标签;判断当前迭代次数是否等于最大迭代次数,若当前迭代次数等于最大迭代次数,则终止迭代更新,记录此时的所述社区划分结果;若当前迭代次数小于最大迭代次数,则返回步骤“对所述非中心节点的标签进行迭代更新,使所述非中心节点的标签更新为度最大的邻居节点的标签”,继续进行迭代更新。4.根据权利要求1所述的数字货币交易社区识别方法,其特征在于,所述从所述社区划分结果中提取一个待展示的社区,得到待展示社区,具体包括:从所述社区划分结果中提取一个待展示的社区地址集,得到待展示社区地址集;从所述原始交易记录中提取出所述待展示社区地址集中每个地址参与的交易记录,得到地址参与交易记录;将所述待展示社区地址集以及所述地址参与交易记录作为所述待展示社区的数据。5.根据权利要求1所述的数字货币交易社区识别方法,其特征在于,所述对所述待展示
社区中的地址所参与的交易记录进行遍历,生成总边集,并在地址标签集合中查询每条边的两个端点是否有标签,若有标签,则添加对应的地址属性值,具体包括:对所述待展示社区中的地址所参与的交易记录进行遍历,在遍历时,对于每一笔交易记录中的每一个输入地址生成指向所有输出地址的边,保存进所述总边集中,生成的所述边的数量等于输入地址数量与输出地址数量的积;在生成所述边的过程中,在地址标签集合中查询每条边的输入地址和输出地址是否出现在地址标签集合中,即查询...

【专利技术属性】
技术研发人员:贺可太何茜王金山徐晶
申请(专利权)人:北京科技大学
类型:发明
国别省市:

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

1