BABD:用于模式分析的比特币地址行为数据集
文章地址:https://arxiv.org/abs/2204.05746v1
摘要
摘要中大体介绍了三个事情, 一是该文章构建了一个比特币地址数据集,二是借助数据集的信息提取了一些特征,三是使用常见的机器学习模型对含有特征的数据集进行比特币地址行为的多分类任务的训练。
引言
引言中,通过统计数字说明了比特币越来越受欢迎的趋势和会被滥用的风险。从图的角度思考,或许可以使用图分析来确定加密货币的追踪,但是目前并没有一个全面的数据集。因此本文提出了一个使用异构方式构建比特币交易图的框架,以提取分析特征形成数据集。数据集由13种比特币地址,544,462个标记数据,5类指标,148个特征构成,同时,从比特币交易图中生成地址节点的k-hop子图作为特征。并使用常见的机器学习模型进行训练预测。
相关研究
很多文献都有比特币交易分析方法的工作,但是本文作者指出了现有工作中的不足之处:现有工作中有些对不同地址类型是不准确或不完整的。例如,在最近的工作中,最多7种类型的地址被放在一起分析。这显然不足以深入理解比特币的交易行为模式。此外,现有方法所提出的用于分析的指标,有的不够系统全面。具体来说,它们没有对指标进行分类,也不包括可以从比特币交易图中提取的关键指标。而且,这些方法很难复制,因为相关工作没有公开比特币交易图是如何构建和生成的。
背景材料
这一段主要介绍了比特币的图结构(异构)、对比特币行为分类的定义和数据收集工作。
比特币的图结构
作者认为,简化的比特币交易图会导致比特币图分析中的信息丢失。在本文中,为了在分析交易模式时尽可能减少比特币网络的信息损失,进而在Maesa等人提出的比特币结构的基础上,提出了一种改进的有向异构多图比特币结构,该结构同时包含了地址(Ads)节点和交易(Tx)节点的特征,以确保分析的准确性。
比特币行为分类及定义
比特币的行为多种多样,作者对13种比特币钱包地址类型做了详细的定义。这里就不贴定义了,感兴趣的可以到原文看。
1.勒索 2.网络安全服务 3.暗网市场 4.集中交换 5.P2P金融基础设施服务 6.P2P金融服务 7.赌博 8.政府犯罪黑名单 9.洗钱 10.庞氏骗局 11.矿池 12.加密货币tumbler 13.个人钱包
数据收集
作者使用API爬取比特币账簿。研究基于100,001块数据,其中块高度从58.5万到68.5万(2019年7月12日至2021年5月26日),包括516,167,131个地址和交易节点和713,703,239个关系边。除了地址,还有较难收集的标签。最后将收集到的数据分为“强地址(SA)”和“弱地址(WA)”两种类型。
提出方案
框架由统计指标(SI)和局部结构指标(LSI)两部分组成
统计指标
•纯量指标(PAI):PAI与比特币交易图中Ads节点的token数量属性相关。
•纯度指标(PDI):PDI包含比特币交易图中Ads节点的相关度属性。
•纯时间指示器(PTI):PTI是Ads节点的时间相关属性。
•组合指标(CI):CI是PAI、PDI和PTI特征的组合。
(详细的每一条特征这里直接贴上了,后续有时间会仔细分析一下)
基础的特征:
还有融合的特征
局部结构指标
作者认为,由接近一个地址的地址组成的子图的特征可以反映有关该地址的一些信息。
首先作者将交易图复原为无向图,这样可以反映真实的网络结构。
并提出以下算法:每个Ads节点生成k-hop子图Gk,算法伪代码如下:
然后通过可视化分析评估确定了k的值为4,可以做到在充分挖掘交易网络特征的同时不超过设备计算能力的上限。
在收集好子图Gk后,又加入了结构特征:
- Degree Correlation 度数关联度
- Betweenness 中介中心性
- Average Path 平均路径长度
- Diameter 结点最长距离
- Closeness Centrality 紧密中心性
- PageRank 节点的PageRank值
- Density 根据边缘连通性度量的密度
如下图:
实验
基础设置
作者使用了Graph-tool作为框架,networkx来测试和验证方法算法,设备配置如图:
实验流程
-
使用Graph-tool将API收集到的JSON文件生成图
-
利用Graph-tool直接提取标记比特币地址SI的特征。
-
对于LSI特征,使用算法1为每个标记的比特币地址生成一个具体的子图Gk,然后用Graph-tool提供的复杂网络函数从生成的Gk中获取特征。
-
并行计算提高速度
-
最后,使用scikit-learn和xgboost实现通用的机器学习模型来测试BABD数据集。
实验结果及分析
5种不同机器学习模型的13个分类任务的实验结果如表所示。(SI+LSI)的结果表明,该方法的准确率、精密度、召回率和f1评分至少可达93.24%、92.80%、93.24%和92.97%,最多可达96.71%、96.46%、96.71%和96.57%。
读后思考
本篇文章从理解难度上看并不是很难,是围绕着比特币行为分类写的一篇偏向工程应用的文章。个人认为值得学习的地方有以下几点:一是拓展交易网络中节点的种类构建异质图的想法很好,进而通过开放的API接口去爬取信息构建数据集。二是在比特币钱包地址的标签收集上面花了很大的功夫,除了从walletexplorer获取,可能还需要很多人工收集的工作。三是增加了非常多的统计指标,注意到了很多细节,所面对的不仅仅是一个图,而更注重的是这张图在交易场景中不同行为产生特征的提取。四是增加网络结构信息,因为数据量大到不足以在整张图上做嵌入,于是选择了生成子图的方式,减小了计算开销又通过k的调整无限贴近还原交易网络的结构特征。总体来讲这篇对研究比特币交易行为的同学有一定的引领和启发价值。