LocalMonero will be winding down

The winding down process begins May 7th, 2024, and finishes after November 7th, 2024. Our support staff will be available for help throughout this period.
  1. Effective immediately, all new signups and ad postings are disabled;
  2. On May 14th, 2024, new trades will be disabled as well;
  3. After November 7th, 2024, the website will be taken down. Please reclaim any funds from your arbitration bond wallet prior to that date, otherwise the funds may be considered abandoned/forfeited.

Dandelion ++蒲公英改进协议如何使Monero从源头得到更强防护

发布时间:
By Diego Salazar

隐私至上

作为顶级加密货币,门罗币却总是缺少吸引眼球的噱头.它没有类似于‘世界计算机’或‘革命颠覆XX行业’那种如雷贯耳的口号.它只专注成为私有,且具备可替代性的电子货币,而每次现有技术升级和全新技术的应用都为继续推动这一目标而努力.

那些认为此愿景过于狭小或无趣的人通常不了解,实现真正的隐私保护有多么困难,尤其是在区块链这种永久开放的分布帐本上. 任何途径的数据源泄漏都可能破坏隐私性.

门罗币已经采取多项针对性措施,分别通过环签名,隐身地址,和彼得森承诺来混淆发送方,接收方和交易金额等链上数据.在这样的情况下,一旦交易完成,交易信息就变成账本历史的一部分,在这些安全措施层层保护下,攻击者想通过分析交易历史记录来推断出关键信息无异于痴人说梦. 但是有些攻击,虽然无法在交易完成后发动,也无法针对历史数据执行,却有机会在交易发生的瞬间造成危害.

IP地址关联攻击

这些攻击的原理是试图确定一笔交易的发起是来自哪个IP地址.如果获得此信息,则可表明该IP地址的某人进行了Monero交易. 虽然攻击者依旧无法获知收款账户是谁,以及转账的金额,但是在某些情况下,知晓一个人使用了Monero,就足以造成某种危害.

好消息是,如果在进行交易时未被收集到IP地址信息,由于该信息不会被存储在区块链中,因此以后的任何人将无从查起.并且这种攻击不太可能在系统外发起,因为要实现这一目标,攻击者需要控制网络上绝大多数门罗币的节点.但是,一旦某人能够控制绝大多数节点,他将能够确定交易的"方向".

这可能不太好理解,因此我们将解释一些背景知识.每个节点都连接网络上的其他节点,以便它们可以使自己的区块链账本保持最新状态,并与他人共享自己的信息.这些连接使他们能够获取新交易,传播它们并发送自己节点的信息给他人.由于一个节点只能将其知道的交易告知其连结的节点,因此可以说,传播交易的第一个节点就是实际发送Monero的节点.

如果攻击者拥有网络上的大多数节点,则每个节点都会从其连结的节点那里听到某笔交易广播,并且根据每个节点接收此信息的时间差,他们可以推断出该交易最先开始的发起节点.

如果你还是没有理解,我们再打个比方.假设我们有一个共同的朋友需要被搜救,他在我们的视野之外.突然这个朋友大声呼救.我先听到他的呼喊,而且比你听到的声音大.从这些信息中,我们可以知道我比你更接近我们的朋友.你后听到声音(哪怕时间差很小)并且声音较小,这意味着我们应该在我所在的区域而不是你所在的区域开始搜索.

由于节点互联彼此可以获取对方的IP地址信息,所以一旦攻击者能够成功猜出哪个节点发送该交易,几乎等同于他们可以知道该交易者的IP地址.这是强有力的信息,因为IP地址包含相关用户所在国家/地区和互联网服务提供商(ISP)的信息,并且ISP服务商本身知道每个现实中的用户关联哪个具体的IP地址,从而破坏门罗币用户匿名性.

应对措施

应对此攻击的一种可选方案是使用覆盖网络,例如Tor洋葱网络或I2P路由.这样一来,即使攻击者可以推断出IP地址,但还是不能确定进行交易的人本身就使用该IP地址,还是通过覆盖网络outproxy(I2P)或出口节点(Tor)进行混淆和跳转过的.但是,这并不是一个十全十美的解决方案,因为在许多国家/地区都禁止使用覆盖网络,或者VPN和类似软件,并且期望所有门罗用户都在洋葱网络,VPN的环境里上网,同步节点和传播交易数据是不现实的.需要一种不需要使用外部软件或外部网络的解决方案;既普通人也可用的一种方案.

本文重点说明的解决方案是Dandelion ++(DPP蒲公英协议++),它是由原始为比特币设计的蒲公英协议Dandelion的升级版.在此协议中,有两个阶段,蒲公英的茎阶段和蒲公英的绒毛阶段.他们共同代表蒲公英协议的形式.

在茎的阶段,每隔几分钟,发送节点都会从与其连接的所有节点中随机选择两个节点.同样的,每隔几分钟这个节点也可能被别的茎阶段的节点抓取.所以当一个节点需要发送信息时既有可能是代表本节点,也可能只是转发关联茎节点的信息,然后它再会随机选择自己抓取的两个节点之一,将需要交易的信息单独发送给它.

绒毛阶段是节点接收交易信息后将其全网节点广播,而不只是再单独发送给下一个随机选择的节点,这时候这笔交易信息才真正被传播.每隔几分钟,一个节点会随机定义自己为茎节点或绒毛节点,因此如果每个连接节点都将自己定义为茎节点,则茎阶段的跳转时间可能会很长,但是一旦交易达到了绒毛阶段,交易信息会在那个节点保留并第一个全网广播出去.

这意味着攻击者将不再能够简单地监听交易的来源和方向,因为在将交易广播给全网所有人之前,它已经经历了茎阶段若干次传递,而作为交易第一个广播的绒毛节点,其本身也不知道该交易的源头,到底经过了多少次跳转.

结合以上解决方案(蒲公英路由加上覆盖网络)将为保护隐私和IP地址反跟踪,提供更强大的防护.不过应注意,蒲公英协议不能防御ISPs发起的另一种形式的网络跟踪攻击,但这不在本文讨论范围之内.

Dandelion ++蒲公英升级协议已设置为可在Monero主网上运行,并且在0.16版本客户端上默认自动运行.这一微小的变化将进一步减轻对Monero网络潜在的攻击,并说明为什么Monero在保护隐私技术方面处于领先地位.

进一步阅读

© 2025 Blue Sunday Limited