解决匿名问题:Dandelion(蒲公英)如何让比特币更加私密
这些人可能会惊讶地发现比特币远非只是单纯的匿名。它的底层技术“区块链”的假名比任何东西都要多,实际上它有许多技术窗口,用户可以通过这些窗口窥探另一个用户的身份。这些利益相关方,无论是分析公司、政府还是任何有足够IT知识的人,都可以使用点对点网络分析将比特币公共地址链接到其他IP地址,让他们知道谁拥有一个钱包和谁是在发送他们的资金。在追踪交易和公共地址回到他们的用户的IP地址时,这些“间谍”,也被称为“敌人”,即有效地匿名用户。这显然是对隐私的侵犯,比特币社区长期以来一直在努力寻找解决这个问题的办法。进入谈话的是Dandelion,一个由Shaileshh Bojja Venkatakrishnan, Surya Bakshi, Bradley Denby, Shruti Bhargava, Andrew Miller 和Pramod Viswanath、还有麻省理工学院Carnegie Mellon和伊利诺伊大学的研究人员共同开发的协议。如果理论能在应用中成立,Dandelion将有效地中和在损害用户身份方面起重要作用。
问题
通常,每当有人在比特币的网络上发送事务时,该事务就会被广播到多个节点,直到被矿工接收并包含在一个块中。这种广播过程被称为扩散。它开始于源节点(创建事务的节点)将其传输到网络上的其他节点。一旦此节点广播事务,组成网络的其他每个节点就会继续通过向其他节点发送事务以指数延迟来独立传播该事务。Giulia Fanti在葡萄牙里斯本的比特币会议上介绍了Dandelion,他解释说,源节点的IP地址经常可以被识别出来,因为“扩散是容易被检测到的。”当协作的间谍节点接收到一个事务时,它们可以进行点对点的网络分析,以在网络中重复回溯其步骤。基本上,通过观察每个广播的时间安排和检查中继的结构,间谍可以追踪一个事务返回到它的源节点的概率很高,但这不一定是万无一失的。从这里开始,间谍收集交易发送者的IP地址的可能性很高。
Dandelion的解决方案
Dandelion旨在抽象事务中继过程,使对手跟踪事务变得更加复杂。从本质上说,这将使我们几乎不可能跟踪广播计时和中继结构的乱七八糟轨迹,从而返回到最初传输事务的源节点。为了实现这一点, Dandelion在整个网络中扩散事务之前, 通过可变数量的节点在随机路径上发送事务。随机通路被称为协议的词干阶段, 因为在舞台上中继的事务只在彼此之间共享, 从一个节点传送到下一个。扩散阶段称为 "绒毛阶段", 因为事务被广播到多个节点, 以便在网络上进行传播。
Fanti在演讲中所示的蒲公英结构的屏幕截图
在主干阶段, 每个节点基本上都有50%的机会通过将广播中继到另一节点或将事务扩散到网络的其余部分, 从而继续进行主干阶段。如果传递, 则下一个节点将出现相同的赔率, 并且事务将一个接一个地传递, 直到触发一个扩散过程。在扩散之前添加第一个事务阶段意味着为事务广播过程提供一个额外的匿名层。如果网络在扩散前将事务传递到多个潜在的源节点, 理论上, 这应该会混淆广播的来源, 从而使它极其难以明确地将事务跟踪回其源头。 Dandelion的成长 Dandelion的提议被认为是解决比特币匿名问题的可行步骤,该问题不涉及彻底修改其代码,以使其与p2p网络模糊处理工具相结合——例如,一枚像门罗币这样的代币正在开发。团队经常被问及为什么它不能实现门罗币 关注的相同的路由。Fanti在她的演讲中承认,“门罗币正在解决Dandelion试图解决的问题,但他说,要在实际中实现还需要很长的时间,因为门罗币开发团队自2014年以来一直在努力解决这个问题。”自2017年首次采用Dandelion以来,它一直专注于自己的“自下而上”的方法。在对代码进行同行评议后,该团队改进了他们的工作,并在2018年5月重新发布了一份新的白皮书,该白皮书采用了一种更新的方法(称为“Dandelion++”)。
预计Dandelion将被应用到未来的比特币核心更新中,不过在即将发布的0.17.0版本中,它还没有准备好。