主页 > imtoken安卓官方下载 > 分类算法分析推测比特币持有者的类别和流向

分类算法分析推测比特币持有者的类别和流向

imtoken安卓官方下载 2023-08-29 05:12:57

0">

本文共有字数,估计阅读时间。

由于比特币在区块链网络上使用基于公钥的钱包地址作为用户的身份,而钱包地址是用户自由生成的,与用户的身份特征无关,比特币的匿名性使得人们很难推测用户的真实身份信息。

到目前为止,有很多方法可以尝试推测比特币地址的身份。最常用的推测方法是基于多个输入交易地址和挖掘交易地址。通过递归算法判断,准确率几乎可以达到100%,这是一种非常有效的追踪比特币地址所有者的方法。

但是随着比特币在全球的普及,现在比特币的整个区块非常大(截至2018年8月28日,区块高度为538862,大小接近180G)。如果使用这种方法所依赖的递归算法计算整个区块链上的地址,会消耗大量的计算资源和时间,限制了这种方法的使用范围;另外,这种方法只能通过设置一定的条件来追踪一些符合条件的比特币地址拥有者。它不能涵盖所有比特币地址。

基于该算法的研究成果,火币研究院通过从比特币区块链中提取特征,分析不同账户的链上转账信息,并使用随机森林的机器学习算法对地址类别进行分类。机器学习算法并没有取代原有的聚类算法,而是补充了原有聚类方法的应用范围。牺牲一小部分准确性以适用于更广泛的比特币区块链转移研究。

本文主要分为两部分:第一部分1)简述比特币交易系统及交易流程2)基于多输入交易地址和挖矿交易地址的分类方法3)@ >通过随机森林算法建模方法对地址类别进行分类4)两种算法的比较。第二部分利用模型分析案例。目的是为读者提供对比特币地址所有者进行分类的思路,以便他们在不同的应用场景中选择更高效的方法对比特币区块链数据进行多维分析。

在文章的第二部分,我们分析了 2018 年 8 月 8 日至 8 月 15 日期间所有的比特币地址和转账记录,得到了基于分类算法的活跃地址数分布:

活跃地址中,44%为交易所地址,30%为服务商地址,19%为个人钱包地址,6%为游戏公司,1%为矿池。

对新地址数量和转账明细的进一步分析得出:

1) 过去几周,交易所和服务商新增地址数量变化不大,但个人钱包新增地址数量呈现明显下降趋势。

2)从个人地址转移到交易所的比特币数量远远大于从交易所转移到个人地址的数量。

最后,推测本周比特币价格大幅下跌的原因可能如下:

1) 进入市场的新投资者数量减少。

2) 很可能有大量用户将个人钱包中的比特币转移到交易所出售。

Part 1 模型介绍

1.比特币交易流程及特点

比特币交易具有三个特征:1)所有交易记录都是公开可见的,2)一笔交易可以有多个输入和多个输出3)@>每笔交易都有交易的付款人和收款人由一个公私钥对。

图 1 显示了实际出现在比特币网络中的交易流程。每个顶点代表一个比特币地址,顶点之间的线和箭头代表一个交易。正如上面提到的比特币的第二个特点,一笔交易可以有多个输入(图中交易A、B、C),正是采用了基于多输入交易地址和挖矿交易地址的分类方法。此功能。

图1.比特币交易用户地址网络

2.基于多输入交易地址和挖矿地址的分类(算法1)

2.1多输入交易地址

通过Fergal Reid、MAO HL、MAN H等人的研究。[1][2][3]得出结论,当用户的支付金额超过用户钱包中每个可用地址的比特币数量时,为避免执行完成多笔交易的支付导致交易丢失费用。用户从钱包中选择多个比特币地址,聚合在一起进行匹配支付,实现多输入交易。并且由于比特币交易中使用的每个地址中的资金都需要单独签名,我们可以反过来认为,多输入交易中的所有输入地址都来自同一个用户。(准确率可以接近100%)

