比特币交易图形分析
1.引言
比特币最近成为一种越来越流行的加密货币,这是由于用户使用电子化的交易,并且使用比特币比使用传统的电子支付具备更多的匿名性。从设计上,比特币将所有的交易保存在公共账单上。每一个交易的发起者和接收者都只通过加密公钥来确定身份。这导致了一个常见的误解:比特币天生是提供匿名性功能的。事实上,尽管比特币的虚匿名性(presumed anonymity)提供了一些新的商业方式,最近的一些案例也引起了人们对用户隐私性的关注。我们在本文探究比特币系统匿名性的水平。我们使用的方法是二重的:(i)我们通过将比特币公钥与真人(不管是限定的还是统计意义上的)联系起来,为比特币交易图形做注解。(ii)在我们的图形分析框架内运行注解图形,以发现和总结已知和未知用户的行为。
2.贡献
我们提出了一个比特币交易图形注释系统,这个系统分两部分。第一,我们开发了一个从公共论坛抓取比特币地址的系统。第二,我们引入一个通过不完整的交易信息,把用户同交易联系起来的机制。比如,假设我们听到鲍勃对爱丽丝说:“昨天中午我给你发了价值100美元的比特币“;尽管我们不知道交易的具体时间(因为‘中午’可能是11:50,也可能是12:10),也不知道交易的具体数额(汇率常常发生显著的波动),我们还是能够得到候选的交易并关联匹配的可能性。
我们还提出了一个图形分析框架,可以用来追踪和聚类用户的行为。例如,在2013年10月25日,在并没有FBI或者丝绸之路的公钥地址等预备知识的前提下,我们的框架提示说,FBI没收丝绸之路的资产是一个”有趣的“行为。此外,通过注释系统的鉴定,我们的系统发现了丝绸之路与现实用户之间的密切联系。
3.背景
最近,有几项研究【3,2,4】提出了比特币交易中潜在的隐私性局限。【3】借助外部信息资源,并使用文本发现和流分析技术整合这些信息,来调查一个被指控的窃贼。【4】另一方面,分析交易图形的统计特征,来回答关于典型的用户行为的问题,诸如花费习惯,收入习惯,同一用户的不同账户之间的流动习惯等等。为了实现在比特币图形中更加严格的隐私性,【2】的作者建议在比特币增加一个扩展,让比特币协议支持完全匿名的货币交易。
4.威胁模型
4.1攻击者目标:绑定交易的“真实”姓名
这里所说的“真名”可能是某人的真实姓名,也可能是一个在线公共论坛(或者任何其他公共数据资源)的用户名。目标是将大量互不关联的加密ID与一个真实的用户联系起来。
4.2 攻击者能力
首先,一个攻击者进入并获取所有的公共信息,包括论坛,捐赠站点,公共社交网络等等,攻击者可以在这里抓取有意或无意泄露出的比特币地址。也就是说,攻击者可能从网站上直接获取“实名”与公钥的匹配。
第二,攻击者也可能从已知用户处“偷听”不精确的交易信息。比如,一个攻击者可能偷听到“爱丽丝,我是鲍勃,昨天中午我给你发了100美元的比特币。”也就是说,攻击者可能听到“实名”与一些粗糙的交易信息的匹配。
图4:由不确定的时间和近似的美元价值,圈定的不确定的交易数量
继续这一部分开始时的例子,假设交易发生在2012年3月,我们会有10%的概率确定鲍勃的正确公钥。
无论是通过时间指纹工具还是通过抓取在线资源的数据,我们可以给区块链添加额外的,确定用户身份的注释信息。在前面的例子中,注释可能会存在相关概率。
5.3 图形分析
我们开发了一个图形分析框架,可以通过公开可获得的信息,比如抓取比特币论坛用户信息,或者分析比特币交易信息,来反匿名化用户的身份。图5展示了框架的不同部分。
图5:图形分析路线,用于展示用户身份,构建用户网络图形,在网页抓取结果图中标示用户
5.3.1交易图形
一旦交易从区块链中提取出来,我们就构建一个交易图形,展示随着时间,公钥比特币的流动。而且,交易图形是一个有向图形,其中节点表示匿名个体或者“团体”的公共地址,有向边界则表示从来源地址到目标地址的特定交易。因为无论是来源还是目标“团体”,都可以人为的为每一个子交易创在新的公钥-私钥对,所以很多公钥地址在交易图形中可能仅出现一次或少数几次。还有,现在,在区块链上的典型交易都是多输入/多输出交易。更多的细节请看【1】。我们使用了与【2】相似的技术,来整理图形中的交易。在我们的实验中,我们在2013年10月25日创建了为期24小时的交易图形。图形包括89806个交易,有80030个独立的公钥地址。我们也创建了为期7个月的交易图形,包含2013年3月到10月的1669728次交易,当时是试图揭示比特币论坛用户与丝绸之路节点之间任何可能的联系。后来丝绸之路倒掉了。
5.3.2用户图形
在这一部分,我们关注为期一天的交易图形,在使用了我们的图形分析算法之后,构建和描述特定行为变得可视化了起来。使用交易图形,我们构建一个代理有向图形,成为用户图形U,这与【2】中描述的相似,不过用户或者团体,是由在独立交易中使用的公钥地址组成的。就像在【1】中提到的,我们将多输入交易合并,认为他们是一个用户发起的。由于多输入公钥被合并在一起,这就允许我们以在所有的交易中涉及的公钥地址集合终止传递的方式,创建用户图形。我们使用现存的工具,来构建团体/用户图形,图形中定点代表真实的团体/用户,边界代表来源用户和目标用户之间的交易。由于我们使用24小时的时间期限来构建用户图形,我们的用户网络并不能完美代表真实的用户网络,因为在这个时间段之前或之后出现的公钥地址可能恰好没有发生活动。2013年10月25日的用户图形包含54941个用户和89806次交易。
图6:一个2013年10月25日的“团体”图形。标示了前30位的页面等级节点。尽管很多用户是难以追踪的,但是社区,单一团体和大量交易等等多种不同的活动和网络行为还是很引人注目的。
5.4页面等级
由于在有向的用户图形中,比特币交易的本质,我们可以直接看到这张图与搜索引擎构建的图的相似性。绝大多数搜素引擎,尤其是谷歌,使用页面等级来最为区分网站重要性的维度。显而易见,在有向图形中算法青睐的节点,是最容易获得的,或者在我们的例子中,得到足够多的交易的节点,被标示为重要。我们将页面等级作为一个指南,来指示在我们的用户图形中,最有意思的节点,或者用户,进一步来调查他们与我们已知的论坛用户之间的联系。图6展示了2013年10月25日的用户图形,用更大的节点面积表示了最高页面等级的节点。正如预料的,绝大多数用户在这张图中没有连上,这意味着这些节点并不是十分重要,因为他们对其他用户没有吸引力。另一方面,人们注意到了几种与社区、单一团体相关的活动或者交易,甚至大量交易被加厚的边界标示出来。通过在BlockChain.info获得的最活跃公钥地址数据,我们可以得出,其中一个单一团体节点,具备搞得输入和输出,它实际上就是比特币赌博网站中本聪骰子。
5.5用户去匿名化
一个非常有趣的行为是没收丝绸之路基金,通过445次交易将324个比特币转移到人们所知的FBI的地址上。我们的图形分析算法得出,这个特殊的FBI地址是一个具备高重要性(高页面等级节点)的用户。这验证了我们的算法,在大致选出我们感兴趣的节点时的有效性,我们可以进一步调查这些高页面等级的节点。具备这种信息和页面抓取的比特币论坛用户信息,我们还能反推,从交易反推到比特币论坛用户,发现他们刚刚与丝绸之路节点一步之遥,这意味着论坛用户刚刚与以为丝绸之路的用户完成了一笔交易。由于DPR在这个月早期被捕,我们分析了他被捕之前7个月的交易(2013年3月25日到2013年10月25日)。我们还能发现多个比特币论坛用户与中本聪骰子网站的交易,意味着他们在这7个月中,可能进行了赌博。更有趣的是,我们还发现了一些论坛用户与维基解密之间的直接交易。
图7::2013年10月25日的交易图形。显示了高页面等级节点,并用网页抓取结果注释了第一级边界。几个值得注意的活动,包括没收丝绸之路的比特币转进FBI的地址,成为高等级节点。
6.结论
总而言之,我们通过借助几个可以公开获得的信息,包括网页抓取和比特币交易账单,显示,比特币交易网络并不是完全匿名的。更进一步说,我们能够发现,有的比特币论坛用户与丝绸之路节点中间只差一个中间人。我们还能成功的发现比特币论坛用户与中本聪骰子、维基解密之间的直接交易,这暗示,他们可能与这些团体有来往、有牵连或者支持他们。
参考文献:
[1] Satoshi Nakamoto. Bitcoin: A peer-to-peer electronic cash system.
[2] Fergal Reid and Martin Harrigan. An Analysis of Anonymity in the Bitcoin System. arXiv, 2011.
[3] Dorit Ron and Adi Shamir. How did dread pirate roberts acquire and protect his bitcoin wealth?
[4] Dorit Ron and Adi Shamir. Quantitative analysis of the full bitcoin transaction graph. Cryptology ePrint
Archive, Report 2012/584, 2012.
上一篇:两阳夹一阴(多方炮)图形讲解