【智能与法】李小恺:比特币去匿名性调查
B D A I L C
欢 迎 关 注
虽然在直观的交易过程中看似与一般的在线支付没有区别,但是利用公钥加密技术,比特币交易在网络通讯层面上可以构成严密的“区块链”,形成去中心化的分布式账本,并利用公钥作为“假名”实现交易过程的匿名化,使其天然成为了犯罪活动完美的“专属货币”。要对利用比特币实施的犯罪活动进行侦查和取证,就必须对比特币交易进行去匿名化,基本思路是将网络上传输交易信息的各环节与交易参与者的现实身份信息相关联,通过比特币自身所提供的完全公开的、非常完整的且不可被修改的账簿中掌握整个交易过程的实情。目前,实现这一思路的方法主要有通信关系分析法和交易业务分析法,而这两种方法互相配合的去匿名化效果更好。
Dmitry Spiros
文 / 中国政法大学刑事司法学院 李小恺
在信息技术领域里,近几年最火的三个名词就是“大数据”、“人工智能”和“区块链”。区块链这个名词相对比较陌生,但是“比特币”会更为熟悉,比特币就是区块链技术到目前为止影响力最大的一项应用成果。
也许在未来的某一天,比特币能够成为全球经济体系中获得广泛认可的货币种类。但是在此之前,比特币在全球所扮演的主要角色竟然是犯罪活动和恐怖主义活动的“专用货币”,原因在于其交易具有非常好的“匿名性”。特别是在各类跨境犯罪中,比特币为犯罪团伙及其上下游黑色产业链之间提供了匿名性良好的支付工具和支付渠道,给打击犯罪活动维护地区安全带来了非常大的阻碍。
因此,作为现代信息技术应用的代表,比特币在交易中的匿名性给刑事司法带来了的挑战是显而易见的。如何在调查犯罪活动时追踪比特币的交易,以及如何在犯罪预防中对比特币进行有效监管,这是应对比特币给地区安全所带来风险的核心环节。而这其中,对比特币的“去匿名性”就成为了关键。
01
比特币简介及其在犯罪活动中的使用
(一)比特币简介
2009年,一个化名为“中本聪”的未知开发者发明了一种基于区块链技术的虚拟货币机制,即比特币。[1]这种新型货币一经出现,就被认为是解决现有互联网商务中固有弱点的最佳工具。这种弱点就是,“互联网上的商务已经完全依赖于作为值得信赖的第三方来处理电子支付的金融机构。”[2]
比特币是一种开源的、分布式的、点对点的数字货币,[3]不仅仅是可以代替现有的实体货币的一串串电子数据这么简单,所有这些能够使其备受瞩目的优点都是来自于比特币在交易过程中对原有货币体系的颠覆。因此,与其说人们是在接受一种虚拟形态的货币,不如说是在接受虚拟世界建立起的新的货币交易模式和货币体系。
在现有的货币和金融体系中,“互联网上的商务活动已经完全依赖于那些值得信赖的受理电子支付的第三方金融机构。”[4]由于“中心”的存在,对货币的处理不是像线下零售贸易那样面对面的直接支付,而是要在第三方支付平台处进行“一进一出”两次额外交易,增加了货币流通的环节,也给支付双方增加了支付的成本,也容易导致货币的收支活动受到来自这些“中心”的约束,甚至是被彻底控制。特别是在政府监管政策、税收政策以及相关法律法规发生变化,或者第三方支付平台的企业战略、经营情况、股权结构等经营情况发生变化,都可能会通过这个货币流转的“中心”给整个支付活动增加不必要的成本增加,甚至是直接造成阻碍。
人们已经习惯于依赖一个中立的第三方平台(包括银行在内)来处理甚至监管整个货币交易过程,原因在于第三方平台能够对货币交易提供可靠性保障。当货币数字化或者以“数字货币”的形式存在于互联网后,必然会缺少实体货币的唯一性[5],此时就必须有一种准确全面的账目管理机制,以保证数字货币不会在互联网的虚拟空间中被“二次使用”。[6]因此,对于第三方支付平台或者在线金融机构而言,其主要作用就是“必须保障账户持有人的分类账簿的平衡……如果没有这样的中介机构存在,数字资金就有可能被二次利用。”[7]而这种为防止货币被“二次使用”的“记账”功能才是在现有货币体系下必须要设置第三方支付平台的原因。
在这个问题上,比特币的支付系统对交易账目采取的是分布式存储。在其协议中,所有比特币的使用者都有一个相同的分户账副本,可以用来确定相应钱款在每一次交易中的借方和贷方,通过在达成交易前的比对程序,来确保不会出现二次使用问题,这种“分布式记账”所借助的技术就是本文最开始提到的“区块链”。基于这种技术,在使用比特币时,一个付款的人可以不经任何第三方支付平台追踪记录并管理钱款的借方和贷方,就能够直接转账给收款人。在比特币的交易中,将由每一个比特币用户的客户端来共同执行原本由第三方支付平台所提供的会计功能。
正是因为匿名性才将比特币和犯罪紧密的联系在了一起。对于比特币的匿名性,一直以来都存在着一种普遍的误解,那就是将其视作一种绝对意义上的匿名。实际上根据本问对比特币的介绍就可以看出,因为必须要承担原有第三方交易平台的会计记账功能,并且要严格比对借贷或者交易双方以防止货币的“二次交易”,所以在比特币的区块中必须要能够记录所有的交易情况和交易主体,并且要形成严密的“链”。实际上,线上交易的所有细节信息已经被区块链记录下来,并且是在每一个比特币客户端都有“复本”的存在,难以被修改和磨灭。因此,比特币其实并不是一种真正的匿名性货币。[8]“比特币支付系统具有直观性质即尽管资金的所有权是隐含匿名的,其流动性却是全局可见的。”[9]而所谓的“匿名”仅仅是数字身份或者虚拟身份还没有与现实身份关联起来,这实际上也是互联网时代对所有网络犯罪行为进行追查时都会面临的共性问题。
(二)比特币在犯罪活动中的使用
目前,在犯罪活动中,比特币已经成为名副其实的“主流货币”。比特币被广泛用于犯罪用途,这是比特币支付系统在确立其合法性形象时所面临的最大挑战。各国政府、媒体以及大多数社会公众在提到比特币时,总是不可避免的将其与犯罪活动、犯罪组织联系在一起,甚至有观点认为这种支付系统就是天然为犯罪提供服务的。[10]而之所以存在这种观点,主要是因为比特币在交易中的匿名性,这使得货币交易行为很难被追踪。美国联邦调查局根据其情报系统给出的结论指出,比特币支付系统是“为个人提供转移资产、洗钱和窃取非法资金等行为的匿名平台。”[11]另外,由于比特币支付系统已经不存在像银行等金融机构的集中授权管理,因此在对犯罪行为的侦查、用户的身份确认以及保障交易记录的信息安全等方面的工作,都将面临无从下手的局面。
2011年初,名为“丝绸之路”的网上黑市成立,到了2013年10月,美国联邦政府关闭了该网站并没收了其财产。[12]丝绸之路网上黑市是由Ross Ulbricht利用用网名the Dread Pirate Roberts创建、持有并操控的,他最后因毒品交易、洗钱等七项指控被定罪。[13]在其运行期间,该网站为毒品交易、伪造政府公文以及其他违禁货物和服务提供了一个在线的市场。[14]丝绸之路运行在“暗网”中,即通过类似谷歌等索引搜索引擎不能访问的互联网部分。[15]该线上黑市的交易主要依赖比特币作为其基本的支付方式。“比特币的匿名性允许购买者在线匿名购买非法商品,而其交易的便利性与直接使用现金交易完全没有两样。”[16]丝绸之路已被美国司法界确立为“利用比特币在线上市场实现藐视执法者和税收人员的典型例子。”[17]这样的事例比比皆是,才会导致现在与越来越多的人将比特币视为犯罪工具。
国内外都已经有司法机关发现了利用比特币实施犯罪的案件。由于比特币在许多国家并未被认可为货币[18],并且比特币实际上是以电子数据的形式存储在各类存储介质中的,因此多数国家在刑事司法活动中都是将比特币视作电子数据证据调查的范畴,而非货币或者经济方面的调查。然而,在这些调查和取证活动中,侦查人员和司法人员总是要面临一个同样的难题:如何确定涉案的特定比特币究竟涉及了什么样的交易以及这其中具体的交易过程是怎样的,所要确认的事实至少要包括交易的时间和交易的双方主体。比特币的交易过程才是它与传统货币之间最大的区别,因此原有针对传统货币交易的调查思路显然是无法完成这项任务。同时,比特币还具有“去中心化”的特点,这意味着任何一个国家现有的货币管理机关也都无法对比特币交易实施有效的监管。在缺乏有效监管的情况下,最终的结果是这其中只有少数罪犯会被逮捕,还有许多案件尚处于未能立案甚至未被发现的状态。
“如同现金一般,比特币既可被用于非法活动,也可被用于合法的正常经济活动。”[19]比特币的支持者之所以一直在用户比特币在一定程度上保持匿名性是正当的,实际上是担心政府会对比特币采取过度管制以应对比特币支付系统对所谓“政府金融体系”带来的冲击。[20]比特币基金会的首席法律顾问建议美国参议院“与比特币用户群体进行灵活且明知的互动,这样才能使法律以及执法者被用以保护社会公众,而不是被用来扼杀创新并阻碍经济增长。”[21]同时他还指出,比特币支付系统“必然会给执法者带来全新的挑战,……但在比特币的交易环境中,我们所期望的给执法者带来的只是思维的转变,而并非增加执法的难度。”[22]尽管如此,比特币匿名性被犯罪活动加以利用,确实对侦查和取证工作带来了相当大的挑战。事实上,目前解决这个问题的路线只有一个,即利用新的工具和方法让非法使用比特币的参与者在这个交易过程中“去匿名化”。
国内各领域对比特币的认识也在不断增强,并且也已经出现了少数已知刑事案件涉及到比特币。但是与其他国家一样,我国侦查机关和公诉机关在面临比特币时,也同样陷入了困境。
因此,在全民关注比特币“ICO”问题[23]的同时,我们有必要将目光重新聚焦回比特币自始至终都未曾改变过的一个难题:如何破解比特币的匿名性,如何在案件中对比特币的交易过程进行调查、取证以及充分的证明。
02
比特币的“匿名”支付机制
为了应对比特币给刑事司法带来的挑战,必须要解决比特币匿名性的问题,而在此之前,首要的工作应当是对比特币的支付机制有一定程度的了解,并从中找到切入点。那么,比特币究竟是如何进行交易的呢?为了便于讨论,本文假定一个简单的交易例子:A是消费付款人而B是商家收款人,A想要用比特币向B支付货物和服务的费用,总额为1.2比特币。对这样一个最简单的支付模型,下面我们从两个层面来进行理解:一个是比特币用户直观的交易过程,是一种宏观的、外在的体验;另一个则是比特币交易的网络通信过程,这个层面也是最底层的数据痕迹所在。
(一)比特币用户直观的交易过程
使用比特币的用户在进行支付时,实际上与现有其他类型的线上支付机制很相似,例如支付宝或者网银。为了进行交易,付款人和收款人都需要通过某网站或者应用来实现转出及接收比特币的操作,而这些需要通过使用比特币支付系统的客户端[24]来实现。客户端有多种多样的形式,例如桌面版应用、移动应用等,且每一种都有其自身的优势和劣势。[25]
尽管不同形式的客户端在特性和功能上会各有不同,例如有的具备维护网络和文件安全性的功能,带有备份选项和其他与网络健康相关的信息。[26]但是,所有客户端都必须具备一项最基本的功能,即保存一个钱包文件(walle file)。这个钱包文件包含了比特币地址信息,这是整个比特币交易过程中最为重要的信息。比特币地址是表示比特币要支付的目的地的遗传26到35个字符组成的字符串。每个比特币地址都有其自身比特币的“余额“信息。要想增加比特币的余额共有三种方法:第一,通过支付、赠送等方式从别人那里直接接受比特币;第二,从交易所或者当地经销商处购买比特币;第三,挖掘比特币,并成为比特币的初始拥有者。
在之前假定的交易例子中,A和B并不需要使用同一个客户端,也不一定非要以同种形式接入客户端。比如,A的电脑操作系统为windows,他使用的是桌面版客户端Multbit,通过检查余额发现他还有5个比特币,是之前从交易所使用美元购买的。相应的,B则使用了一种联机网络客户端(名为CoinBase)来接受A的比特币支付。在开始交易时,B首先使用其客户端创建一个新的比特币地址,这个操作可以通过点击客户端上“创建新地址”的按钮来实现,操作后即可得到一个新的比特币地址,例如3D73hgWqPR36MQatxnwsuktpEVkeFhPNjy;之后,B将该地址发给A,并指示其将1.2比特币发送到该地址完成付款;A在收到地址后,运行其客户端MultiBit,点击“发送”并输入B发送给他的比特币地址,输入其想要发送的比特币数量(即1.2比特币)并最终确认上述操作,这样A和B之间的比特币支付操作就全部完成了。
这个过程看似是单纯的电子数据指令和信息在A和B之间传送,但是如果A只是发送一条含有交易信息的数据给B,就好像在微信中发送一条信息一样,那么交易本应在瞬间就可以完成。可是事实上,比特币的交易并非看上去这么简单,正如前文所言,比特币支付系统采用分布式记账的方式替代了原有的第三方支付平台的会计和审计功能,因此,在比特币交易时还需要运用这套机制对交易进行网络验证,而这个过程可能需要花费将近1小时的时间。
因此,尽管实际的交易过程与传统货币的支付有很大差别,但是这都是体现在网络通信层面,终端用户是无法直观体验到的吗,他们只需要理解这个操作是在他们的客户端之间进行数据通信就足够了(如图1所示):
图1:客户端之间的直观交易过程[27]
(二)比特币交易的实际数据进程
然而,要对比特币的交易过程进行审查甚至追踪的话,就需要对背后的实际数据进程进行更加深入的分析,也只有这样才能真正了解如何去处比特币匿名性的理论原理和技术途径。(图2所展现的就是一次比特币交易的基础数据进程演示)
图2:完整的比特币交易数据传输过程示意图[28]
要理解图中这些细致的交易进程,首先是要形成这样一个基本认识:比特币并不是能被指向的特定物或特定货币,即不能把它简单当做是某种货币的表现形式变成了数字化[29],它实质上只是一段对交易过程的记录。[30]在以1比特币为讨论对象时,其实并不是像谈论一张100元人民币或一块金子那样具有一个特定的物理对象,也不是像一分电子文件有一个数字形态的对象,其在交易过程中所谓的存储或者传输也并不是某个特定物的转移或者交付过程。相反的“任何一枚比特币都应被看做是一个链记录,严格记录每一笔从一个所有者到另一个所有者的交易过程,在这之中参与每一笔交易的所有者都拥有一个代号或者假名而非其真实的身份作为其标识,即他们所使用的公钥。”[31]
换句话说,比特币交易的过程,实际上就是在一个账本中追加记录一笔交易的过程,所谓的比特币只存在于账本的账目中,而直观上看到的交易的标的物不过是记录着完整交易账目的账本。
由图3可见,从源头到所有者1,从所有者1到所有者2,从所有者3到所有者4,这一系列的一组交易记录加在一起构建起了一比特币。
图3:交易历史显示出的多个地址间交易路径[32]
在这个过程中,涉及到了两个重要的技术问题:公钥加密技术和交易信息的链式记录。
1、公钥加密技术
在上面解析中,提到了作为交易参与者身份标识的名词:公钥。这是一个密码学领域的概念,与之对应的还有一个概念叫做“私钥”,属于非对称密码体系,也被称为公钥加密技术。[33]在比特币交易过程中,公钥的最初作用并不仅仅是用来作为交易参与者的身份标识,而是用非对称密码技术来核实从比特币的一个所有者到另一个所有者的交易过程是否符合要求,并且阻止资金在这个过程中发生二次使用的现象。[34]
还是以之前假定的那笔交易为例,公钥加密技术的使用要求A和 B各自拥有自己的加密密钥对: 一个私钥及相匹配的公钥。[35]在用户利用客户端创建了一个新的比特币地址的同时,也会创建一组这样的密钥。具体而言,当B创建一个新的比特币地址以接受A的支付时,其真正有意义的操作就是创建了一组由一个私钥和一个公钥组成的密钥对。其中,较为私密的只能由B独自掌握并知晓的私钥是B自己保存在其客户端的钱包文件中;而公钥并不像私钥一样能起到最终验证交易的关键作用,它可以被任何人知晓且不会影响到货币的安全,也就是说该公钥是可以向每一个用户公开和共享的。由此可知,公钥和私钥这一对密钥都是B所独有的,公钥是B可以公示给他人的而私钥不能,所以用公钥来代表B在交易中向其他人表明其独一无二的身份非常合适。我们之前一直说的“新比特币的地址”,实际上就是B所使用的一个公钥的散列值[36],而这个公钥在之后可以配合与之相对应的私钥验证其所标识的任何与交易有关的信息。
2、交易信息
比特币支付系统采用公钥加密技术,就是要在交易中解决这样的疑问:怎样才能A向B支付1.2比特币的行为是经过授权的、合法的?这里又包含三个具体的问题:A是不是这1.2比特币的拥有者?其在线支付的对象是不是B?B是否最终收到并拥有这1.2比特币?在整个交易进程中,正是因为使用了公钥加密技术,A和B才能可靠地创建属于自己的签名信息,也正是利用这一点,才能够对交易信息进行审核。
每一笔比特币的交易都包含一条向比特币交易的所有参与者发送的公共信息,其内容是当前的收款人将成为付款人所支付比特币的新的拥有者。例如,当A操作其客户端向B的地址支付1.2比特币时,这条简单的交易信息里实际上是包含了三个具体信息:一是比特币的源头,即A存有比特币的地址;二是A要向B发送的比特币数量(1.2);三是比特币的输出方向,即B接收比特币的地址。[37]这条信息被A所要支付出去的比特币的地址(也就是A的公钥)相对应的私钥进行签名,在没有A所掌握的私钥的情况下,其他人只能利用A的公钥去查看和验证这个签名是否是A所做。由于A的公钥是公开,因此所有交易参与者都能够看到这条消息并确认其真实性,进而确认B即将接收的1.2比特币在之前是由A所有,而接下来B将成为其新的拥有者。试想一下,从涉及这次交易的比特币最初诞生开始,它的每一笔交易或者是在每一次“所有者易手”时都会进行一次同样的信息处理进程,这样就可以从头至尾形成一个关于交易信息的可追踪的链式记录(如下图所示)。
上述的每笔交易信息都会以广播的形式被发送至比特币网络,并分组形成所谓的“区块”,这些区块相互链接就形成了所谓的“区块链”,这也就是所有比特币交易的公共账簿,每个参与者都可以在这里看到比特币的每一手交易记录,并可以利用自身在比特币网络的节点上所拥有的账簿副本对这个账目进行核对和确认。当新的交易信息被提交时,只有被其他参与者的账簿进行确认,才会加入到区块链中,即代表着交易达成。越多的参与者进行确认,就越能保证交易不会涉及到比特币的“二次交易”问题,也越能确保交易不会被撤销。因此,区块链这种账簿并不是由“央行”或者某个第三方支付平台来记录的,其每个部分都是由比特币网络中的各个节点来维系和更新。由于比特币网络中的每个节点都记录着所有的交易信息,这也就是所谓的分布式记账,那么二次交易以及交易欺诈等问题发生的可能性就会因此大幅降低甚至消除。此时,一个区块的形成,进而与之前的区块合并为区块链的过程,就承担了验证交易业务的功能,而这个功能本来是由第三方支付平台或者银行来实现的。
综上所述,比特币的交易参与者们通过生成一个或多个密钥对并公布其相关的比特币地址来接收比特币。如果一个支付方想要将比特币支付给收款方,他就会在遍布比特币网络的地方广播一个已签署的交易信息来宣告所有权转移,接受其他参与者的验证,并通过这些验证来确认这比交易的达成。通过上述的分析可以很容易的发现,整个交易并不需要任何机构来验证交易者的真实身份或者是银行信息等,只要一对密钥就可以解决所有的身份验证问题,这也就是为何说比特币是可以实现“完全匿名交易”的原因。
但是,这个过程本质上依然是具有现实身份的特定主体通过网络进行的信息通讯过程,这其中必然会留下各种痕迹,这也就是侦查和取证工作的对象,同样也是比特币交易监管得以实现的切入点。既然成千上万的交易在比特币网络特别是区块链中都被完整的记录着,那么这些痕迹显然也是会在这些地方被发现。
03
比特币的“去匿名性”的基本思路
尽管比特币在交易信息中并不需要涉及任何的个人身份信息,但是由于每一笔交易的信息都被交易主体用公钥密码技术固定下来,并记录在整个比特币网络的各节点以及区块链之中,因此所有比特币的交易又都是“无所遁形”且几乎不可能被修改的,那么从侦查和取证来看,这又应当是关于交易情况的最佳的线索和证据来源。
因此,“去匿名化”的基本思路已然摆在我们面前:只要能够将网络上传输交易信息的各环节与交易参与者的现实身份信息相关联,甚至实现人身同一认定,那么就有很大的希望通过比特币自身所提供的完全公开的、非常完整的且不可被修改的账簿中掌握整个交易过程的实情。
然而,这种思路并不是那么容易实现的。这里谈论的不是在现实空间中顺着足迹去寻找一个人的去向,或者如何根据DNA查到犯罪嫌疑人。网络上的通讯行为所留下的痕迹是由各式各样的电子数据呈现出来的,在所有网络犯罪案件侦查以及电子数据的审查判断工作中,最难以实现的就是对虚拟和现实的对应。因此,在理解了比特币所谓匿名交易的全过程后,真正摆在侦查和取证人员面前的难题就是如何在这些交易环节信息中找到与交易者真实身份信息相互交叉的节点。
目前,许多国家的学者都已经开始将比特币去匿名化或者部分去匿名化作为新兴的研究主题。这类研究通常会采取以下两种方式之一或者两者均采用:一是通信关系分析法,二是交易业务分析法。
(一)通信关系分析法
能够对比特币交易进行通信关系分析的基础,是比特币在对等网络(peer-to-peer,简称P2P)[38]通信中存在的固有缺陷:交易会显现出用户生成交易信息以及像其他人广播交易信息时的IP地址。通信关系分析的基本原理可以理解为:因为涉嫌犯罪的比特币交易者需要去其他人进行交易,同时还要把他的交易信息向其他人广播并不断接受验证,因此他必须要在比特币对等连接网络上的其他节点进行连接。而当其连接到其他节点时,他的IP地址也将在这个节点被计入“账簿”并广而告之。所以,如果一名违法者连接了足够多的节点,那么其IP地址信息就很容易在这些公开可查的信息中采集到。目前,从网络通信关系层面对比特币的追踪和去匿名化研究大多都是采用这种方式或是基于这种方式的某种改进方案。
要更加深入的理解这种分析方式,需要首先理解比特币是如何在P2P网络中传输的。
比特币的交易体系是由分布在互联网上的每一个节点的客户端软件通过相互之间的点对点传输组成网络,而每个正在运行的客户端软件又与其他通信的比特币的参与者相连,即整个比特币交易通信网络是由一个个的个体人之间相互通信构成的没有信息中心进行监管或控制的网络,这就是比特币对等网络。[39]
在本文所假定的交易中,当A发出交易通告信息称他将支付1.2比特币给B时,他电脑中的客户端就会发送一个信息给最近的节点,即输入节点。这个消息让该输入节点知道发生了交易业务或产生了区块信息。此时,输入节点将向A请求完整的交易业务信息。在收到完整的交易业务数据后,输入节点会决定该数据是否正当有效。如果交易数据是有效的,那么输入节点将用与A相同的方式进一步向网络中的下一个节点传送这些数据,就这样由一个传给下一个,这个流程将持续下去直到所有节点都已经收到了消息,已经收到过信息的节点就不会再重复接收了。
在这个过程中,IP地址也借助类似的逻辑被传遍整个网络。在比特币的传输协议中,IP地址的传播本来是要帮助一个节点发现网络上的其他节点。每24小时,接入网络的计算机都会给与它们建立输出连接的输入节点发送出一个地址信息。地址消息中就包含着计算机的IP地址。除此之外,每台计算机都会在连接状态下向其输入节点通告自己的IP地址。由于这种机制的存在,在比特币支付网络系统中可以确保每个节点都知道此刻哪个IP地址正连接在网络上。
所谓通信关系分析实际上就是利用这些行为来发现被寻找客体的IP地址。在这个领域目前研究较为深入的是卢森堡大学的AlexBiryukov教授[40],根据其研究,对比特币的通信关系分析可以通过以下四个步骤来实现[41]:
第一,获得节点的列表,并在比特币网络中连接到尽可能多的服务器(作为服务器的节点)。调查者可以通过发送“获取地址”指令获取整个节点列表的。在该过程中,会发现每一个服务器上所建立的五十个连接。在Biryukov教授的研究中,约搜集到8000个可连接上的服务器节点,每个服务器均可以同时容纳117个输入连接。[42]
第二,组建一个针对地址信息的列表作为“靶标”。这些靶标可以通过各种其他信息来源加以收集,如电信运营商分配给个人网络服务提供者的IP地址范围、在线论坛发帖所显示的IP地址以及其他数据库中已存有的IP地址列表,这些IP地址最好能够与一定的真实身份信息或者现实地理信息相关联。
第三,将这些靶标指向它们的输入节点,并尝试找到这些靶标的方法。当某个靶标连接到一个输入节点时,就会向他人宣告自己的IP地址。如果能够连接上全部或大部分的服务器/输入节点,那么就能够注意到,哪些服务器接收了从哪个靶标来的IP地址。在Biryukov教授的研究中,他估算出一般只需要三个服务器/输入节点就能够对作为靶标的交易者进行交叉定位,并唯一确定该靶标的身份。[43]而对于大部分的靶标而言,有时候两个输入节点也可以达到效果。
第四,将交易业务与靶标的输入节点相匹配。研究人员在其已建立的连接中监听宣告交易达成的通告信息。在找到一个交易业务时,研究者指出前十位的服务器地址会转发该通告信息。然后研究者对这些地址与靶标的输入节点进行比较。如果在这些转发了通告信息的地址与一个特定靶标的输入节点之中有两到三处相匹配的话,研究者可以得出这样的结论:该靶标发送了交易信息。
简言之,可以这样理解通信关系分析法:通过网络中数据在各IP节点传输的逻辑关系,逐步锁定发送交易信息的IP地址节点,进而确定交易主体。
(二)交易业务分析法
在通信关系分析法中,为了识别并监控实时交易以消除用户的匿名性,调查人员实际上是在对比特币P2P网络的通信进行监控。而相比之下,交易业务分析则是通过尝试找到在区块链中的交易模式和交易规律,从而找到参与者在现实世界中的信息。
在许多时候,如果P2P网络中的各种地址信息(例如IP地址信息)并没有任何与实际操作行为或者操作者在现实世界中的信息对应,那么仅凭通信关系分析是完全不可能将虚拟和现实关联在一起的,调查人员虽然可以追踪到比特币在网络IP地址间流动的轨迹,但是却无法最终消除实际用户在这个交易过程中的匿名性,即整个侦查过程只是在虚拟世界中进行而并未最终“落地”。
与之相比,交易业务分析则不同,在交易规律上网上交易行为总是会与线下在现实世界中的一些行为有关联,因此交易模式和交易规律本身就是网上和线下所共有的,这就很容易找到两个世界的交汇处。不论是传统货币还是虚拟货币,在本质上都是价值交换的工具,而只是被比特币的分布式账簿记录下拥有比特币是不能获取任何现实世界的价值的。因此,如果将比特币的交易过程扩展至其所有者将货币的价值最终予以实现的全过程就会发现,任何拥有者都不会甘于仅仅拥有区块链里的电子数据账簿和一堆密钥对,他们最终都会想办法将比特币变成现实世界中具有价值或者使用价值的等价物;从另一个角度来看,如果要取得比特币,除了最初通过“挖矿”来原始取得外[44],也需要通过交易取得,而这种交易的对价也只会是现实世界里的有价物。
由此可以得出这样的结论:比特币总是会流向一个虚拟世界与现实世界交汇的“瓶颈处”,最典型的代表就是比特币交易所[45]。在这个瓶颈地带,侦查机关能够有更多的机会去获得交易者在现实世界的身份信息,例如银行账号、股票账号、财产信息等,而这些信息就是去掉比特币账户持有者“匿名性”外衣的最佳依据。
目前,来自加州大学圣地亚哥分校和乔治梅森大学的Sarah Meiklejohn[46]等人是当前从事比特币交易业务分析领域研究最著名的代表。为了更好地理解其研究成果,首先需要了解比特币经济及其涉及的参与者。[47]
在Sarah Meiklejohn团队最后公开发表的研究成果中显示,截至2015年4月,每天会进行约105000次的比特币交易,同时伴随着价值约为40000000美元的交易量。这其中存在着许许多多的贸易中间商和交易服务的提供者,以处理各币种与比特币之间的汇兑、支付以及其他金融服务。截至2013年4月13日,网络上约有12056684个比特币地址。因为每个比特币地址都是唯一的,所以地址可以被认为是一个个的在线交易者的假名。然而,在现实中并不能对应出12056684个具体的人。无论是个人还是公司,作为参与者都可以不限量的创造新的比特币地址,而且并没有规则要求一个人只能创立唯一一个比特币地址。比特币的协议甚至是鼓励每个参与者尽可能多的创建比特币地址,因为这样的操作会有助于保护每笔交易的隐秘性。所以可能会有许多比特币地址实际上是对应到同一个个体、公司、贸易商或者服务提供者。
既然2013年就已经有超过1200万个比特币地址,那么显然如今要对所有这些地址都逐一进行追踪并进行通信关系分析是十分困难的任务。因此,为了“精简”要分析的虚拟身份的数量,必须要想办法把实际上属于同一个所有者的那些“假名”归类在一起。而这种归类的另一个好处就是,假如能够将这些归类后的“假名”中的任何一个和之前我们提到的“瓶颈”结合在一起,那么就可以一次性对许多虚拟身份和交易过程去匿名化。
那么,如何判断哪些比特币地址是属于同一个人并将其进行归类的呢?这就要利用比特币交易业务中所表现出的交易规律,并用这些规律来构建对比特币地址的基本归类逻辑。下面介绍两个关于交易规律的假设命题:
第一个,如果有两个(或更多)地址输入的是相同的交易业务,那么这些地址应当是由同一用户所控制的。[48]理由是如果没有足够的余额完成一笔交易,那么就会有来自多个地址的比特币纳入到此次交易,形成多地址对应一地址的局面,而由于进行交易必须要利用私钥才能完成,因此在通常情况下可以假定这项操作只能是同一个人来完成,因为私钥是很少被共享的,所以除了私钥的拥有者之外很难同时不同主体共享私钥来完成一笔交易的情形。换言之,在比特币的交易习惯中,只有控制者自己进行交易才能保障资金安全。
第二个,输入的支出地址和在交易中被更改的地址如果在列表中聚在一起,则这两个地址都属于同一用户控制。[49]该假设命题关注的是更改地址在区块链中的位置关系。举例来说,假如A有5比特币但是要向B支付1.2比特币,而记录在一个地址里的5比特币是不能被分割开的,因为它不是某种货币而是一个交易记录,因此,实际的交易过程是A将1.2比特币的记账地址后增加上B的地址以表示这1.2比特币交易给了B,而胜于的3.8比特币的记账地址后面则增加了一个由A自己创建的地址作为这3.8比特币的新地址。试想,如果A和B以后再进行支付的话,他们所有的3.8比特币和1.2比特币并不必然是同时交易或者同时被确认交易,因此在交易记录中这两个地址聚在一起的可能性不大;但是由于A的3.8比特币是来自于上一手交易时输入的5比特币的地址,因此这两个地址在列表中是聚在一起的。这就说明了,如果更改后的地址与原输入地址聚在一起,那么这两个地址是由同一个用户控制的。
于是,就是以这样的交易规律作为分析的基础逻辑,Sarah Meiklejohn团队的研究者收集了大量的现实空间数据和集群比特币地址,并以此作为其对比特币交易去匿名化的主要思路。[50]具体而言,主要有以下几个方面:
首先,是现实空间数据的采集,基本思路是通过与服务商进行大量交易,从而将那些被真实身份已知的主体所控制的比特币地址进行标记。例如,在与Bitstamp交易所交换货币时,就可以将所有涉及的地址标记为交易的公共地址,且改地址属于Bitstamp交易所。为了完成这一研究,研究者们与贸易商,交易所,钱包管理,矿工以及其他主体总共进行了344次交易。
其次,创建一个或者几个更易于管理的交易业务逻辑图来辅助分析,即利用前述的交易规律,将多组独一无二个人信息或实体比特币地址汇聚在一起,并对所有地址列表进行进一步的分析,按照实际控制者进行归类。
最后,将前面两项数据图进行交叉比对,即用比特币地址身份归类数据图与主动标记的实体数据图进行比较,并发现其中重合的、有交集的以及有关联的地址。在Meiklejohn的研究中,研究者控制了集群中一部分已被标记的交易业务。例如,研究者与Bitstamp[51]进行交易并将其标记为属于Bitstamp的比特币地址;之后如果得到了Bitstamp地址在一个归属于共同的控制者的数据集群中,那么该集群中其他所有地址就都可被视为属于Bitstamp。[52]
在经过这些对数据的收集、处理和分析过程后,Meiklejohn团队将12056684个比特币地址归入到3383904个不同集群之中。他们能够确定其中的2197个集群的真实地址,占据了综述超过180万的地址(下图为关联分析的可视化视图)。[53]
通过这些数据,研究人员得出这样的结论:各种服务对比特币交易体系至关重要。而最重要的是,这些集中的服务包括了比特币交易所,这是整个交易体系里匿名性保护最为脆弱的环节。包括罪犯在内的任何人,如果要大规模兑换比特币,就必须通过一个交易所将比特币转换为法定货币。而通过交易业务分析法所找到的最有价值的地址就是在每一串交易链条中的交易所地址,这里将是比特币去匿名化过程中最佳的侦查和取证场所,也是对比特币交易进行监控的最佳切入点。[54]
当然,交易业务分析法并非单独发挥作用的,通常情况下是作为通信关系分析的补充手段,二者相互配合使用。由于在比特币交易中,交易发起者的支付金额总是小于当前持有金额的,因此根据之前的第二个交易规律,即“输入的支出地址和在交易中被更改的地址如果在列表中聚在一起,则这两个地址都属于同一用户控制”,那么对于每一个比特币拥有者而言,只要其进行的交易次数足够多,其每次交易的余额存放的新地址都会链在一起,这样就会在交易记录中形成一条全都关联到他身上的地址串,这就好像是同一条蛇不断褪下的表皮一样。此时,利用通信关系分析对这些地址信息中的IP地址进行追踪和分析,并扩展至其他互联网信息数据库的话,就可能将他这层由假名组成的“皮”撕掉,露出他的真实身份,从而彻底的去匿名化。
参考文献
(请向下滑动)
[1] Satoshi Nakamoto,中文译名为“中本聪”,比特币的发明人。但是他究竟是一个开发者还是一个开发者组织,目前都尚未有明显的证据证明。参见Who Is Satoshi Nakamoto?, CoinDesk (Mar. 20,2015), http://www.coindesk.com/information/who-is-satoshi-nakamoto.
[2]参见Satoshi Nakamoto, Bitcoin: APeer-to-Peer Electronic Cash System 1 (2008),
https://Bitcoin.org/Bitcoin.pdf.
[3]参见Jerry Brito & Andrea Castillo, MercatusCenter at George Mason University, Bitcoin:A Primer for Policymakers 3 (2013),
http://mercatus.org/sites/default/files/Brito_BitcoinPrimer_v1.3.pdf.
[4]参见,SatoshiNakamoto, Bitcoin: A Peer-to-PeerElectronic Cash System 1 (2008), https://Bitcoin.org/Bitcoin.pdf.
[5]实体货币只有其物理上的原件本身才具有货币的价值,即“复制件”并不是货币。而在虚拟世界,电子数据本身并不具备有型的载体,并且其任何副本都是完全相同的,因此很难说哪一段电子数据就是唯一的,而用电子数据表征的货币信息也很难有“唯一性”可言。
[6]比方说,假如没有第三方中介机构, 在没有来自其账户的值得信赖的分类账记录或是Beth账户的信用记录的情况下,Al也能在线上转账 100美元给Beth . Al随后能将相同的100美元转给 Claire, 这就造成了资金的二次使用问题。参见Jerry Brito & Andrea Castillo, Mercatus Center at George Mason University,Bitcoin: A Primer for Policymakers 3(2013), http://mercatus.org/sites/default/files/Brito_BitcoinPrimer_v1.3.pdf.
[7]同上。
[8] Kate Knibbs, A FriendlyReminder: Bitcoin Is Not Anonymous, Gizmodo(Jan. 31, 2015),
http://gizmodo.com/a-friendly-reminder-Bitcoin-is-not-anonymous-1682885318.
[9] Sarah Meiklejohn et al., AFistful of Bitcoins: Characterizing Payments Among Men with No Names, in Proceedingsof the 2013 Internet Measurement Conference 127 (Oct. 23, 2013),
https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf.
[10]参见Yessi Bello Perez, Bitcoin inthe Headlines: Political Spin and Kidnapped Data, CoinDesk (Apr. 11, 2015), http://www.coindesk.com/Bitcoin-in-the-headlines-political-spin-kidnapped-data.Jim Edwards, CLAIM: Bitcoin Is Basicallyfor Criminals, Business Insider(Nov. 27, 2013,),
http://www.businessinsider.com/claim-Bitcoin-is-basically-for-criminals-2013-11.
[11] Federal Bureau ofInvestigation, Bitcoin VirtualCurrency: Unique Features Present Distinct Challenges for Deterring Illicit Activity1 (April 24, 2012),
http://www.wired.com/images_blogs/threatlevel/2012/05/Bitcoin-FBI.pdf.
[12] Sealed Complaint at 5-6, United States v. Ross William Ulbricht,No. 1:14-cr-00068-KBF (S.D.N.Y. Sept. 27, 2013).
[13]参见Andy Greenberg, Silk RoadMastermind Ross Ulbricht Convicted of All 7 Charges, Wired (Feb. 4, 2015),
http://www.wired.com/2015/02/silk-road-ross-ulbricht-verdict.
[14]参见Jerry Brito & Andrea Castillo, MercatusCenter at George Mason University, Bitcoin:A Primer for Policymakers 3 (2013), http://mercatus.org/sites/default/files/Brito_BitcoinPrimer_v1.3.pdf.
[15]参见Jose Pagliery, The Deep WebYou Don’t Know About, CNN (Mar. 10, 2014),
http://money.cnn.com/2014/03/10/technology/deep-web/index.html.
[16] Jerry Brito & Andrea Castillo, MercatusCenter at George Mason University, Bitcoin:A Primer for Policymakers 3 (2013),
http://mercatus.org/sites/default/files/Brito_BitcoinPrimer_v1.3.pdf.
[17] Andrew Leonard, A Bitcoin LibertarianDisaster: The Silk Road Gets Busted, Salon(Oct. 2, 2013, 1:05 PM), http://www.salon.com/2013/10/02/a_Bitcoin_libertarian_disaster_the_silk_road_gets_busted.
[18] 2017年,我国全面禁止提供比特币兑换、交易的服务,并频繁对比特币的经济风险作出预警,表明了对比特币货币属性的否认态度;我国的邻国韩国也不承认比特币的货币地位,但是比特币在韩国的交易却异常活跃。
[19] Jerry Brito & Andrea Castillo, MercatusCenter at George Mason University, Bitcoin:A Primer for Policymakers 3 (2013),
http://mercatus.org/sites/default/files/Brito_BitcoinPrimer_v1.3.pdf.
[20]同上。
[21] Beyond Silk Road: PotentialRisks, Threats, and Promises of Virtual Currencies, Hearing Before the S.Comm. on Homeland Security and Government Affairs, 113th Cong. 6 (Nov. 18,2013),
http://www.hsgac.senate.gov/download/?id=4cd1ff12-312d-429f-aa41-1d77034ec5a8.
[22]同上。
[23]新华社:《一路飘红的比特币是什么?ICO的前世今生》,2017年9月6日,载于新华网 http://news.xinhuanet.com/world/2017-09/06/c_129696774.htm.
[24]这是一种专门设计用来将使用者链接到比特币在线经济体系的软件或硬件。“比特币支付系统客户端” 也可被称为 “比特币钱包.” 为了尽量减少本文的混淆,后文的“终端用户”与“客户端”是同一个意思, 而 “钱包” 则称会为“钱包文件”,因为其在存储介质中就是以一个电子数据文件的形式存在。
[25]对于客户端形式的比较, 参见How to Store Your Bitcoins, CoinDesk (Dec. 22, 2014),
http://www.coindesk.com/information/how-to-store-your-Bitcoins.
[26]同上。
[27]How Does Bitcoin Work?, bitcoin.org,
https://bitcoin.org/en/how-it-works
(最后访问时间:2017年12月10日).
[28]How Does Bitcoin Work?, bitcoin.org,
https://bitcoin.org/en/how-it-works
(最后访问时间:2017年12月10日).
[29]例如支付宝微信扫码支付时,数字金额对应着的是实实在在的货币支出,因此这里的数字货币是有指向的,即指向了实际的人民币。
[30]参见How Do Bitcoin Transactions Work?, CoinDesk (Mar. 20,2015),
http://www.coindesk.com/information/how-do-bitcoin-transactions-work.
[31] Sarah Meiklejohn et al., AFistful of Bitcoins: Characterizing Payments Among Men with No Names, the 2013 Internet Measurement Conference127 (Oct. 23, 2013),
https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf.
[32]Sarah Meiklejohnet al., A Fistful of Bitcoins:Characterizing Payments Among Men with No Names,
https://cseweb.ucsd.edu/~smeiklejohn/files/imc13-slides.pdf.
[33]公钥加密技术,或者称非对称密码体系与对称密码体系的最主要区别就是加密的密钥和解密的密钥不同,并且解密密钥不能通过加密密钥计算出来。之所以称之为“公钥加密技术”,是因为加密密钥是能够公开的,即称为“公钥”。运用公钥加密技术,能够让不特定的陌生人使用加密密钥对信息进行加密,但是只能由拥有私钥即解密密钥的人才可以解密。有关公钥加密技术的技术细节问题,可参见石志国、薛为民、尹浩,《计算机网络安全教程(第2版)》,清华大学出版社、北京交通大学出版社2010年版,第245页-第273页。
[34]参见一(一)正文及脚注中关于资金二次使用问题的分析。
[35]简单的解释一下公钥和私钥:公钥是任何人都可以知道的密钥,其用途仅仅是给信息进行加密,而私钥则是比较隐秘的,其作用是可以解密。整个过程相当于是摆在校长办公室门前的意见箱,任何人都可以打开上面的盖子把自己写的意见塞进去,但是除了校长可以使用唯一的一把钥匙打开意见箱将所有意见信拿出来阅读之外,任何人都无法打开意见箱去查看别人已经投入其中的信件。关于公钥在比特币中的作用,可参见Vitalik Butterin, Developer’s Introduction to Bitcoin, Bitcoin Magazine(Jan. 1, 2014), https://bitcoinmagazine.com/9249/developers-introduction-bitcoin.
[36]一个散列就是文本字符串通过一定算法运算后的一串输出。在这里,公钥通过哈希算法来生成比特币地址。换言之,比特币地址是以公钥的哈希值的形式存在。
[37]参见Clients, en.bitcoin.it,
https://en.Bitcoin.it/wiki/Clients
(最后访问时间,207年12月10日).
[38]参见谢希仁:《计算机网络(第6版)》,电子工业出版社2013年版,第9页。关于P2P的应用,可以参见该书第412页-第418页。
[39]从更专业的技术角度来说,比特币网络是以某节点利用未加密的TCP协议连接到其他节点作为构成基础的。每个节点都试图保持与其他八个节点之间的输出连接,这八个节点被称为输入节点。此时连接到这八个输入节点的节点可以被暂时认为是担当通常意义上的服务器的地位。而不能接受这些连接的节点,就会被视为客户端,例如有防火墙而自动拒绝连接的节点。因此,所有能够被纳入比特币交易网络的节点都应该是服务器,这其中没有任何一个是客户端。
[40]Alex Biryukov, 卢森堡大学计算机学教授,主要研究方向为密码学、信息安全、金融和数学。
[41]参见Alex Biryukovet al. Deanonymisation of Clients inBitcoin P2P Network, in Proceedingsof the 2014 ACM SIGSAC Conference on Computer and Communications Security15 (Nov. 3, 2014),
http://dx.doi.org/10.1145/2660267.2660379.
[42]同上。
[43]参见Alex Biryukov et al. Deanonymisationof Clients in Bitcoin P2P Network, in Proceedingsof the 2014 ACM SIGSAC Conference on Computer and Communications Security15 (Nov. 3, 2014),
http://dx.doi.org/10.1145/2660267.2660379.
[44]参见https://www.bitcoinmining.com/
(最后访问时间:2017年12月10日)
[45]这个瓶颈之所以存在,主要是因为在当前的经济环境下,比特币的使用者绝对不会甘心其货币只能是网络上的“虚拟物”,那么像比特币交易所这样的机构就会出现两个身份,一个能够利用P2P网络通信接收比特币,另一个则能够在现实世界里实现对现金的收支。而当这两个身份交叉在一起的时候,比特币的匿名性就会变得异常脆弱。
[46]Sarah Meiklejohn 现为伦敦大学学院计算机科学与安全和刑事科学学院讲师,加州大学圣地亚哥分校计算机科学博士学位。
[47]交易业务分析的近期研究成果并未公布,要查阅其早期研究成果可参见 PhilipKoshy et al., An Analysis of Anonymity inBitcoin Using P2P Network Traffic, inFinancial Cryptography and Data Security:18th International Conference, FC 2014 469, 472 (Mar. 2014), available at
http://www.bitcoinsecurity.org/wp-content/uploads/2014/01/Koshy-FC141.pdf.
[48]参见Sarah Meiklejohn et al., AFistful of Bitcoins: Characterizing Payments Among Men with No Names, in Proceedingsof the 2013 Internet Measurement Conference 127 (Oct. 23, 2013),
https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf.Id. 第132页。
[49]同上,第133页。
[50]同上,第130页—第134页。
[51] Bitstamp是库森堡的一个比特币交易所,可以进行美元和比特币之间的兑换。参见https://www.bitstamp.net/(最后访问时间:2017年12月10日)。
[52]参见Sarah Meiklejohn et al., A Fistful of Bitcoins: CharacterizingPayments Among Men with No Names, inProceedings of the 2013 InternetMeasurement Conference 127 (Oct. 23, 2013),
https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf.Id. 第133页。
[53]同上。
[54]参见Sarah Meiklejohn et al., AFistful of Bitcoins: Characterizing Payments Among Men with No Names, in Proceedingsof the 2013 Internet Measurement Conference 127 (Oct. 23, 2013),
https://cseweb.ucsd.edu/~smeiklejohn/files/imc13.pdf.Id. 第135页。
因篇幅所限 本文略有删减
感谢作者对本公众号的授权
本文仅作学习交流之用
Anders Andersson
讲 座 信 息
往期荐读
编辑:钟柳依
欢迎点击“阅读原文”