因此,我们可以认为在图1中,3和4是同一个用户,同样:8、9和10,5和6都是同一个用户。

2.2 挖矿交易地址

同样比特币矿主出币,对于没有输入地址的交易(即俗称的挖矿交易),由于挖矿的本质是在服务器上运行比特币挖矿程序,因此可以认为输出交易中的输出地址是由同一个用户。进行配置。因此,如果一个或多个地址是同一挖矿交易的输出,则可以认为它们由同一用户控制。

对于用户的自挖矿模式,挖矿交易地址聚类的准确率可以达到100%。对于“矿池”模式,大部分情况下,区块奖励会在输出交易中转移到“矿工”的私有收益地址,然后根据算力贡献进行二次收益分配。矿池用户,所以也可以认为输出交易输出地址属于同一用户。

2.3分类过程

分类算法的框架如图2所示。迭代次数越多,找到的地址越多,综合性越好,但迭代次数的增加也会降低聚类效率。

图2.基于多输入交易地址和挖矿地址的分类过程

3)0@>

以上,我们已经描述了基于多输入交易地址和挖矿地址的分类模型及其实现方法。该模型可以非常准确地对同一用户的地址进行聚类,并且随着迭代次数的增加,得到同一用户。地址的数量非常可观:例如,如果我们知道某个交易所的一些热钱包地址,算法可以得到该交易所的大量其他热钱包地址,准确率接近100%。

但是,这种算法的缺点是它有一定的局限性:我们无法知道比特币网络中所有地址的所有者,对于不在数据表中的地址,我们无法对其进行分类。

基于对该算法的研究,火币研究院通过从比特币区块链中提取不同类型比特币地址的特征,建立了地址分类模型,可以对更广泛的匿名比特币地址进行分类。

3)1@>基于随机森林的比特币地址分类(算法2)

3)1@>1 标签类别和样本选择

我们随机抽取了 8045 个样本进行建模,并将它们分为五类标记:交易所(1591)、矿池(1684)、服务提供商(1663)6@>、博彩公司(1601),个人 (1503)8@>.

用于建模的地址标签信息主要来自 WalletExplorer。网站通过上述方法对上万个地址进行了分类,分为五个不同的类别(交易所、矿池、服务商、博彩公司、旧地址),其中旧地址类别现在交易很少,我们已经删除这个类别。对于其余四个类别,为了使每个标签数据量保持在同一水平以避免数据不平衡,我们采用随机抽样的方法比特币矿主出币,将每个类别的样本数保持在1500左右。

除了以上四个类别,我们还增加了“个人”比特币地址的类别,数据来自blockchain.info上标记的个人地址,随机抽取1500个。

3)1@>2 特征选择

通过经验判断和反复观察和实验,我们选择以下地址的特征作为建模特征:

1) 此地址用作输入的交易数量(传出交易的总数)

2) 作为输出的该地址的交易数量(转账总数)

3)@> 地址为BTC输入总量(转出BTC总量)

4)地址为BTC输出总量(转入BTC总量)

5) 当 this 用作 Input 时,每个事务的平均 Inputs 数

6) 当它用作输出时,每个事务的平均输入总数

7) 传入/传出事务的比率

8)(转入数 - 转出数)/(转入数 + 转出数)

3)6@> 每笔交易的平均 BTC 转账金额

13)8@> 平均每次转账的BTC金额

11) 是否有过一笔或多笔挖矿交易(Coinbase)

12) 这个地址作为 Input 的总矿工费(转出的总交易费)

13)@> 这个地址作为Output的总矿工费(转入的总交易费)

14) 转出平均每笔交易费用

15) 每笔交易的转账平均费用

16) 平均每天交易数

17) 平均每天交易数

以上链上数据火币研究院使用BlockSCI[4]工具在服务器上搭建了一个BTC节点,然后使用Jupyter notebook进行抓取。

3)1@>3 模型选择

在监督学习的模型选择上,通过对比和测试,我们最终选择了随机森林[5]作为我们这次构建的模型。

