打字猴:1.703867145e+09
1703867145
1703867146 直至2015年,还不存在一个正常运行的混币生态系统。市场上有很多的混币服务,但是都只有比较低的交易量,因此它们的匿名组合比较小。更糟糕的是,许多混币服务提供商被报告有盗币行为,或许“自举”这样一个生态系统太难,正是混币系统从来没有良好运行过的一个原因。基于混币服务提供商狡猾的名声,并没有多少人想要使用它们的服务,这也导致了较低的交易量,进而导致了不好的匿名保护。老话说得好,大隐隐于市(anonymity loves company),也就是说,越多人使用一个匿名服务,那么这个服务能提供的匿名性就越高。进一步来说,由于提供服务并没有太多利益可图,服务提供商可能会尝试去盗取客户的资金,这会使得混币服务提供商的公信力出现持续的恶性循环。
1703867147
1703867148 当前,混币服务提供商并没有遵循我们所探讨的任何原则。每一个服务提供商都是独立运营的,并且通常都会提供给用户一个网页接口,让用户手工输入收钱地址和其他一些必要的参数。用户可以选择他们需要进行混币交易的数量,服务提供商针对每一笔交易收取提成来作为服务费,然后发送剩余的比特币到用户指定的目标地址。
1703867149
1703867150 我们认为,对混币服务提供商(和钱包软件提供商)来说,为了可以获取更强的匿名性,抵御智能攻击,提供一个高可用性的接口,进而吸引更多的交易量,实施我们介绍的模式是很有必要的。然而,迄今为止,我们还是没有看到过一个比较强健的混币生态系统。
1703867151
1703867152
1703867153
1703867154
1703867155 区块链技术驱动金融:数字货币与智能合约技术 [:1703863943]
1703867156 区块链技术驱动金融:数字货币与智能合约技术 6.4 分布式混币
1703867157
1703867158 分布式混币(Decentralized Mixing),不同于一般的混币交易,指的是用一种用户之间的点对点模式实现混币交易的协议。正如你可以想象的,这种方式在理念上与比特币更加契合。
1703867159
1703867160 分布式模式具有更高的可操作性。首先,分布式没有自举的问题,用户不需要等待一个有公信力的集中式混币提供商出现。其次,盗币行为在分布式混币模式下几乎不太可能发生,这种协议可以保证你可以收回你在进行混币交易时等值的比特币,正是因为这一点,即便是要进行一些对分布式混币有用的中心化的协作,由于无须说服别人自己是值得信任的,任何人都可以更加容易地设置并提供这样的服务。最后,在某些方式中,分布式混币模式可以提供更好的匿名性。
1703867161
1703867162 合币
1703867163
1703867164 分布式混币模式的主要方案被称为合币(Coinjoin)。在这个协议中,不同的用户共同创建一个单一的比特币交易,该交易包含所有的用户输入。让合币得以有效运作的核心技术原理为:当一个交易拥有多个来自不同地址的输入时,来自每一个输入的签名都是分离并且相互独立的,所以这些不同的地址可以被不同的人所控制,而不需要任何一方来提取所有的私钥(参见图6.9)。
1703867165
1703867166
1703867167
1703867168
1703867169 图6.9 合币交易
1703867170
1703867171 这样就可以让一组用户通过使用单一交易来进行混币交易。每一个用户提供一个输入和输出地址,然后组合起来就形成一个交易。由于输入和输出地址的顺序是随机的,因此攻击者无法建立输入和输出的匹配关系。参与者可以查询他们的输出地址已经包含在交易里,并且会接收到和他们输入时数量相同的比特币(减去所有的交易手续费)。一旦他们确认了这些,就可以对这个交易进行确认签名。
1703867172
1703867173 当其他人在区块链网络上查询这笔交易的时候,即使他们知道这是一笔合币交易,也不能确定输入地址和输出地址的匹配。从一个外来者来看,这些比特币已经被充分混币了,这就是合币的精髓。
1703867174
1703867175 到目前为止,我们已经描述了一轮混币交易,但是我们在6.3节中讨论的原则仍然适用,你想要(想必会)和不同组的用户重复这样的流程,你也想保证这些交易比特币块大小是标准的,这样就避免了无意中引入会造成信息泄露的旁路。
1703867176
1703867177 现在让我们来探究一下合币的细节,我们可以把该流程分为5个步骤:
1703867178
1703867179 1.找到想要混币的交易对手,作为节点。
1703867180
1703867181 2.交换输入/输出地址。
1703867182
1703867183 3.建立交易。
1703867184
1703867185 4.发送这个交易给其他人,每一个节点在确认他们的输出地址之后,进行签名。
1703867186
1703867187 5.广播这个交易。
1703867188
1703867189 一组想要进行混币的节点,首先需要发现彼此。这个动作需要由一个服务器来完成,其角色有点像一个“饮水坑”(watering holes)[1],允许这一组用户互相连接并组合在一起。不像中心化的混币服务,这些服务器既不可能有机会盗取用户的资金,也不可能危及用户的匿名性。
1703867190
1703867191 一旦一组节点形成,这些节点必须要互相交换它们的输入和输出地址。地址交换中要保证即便是组中其他节点也不能知道这些输入和输出地址之间的匹配关系。这一点非常重要,否则即使你与一组看上去随机的节点进行了合币交易,攻击者还是有可能伪装自己进入这个节点组,并由此获取输入和输出的对应匹配。要做到无关联的地址交换,我们就需要一种匿名通信协议。我们可以使用之前探讨过的Tor网络,或者一种被称为加密混币网络(mix-net)的特殊目的匿名路由协议。
1703867192
1703867193 输入和输出地址信息一经传达,其中一个用户——不管是谁——将会基于这些相对应的输入和输出地址构建一个交易,这个未被签名过的交易将会被转发传递,每一个节点都会验证这个输入和输出地址是否正确,并且签名确认。
1703867194
[ 上一页 ]  [ :1.703867145e+09 ]  [ 下一页 ]