1703867045
1703867046
目前,我们探讨的去匿名化技术,都是基于对区块链网络上交易图谱进行的分析,这些方法被归纳为交易图谱分析(transaction graph analysis)。
1703867047
1703867048
网络层的去匿名化
1703867049
1703867050
用户被去匿名化,有很多种不依赖于交易图谱的方法。为了在区块链网络中公示一个交易,一种典型的方法就是广播这个交易到比特币点对点的网络中,在这个网络中,消息会被相应地发送,但不一定要在区块链网络里做永久记录。
1703867051
1703867052
在计算机网络术语中,区块链被归为应用层,而点对点的网络则是网络层。2011年,丹·卡明斯基(Dan Kaminsky)在黑帽技术大会(Black Hat)上首次提出了网络层去匿名化的概念。他注意到,当某个节点创建一个交易时,该节点就会和其他很多节点建立链接并且广播该笔交易。如果网络上足够多的节点串通起来(或者是被同一个攻击者所控制的),他们就能分辨出第一个广播交易的节点,并且可以因此推断,这个节点就是被创建这个交易的用户所拥有的。攻击者因此可以把这个交易关联到这个节点的IP地址,而IP地址已经非常接近于真实世界的个人身份了——有很多办法可以发现某个IP地址背后的用户身份。因此,网络层去匿名化就是隐私保护的一个非常严重的问题(参见图6.6)。
1703867053
1703867054
1703867055
1703867056
1703867057
图6.6 网络层去匿名化
1703867058
1703867059
注:正如丹·卡明斯基在2011年黑帽技术大会上的演讲中指出的,“第一个通知交易的节点很有可能就是交易源头”。当有多个节点配合并且对同一个交易源头进行识别的时候,这种方法的实际效果会更加明显。
1703867060
1703867061
幸运的是,这是一个通信匿名性的问题,已经有很多研究在探索这个课题。正如我们前面在6.1节中已经看到的,Tor这个使用很广泛的系统就是用来实现通信匿名性的。
1703867062
1703867063
在使用Tor系统为比特币实现网络层匿名化的解决方案的时候,有几个注意事项。首先,在Tor的协议和任何基于此协议的上层协议之间,可能会有一些复杂的交互,由此可能会导致新的破坏匿名化的方法。事实上,研究者已经发现,在使用Tor协议之上的比特币时,存在一些潜在的安全问题,使用这个方案的时候一定要非常小心。其次,可能有其他一些匿名通信的技术,会更适合比特币的使用。Tor的定位是针对那些低延迟的活动,比如网页浏览。在网页浏览的时候,你也不想坐在那里等半天,因此要取得低延迟,在匿名化方面可能要做出某些牺牲。相反,比特币则是一个高延迟的系统,因为比特币交易需要花时间来获得区块链上的确认。因此,至少在理论上我们可能更希望使用另外一种替代方案来实现匿名性,比如混币网络(Mix Net,参见本章6.3节)。但就目前来说,作为一个实际在运行的并且有广大用户基础的系统,Tor还是有一些优势的,而且这些用户的安全问题已经被集中地研究过。
1703867064
1703867065
到目前为止,我们已经看到,通过交易图谱分析的方法,不同的地址有可能被关联在一起,甚至有可能进一步被关联到真实世界的身份。我们也看到,基于点对点网络,交易或者地址可能会被关联到一个IP地址。对后一个问题,虽然我们现在还不能说可以完全解决,但至少解决起来相对容易。前一个问题就要麻烦很多,我们将在本章的后续部分,继续探讨如何去解决它。
1703867066
1703867067
1703867068
1703867069
1703867071
区块链技术驱动金融:数字货币与智能合约技术 6.3 混币
1703867072
1703867073
有一些机制可以使得交易图谱分析变得不那么有效,其中一种就是混币(Mixing),这种技术背后的逻辑其实很简单:如果你想要匿名化,那就使用一个中介媒体。这个原则不是特别针对比特币的,在很多需要实现匿名性的情形下都很有用。图6.7展示的就是混币模式。
1703867074
1703867075
1703867076
1703867077
1703867078
图6.7 混币模式
1703867079
1703867080
注:用户发送比特币给一个中介媒体,并通过其他的用户回收比特币。这就使得在区块链上追踪一个用户的比特币,变得更加困难。
1703867081
1703867082
混币在线钱包
1703867083
1703867084
如果你还记得我们有关在线钱包的讨论,那么在线钱包貌似就适合作一个交易中介。在线钱包提供了一种在线存储和提取比特币的服务,存储和提取可以在不同的时间发生。通常,你提取的比特币有别于你存储的比特币,那么,是否这就意味着,在线钱包提供了一种有效的混币服务呢?
1703867085
1703867086
在线钱包确实提供了一个去关联性的方法,这可以阻止交易图谱分析类型的攻击尝试,在一个具体的案例中,一些杰出的研究者不得不回撤一个面向公众的申明,因为他们之前发现的一个关联,其实只是在线钱包提供的一个伪关联。
1703867087
1703867088
从另外一个角度看,使用在线钱包来做混币服务,也存在一些严重的局限性。首先,大多数在线钱包并不能保证一定能实现混币功效,它们实现混币的功能,其实是因为这样做简化了开发工程。作为用户,你得不到它们不会去变更其混币模式的保证。其次,即使它们实现了混币,其内部也会保留一份记录,用来匹配你的存入和提取。这不仅是出于安全性的考虑,也是根据合规要求的审慎做法。所以说,如果你的威胁模型会考虑服务提供商本身会跟踪你,或者服务提供商被黑客攻击,又或者服务提供商被迫提供它们的记录等这些可能性,你就又回到了原点。最后,除了保留内部记录之外,声誉好的且受监管的服务提供商,也会要求你提供个人身份以进行记录(我们将在第7章中具体讨论监管问题)。你无法简单地通过一个用户名和密码,就能够创建一个账号。所以,在某种意义上,这可能比你不用钱包服务还糟糕。
1703867089
1703867090
在线钱包服务所提供的匿名性,和传统银行所提供的服务类似,都有一个知道所有用户的交易记录的中央媒介。对一个没有特权信息的陌生人来说,我们具备了一定程度的隐私。但是,正如我们讨论过的,区块链的公共属性意味着,如果发生任何问题(比如,钱包或者交易所服务被黑客攻击而导致内部数据的暴露),隐私风险会比传统的银行系统更大。除此之外,越来越多的人就是因为不满意传统系统的匿名性,并想要一个更好的(或者不同的)匿名性保障才转向使用比特币,这些都是用户使用专项混币服务的动力。
1703867091
1703867092
专项混币服务
1703867093
1703867094
不同于在线钱包,专门的混币服务既可以保证不留记录,又不需要你的身份验证。你甚至不需要一个用户名或者其他化名来使用这项服务,只需要发送比特币到混币服务提供的地址,并且告诉交易服务提供商你发送的比特币所需要达到的地址,混币服务提供商就会帮你转过去相同数量的比特币(不是你发送的比特币)。本质上,这是一种互换。
[
上一页 ]
[ :1.703867045e+09 ]
[
下一页 ]