这种模式主要有以下四个优点:

1) 在所有当前算法中具有出色的准确性。

2) 可以处理具有高维特征的输入样本而无需降维。(我们的数据共有17个维度的特征)

3)@> 用于多类问题(5 个不同的类)。

4) 对于默认值问题(有些地址只有转入没有转出记录,因此无法计算转出相关数据)也可以得到很好的结果。

3)1@>4 建模过程

建模过程如图3所示。网格搜索的参数主要有:

1) 随机森林中的树数(n_estimators)

2) 树的最大深度(Max_depth)

3)@> 拆分内部节点所需的最小样本数(Min_samples_split)

4) 叶节点所需的最小样本数(Min_samples_leaf)

图 3:比特币地址分类建模过程

方案用Python3语言实现,在Scikit-learn中使用RandomForestClassifier(随机森林分类)、GridSearchCV(网格搜索)、train_test_split(分离测试集和训练集)、confusion_matrix(混淆矩阵)、K-Fold(K-fold) ) 和其他 API 模块。

训练集和测试集以 2:1 的比例拆分。

3)1@>5 模型得分

最后,经过调试,模型在最终测试集上的准确率为 90%。

混淆矩阵如图4所示,除了交易所和服务商的预测比较混乱,整体效果还是比较理想的。

图 4:模型得分 - 混淆矩阵

4. 两种方法的比较

火币研究院的比特币分类算法(算法2)不是替代多输入交易地址和挖矿地址分类算法(算法1),而是使用算法一的运行结果作为标签)地址,在算法 1 的基础上补充了其应用范围。通过牺牲一小部分准确性,提高了其通用性,适用于更宏观的链上数据分析。

两者的主要区别在于:

4.1算法类型不同:

算法1是在标签的地址已知的情况下,通过多次迭代,找到同时出现在同一个传输输入中的地址的过程。目的是找到与已知标签地址属于同一用户的地址,本质上是一种递归算法。,迭代次数越多,获得的标记地址越多。

算法2属于机器学习中的监督学习算法。首先,训练大量标记数据,生成具有推理功能的分类器。有了这个分类器,任何新的个体都可以根据其特征进行分类。

4.2 标签的来源不同:

算法 1 和算法 2 都从比特币区块链中提取数据,但标签的来源不同:

算法1的标签来源可以通过实际观察来观察。比如想要获取交易所的热钱包地址,其实可以在交易所进行充提交易,交易所充提地址就是交易所的钱包地址;而算法2需要大量的标签(至少几千个地址),所以直接参考算法1的结果,比如WalletExplorer等一些网站可以直接提供需要的标签。

4.3种不同的应用场景:

算法1的优点是:

1) 非常高的准确度(接近 100%)

2) 有特定标签(特定于火币热钱包、OKEX 热钱包等)

3)@> 可解释性强

缺点是:

1) 通用性差(无法标注所有地址)

2) 递归算法消耗大量计算资源

该算法适用于跟踪一个人(黑客、比特币窃贼)或一个群体(交易所、服务提供商)的比特币流向。

同样,算法 2 的优点是:

1) 通用性强(给定任意地址及其链上特性,可以推断地址的类别)

2) 除了建模,会消耗一定的计算资源,分类的时候消耗的计算资源非常少。

缺点是:

1) 准确率无法与算法 1 相比(目前只有 90%)。

2) 无特定标签(只能分为五类,不特定于交易所或机构)。

3)@> 标签可能会随着行为而改变(可能一个地址最初被标记为个人地址,但将来可能会更改为交换地址)

4) 可解释性差(随机森林是一个黑盒子)。

该算法适用于对数据准确度要求略低的宏观链上数据分析(例如,目前所有比特币中约有%在交易所,%在个人钱包中等),并根据一个地址,快速确定类别地址的性质(比如某天某天比特币链上发生大量转账到某个地址,根据分类算法可以推断出该地址属于哪个类别)

