P2P网络布局由全球数千个节点构成,假如算上被动节点,则数上万个。凡是每个节点通过互联网毗连到其他一小部门节点,即对等节点(peers)。节点利用与Web欣赏器和Web处事器一致的传输节制协议(TCP)与其对等节点通信。节点随机毗连对等节点,这些对等节点不必然在地理位置临近。凡是对等节点为8个,但有些节点可以毗连上百个对等节点,每个节点先是询问非凡主节点,来发明本身的对等节点,然后再询问这些对等节点,发明新的对等节点,以此类推。于是形成了一个由浩瀚计较机构成的网络,每台计较机通过TCP与其他分手的,有限的计较机荟萃举办通信。
“对付像耳朵一样的僵尸网络节点来说,生意业务建设就像一声巨响”
Dandelion++,与Dandelion一样,有一个steam和fluff阶段。在stem阶段,Dandelion++以离散区间,即纪元(epoch)进动作态毗连。每个节点都独立地切换纪元,凡是每隔几分钟切换一次。在每个纪元隔断,节点从它的出站毗连中随机挑选两个新的中继毗连。然后,当节点建设本身的生意业务时,通过个中一其中继发送生意业务。且在该纪元隔断中发出的所有生意业务,都将利用这一其中继。在stem阶段,当节点要转发另一个节点的生意业务,假如节点是一其中继器,它就会从两其中继器中随机选出一个将生意业务发送出去。
一文相识门罗的通信层掩护技能Dandelion++
为了办理三种要领的缺陷,作者提出了Dandelion。Dandelion界说了一个寻找署理节点的历程,称为匿名(或stem)阶段。它还成立了另一个广播历程,称为流传(或fluff)阶段。一般环境下,这两个阶段利用差异的对等节点集,重要区别是匿名阶段(stem阶段)毗连的节点集随时间变革而变革。Dandelion得名于:首先沿着一条非凡的线性搜索路径寻找一个署理节点,然后从这个署理节点迅速对称地广播信息,将信息流的形态组合起来,就像一朵蒲公英。
Dandelion++
此刻,Monero节点利用大水(flooding)历程来广播新生意业务。节点将生意业务发送给本身的所有对等节点,对等节点又将生意业务发送给本身的对等节点,另外还做一些查抄,防备冗余通信。信息像海浪一样在网络中向四面八方流传。一些加密钱币,好比比特币,会随机选择广播的时间,,但Monero不会。
从观念上,Monero可分别为两个部门:P2P网络与网络中运行的应用措施。应用措施处理惩罚地点、密钥和生意业务,而网络组织维护信息流。要相识Dandelion++,就要理清P2P网络的布局和钱包通过P2P网络通信来生意业务的方法。
Dandelion的作者深入研究了操作僵尸网络寻找加密钱币生意业务来历的理论和实践。包罗制造匿名性的数学模子,阐明三种流传技能:
Dandelion
Dandelion++的发现者成立了一个以僵尸网络为敌手的模子,特工节点漫衍在整个网络中,形成了整个网络的一些重要部门。在他们的模子中,这些特工节点不需要遵循法则。它们可以生成任意数量的出站毗连到任何厚道或进攻节点。他们利用所有可用的信息,包罗发送时间和地点。正是在这种很是恶劣的情况中,Dandelion++乐成地掩护了匿名性。
为了办理这个问题,伊利诺伊大学的研究人员首先开拓了一套技能,他们称之为Dandelion(蒲公英)。最初是想应用在比特币上,但它也合用于Monero。Dandelion是先用一种非凡的不行侦测的方法将生意业务路由到一个长途节点,然后再启动大水流传。
然而,试图将生意业务与IP地点接洽起来的调查者大概并不被动,也大概不遵守网络法则。一些厚道的节点大概不会运行Dandelion。受到日益增长的加密钱币阐明市场的敦促,如Chainanalysis,作者从头审视了本身早期事情中的假设,一年后与相助者开拓了Dandelion++。Dandelion++调解了Dandelion无法抵挡大局限违反法则的去匿名化进攻的弱点。
将一个IP地点与一笔生意业务关联起来,并不容易,也不必然精确。这要耗损调查者必然的工夫。但利用僵尸网络毗连Monero P2P网络,通过对时间的阐明和已知的对等节点信息的较量,会有较量高的概率可以计较出生意业务来历。当听到一声巨响时,你会自然地转向谁人偏向:你的大脑“阐明”耳朵听到声音的时间和失真,辨认偏向。对在差异所在吸收到的通过大水模式流传的加密钱币数据包举办阐明,可以让特工进攻者做同样的工作。僵尸网络节点就像耳朵,建设生意业务就像发出一声巨响。
2)Diffusion,即随机大水流传(比特币的要领)
Monero成立在它的点对点(P2P)通信网络。网络中感知区块链的计较机,即节点,共享Monero信息,如节点地点、汗青区块链数据、挖出的区块以及区块中添加的新生意业务。Monero的节点按照互联网协议(IP)地点区分,存在调查者按照IP地点找出关联生意业务的风险,数据变得不再匿名。Dandelion++可以埋没这种毗连,将应用在即将宣布的Monero软件中。本文论述了Dandelion++的事情方法,以及它对门罗用户的用途。
面对的问题
Dandelion++存在一些弱点与范围性,添加了生意业务广播延迟。按照作者的阐明与尝试评估,stem阶段增加了延迟,大概是几秒钟。fluff阶段,diffusion增加了随机延迟,凡是不到一秒。假如网络受到黑洞进攻,提倡人期待简直承认能会使传输延迟几分钟。这几分钟延迟不会对网络发生重击。另外,Dandelion++不加密P2P数据包,也不防备ISP或VPN级此外特工,针对这一点,你可以利用Tor。
结语
最后一种技能是,首先将生意业务随机转发给一个节点,然后该节点再利用diffusion广播生意业务。按照作者的数学模子,这三种要领都被发明是不敷以抵挡监督的。
Dandelion++尚有一个附加的、互补的套件,称为妨碍安详机制。在stem阶段,中继生意业务的每个节点都为生意业务启动一个计时器。假如时间阈值一过,节点在fluff阶段没有吸收同一笔生意业务,则节点将启动本身的fluff阶段。这样做有两个目标:一是操作时间阻止去匿名化的实验;二是挫败所谓的黑洞进攻,即进攻节点在stem阶段放弃生意业务,而不是转发生意业务。
“Dandelion++正式地担保了抵挡去匿名化”
3)署理式Diffusion
Monero钱包必需毗连至一个节点,将它作为毗连至P2P网络的网关。好比,官方GUI wallet,可以运行本身的节点,而其他的钱包,如智妙手机上的MyMonero,老是利用长途节点。钱包通过本身的网枢纽点建设和流传一笔生意业务来耗费Monero,让生意业务最终找到矿工节点,并打包进一个挖矿区块中。每笔生意业务包括的信息有限,但都是一些重要数据,包罗一组大概的资金来历。
上线今后,Dandelion++将在默认的环境下利用。固然可以将C++代码文件cryptonote_config.h中即将进入fluff模式的概率界说为100%,来封锁Dandelion++。纵然在这种定向从头编译的环境下,Dandelion++也将利用随机延迟的diffusion,而不是基本的大水模式。版本正式上线日期还未确定,不外Dandelion++不需要硬分叉。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。