当前位置:首页 > 比特币新闻 > 正文

比特币交易图形分析

来源: 互联网时间:2015-06-28 10:54:00

h

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美元的比特币。”也就是说,攻击者可能听到“实名”与一些粗糙的交易信息的匹配。

QQ图片20150628090301图一,左边,注释交易图形。右边,丝绸之路的所有者DPR在bitcointalk.org论坛上无意泄露了他的公钥。

QQ图片20150628090419

图二:攻击模型

5.实现

在这一部分,我们将描述上面说的几个步骤,包括通过可获得的公共交易信息,展示比特币用户的行为信息。就像之前的部分描述的,我们既使用统计的方法研究,也是用限定性的方法调查。

5.1预处理

上述两种研究的前提是,原始交易必须从整个区块链上提取出来。到2013年12月13日,大约有275000个区块已经在比特币区块链上被铸造出来。每一个区块都包含数百个交易。我们在接下来的部分描述区块链解析。

5.1.1 区块链解析

标准比特币客户端bitcoin-0.8.5会自动以P2P的形式下载整个区块链,我们发现从3下载bt种子2会显著的减少同步时间。同步完成后剩余的区块更新是比特币客户端自动进行的。之前的研究【2,4】使用了一个被分叉掉的版本bitcointools,新的比特币客户端使用LevelDB索引整个区块连,使得bitcointools不再可用。我们使用的是Armory,来解析区块链,书写萃取用来构建交易图形的相关信息的打包级别。【译者注:懒得写注释,愿意深入了解的自家谷歌。】

5.1.2 网页抓取

很多比特币用户,尤其是早期接受者,很愿意将比特币应用推进到更加主流的公共应用中。他们这么做的一个方式就是试图鼓励交易。一个常见的做法就是将比特币地址像签名一样粘在邮件或者论坛帖子的末尾。尤其在论坛帖子中,用户写了一个新的挖矿软件的帖子,或者教新手如何使用比特币的指导贴,然后他们将比特币地址填在签名区。希望从那些觉得他们的帖子很有价值的论坛读者那里获得打赏。这种行为对区块链的匿名性构成了天然的攻击渠道。我们可以容易的将用户信息同区块链上的交易联系起来。

我们使用了一个叫Scrapy的python包来获取和分析论坛页面(图3)。我们写了个爬虫来爬bitcointalk.org论坛的帖子签名,然后我们获取字符串,然后确认它是合法的比特币公钥(比特币地址包含内在的校验)。

QQ图片20150628090507

图3:一个典型包含比特币地址的签名行

我们能够发现大量的论坛用户,可以直接将他们的公钥与交易图形联系在一起。我们的抓取代码运行了不到30个小时,在此期间抓取范围从首页往下四级延伸,总共遍历包含比特币地址的44086个页面和89088个帖子,在其中,我们发现2322个用户和2404个地址通过了我们的验证。

5.2交易指纹

在这里,我们分析一下,通过粗糙的关于交易时间和价值的信息,把它们与区块链中确定的某个交易关联到一起的难度。比如,我们听到鲍勃对爱丽丝说,我昨天中午发送给你100美元的比特币,我们要检验一下在区块链中发现这样一个匹配的交易的难度。我们假设比特币的价值在昨天浮动了1美元,而中午这个时间前后浮动为5分钟。这样我们就有了一系列可以备选的交易来检查。继续这个例子,我们首先使用BlockChain上的市场价格将美元转换为比特币,之后,我们检验所有发生在99到101美元区间并发生在11:55到12:05时间段的交易。

为了将这个例子一般化,我们检查区块链上的每一个交易,然后创建不同数值的时间窗口和美元价值窗口,来看一看多少其他的交易会符合新的窗口标准。下图显示了,对于给定的美元和时间窗口,符合某一交易条件的交易的平均数量。随着时间的前进,比特币变得越来越流行,所以近几个月会有更多的备选交易符合给定的美元和时间标准。

QQ图片20150628091632

图4:由不确定的时间和近似的美元价值,圈定的不确定的交易数量

继续这一部分开始时的例子,假设交易发生在2012年3月,我们会有10%的概率确定鲍勃的正确公钥。

无论是通过时间指纹工具还是通过抓取在线资源的数据,我们可以给区块链添加额外的,确定用户身份的注释信息。在前面的例子中,注释可能会存在相关概率。

5.3 图形分析

我们开发了一个图形分析框架,可以通过公开可获得的信息,比如抓取比特币论坛用户信息,或者分析比特币交易信息,来反匿名化用户的身份。图5展示了框架的不同部分。

QQ图片20150628091834

图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次交易。

QQ图片20150628092006

图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个月中,可能进行了赌博。更有趣的是,我们还发现了一些论坛用户与维基解密之间的直接交易。

QQ图片20150628092150

图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. http://eprint.iacr.org/.

原文:http://people.csail.mit.edu/spillai/data/papers/bitcoin-transaction-graph-analysis.pdf
作者:Michael Fleder & Michael S. Kester & Sudeep Pillai
译者:面神护法
打赏地址:1AgQhZScPTYeZdz5zQ86Nr4dwhX1RPXkXC
责编:printemps
稿源(译):资讯

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。