在实际分析中,关于算法2如何提高准确率,我们的解决方案是将算法2和算法1结合起来,在算力充足的情况下,使用算法1对尽可能多的地址进行分类。(尤其是持币量大或转账量大的地址,无法在网上进行集群搜索标签)。剩下的未分类地址使用算法2进行分类,可以有效提高数据准确率。

第二部分实际案例

1.活动地址集群

我们选取了 2018 年 8 月 8 日至 8 月 15 日的所有比特币地址和转账记录进行分析。首先,所有出现在本周输入和输出中的地址首先使用算法 1 对已知地址进行聚类,然后使用算法 2 对剩余地址进行分类。

本周有 332 万个活跃地址。根据算法,交易所地址143万个,服务商地址99万个,个人地址62万个,游戏公司18万个,矿池4万个。分布如图5所示。其中,交易所、服务商和个人钱包地址占地址总数的93%。

图5 2018年8月8日-8月15日活跃地址分布

2. 新地址细分

我们上前抓了四个星期的链上数据进行分析:从新增地址数量(图6),最近几周新增地址数量减少;

图6 2018年7月11日-8月15日新增地址数(万)

然后我们使用我们的算法对新地址的数量进行分类(图7),我们可以发现:虽然过去几周交易所和服务提供商添加的新地址数量没有太大变化,但新增个人钱包地址变化不大,呈明显下降趋势,直接导致新增地址总数减少。入市的投资者有所减少。

图 7 2018 年 7 月 11 日至 8 月 15 日按地址类型划分的新增地址数量(万):

3)1@>交易量分析

此外,除了地址分析之外,我们还分析了一周的交易数据。结果如图 8 所示。本周一共有 691 万 BTC 交易,从个人地址转移到交易所的比特币数量远大于从交易所转移到个人地址的数量(相差 140,000 BTC,大约 8.4 亿)。USD),大概率有大量用户将个人钱包中的比特币转移到交易所出售,这也可能是本周比特币价格下跌的原因之一。

图 8:2018 年 8 月 8 日至 8 月 15 日所有比特币转账分布(单位:10,000 BTC)

4.比特币价格下跌原因分析

2018 年 8 月 8 日至 8 月 15 日,数字货币整体低迷,比特币价格下跌 15%。通过以上分析,本周比特币价格大幅下跌可能与两个因素有关:

1)个人新建地址数量的减少表明新入市的投资者数量减少。

2)个人地址转入交易所的比特币数量远大于交易所转入个人地址的数量。大量用户将个人钱包中的比特币转移到交易所进行出售的可能性很大。

参考

[1] Fergal Reid 和 Martin Harrigan:比特币系统匿名性分析

IEEE 第三届隐私、安全、风险和信任国际会议。波士顿:IEEE,2011:1318-1326.

[2] 毛洪亮, 0 吴震, 何敏, 唐继强, 沉萌:基于启发式方法的比特币地址聚类

北京邮电大学学报:TN911.4A

[3] 曼哈,刘建康,方杰,等。: 一种增强电动汽车位置隐私的新支付系统

IEEE 车辆技术汇刊, 2014, 63 (1):3-18.

[4]Harry Kalodner、Steven Goldfeder、Alishah Chator、Malte Möser、Arvind Narayanan:BlockSci:区块链分析平台的设计和应用

密码学和安全性 arXiv:1709.02489

[5]维基百科:随机森林

火币区块链应用研究院

关于我们:

火币区块链应用研究院(简称“火币研究院”)成立于2016年4月,自2018年3月起全面拓展区块链各个领域的研究探索。主要研究内容包括区块链技术研究领域、产业我们希望搭建一个覆盖区块链全产业链的研究平台,为区块链行业专业人士提供坚实的理论基础和趋势判断,推动整个区块链行业的发展。

“火币区块链大数据”是火币区块链研究院发布的数据产品,旨在为投资者、量化交易者、研究人员和区块链初创公司等打造最完整的区块链数据库。区块链和加密资产市场参与者提供数据服务,协助各类参与他们的决策和判断过程。