http://www.7klian.com

隐私加密系列:详解漫衍式哈希表DHT






对等发明(Peer Discovery)
· Gnutella搜索效率低下,因为查询将导致信息泛滥到网络中。
在本文中,我们将接头所有DHT共有的一些方面,并深入研究一个风行的DHT实现,称为Kademlia。
BitTorrent是现存最大的分手式网络之一,其包括的并发用户数千万,勾当用户数亿。据预计BitTorrent网络每月有25亿用户。停止2019年,Tor拥有约9000台中继处事器和200多万用户。


DHT按照给定算法利用各类技能来实现这一方针。可是它们有很多配合点:
· FreeNet利用了基于密钥的路由。可是它的布局比DHT少而且不能担保可以找到数据。


分区数据存储对典范的区块链的浸染有限,因为需要每个完整节点保存所有生意业务和块的副本以举办验证。
3. 并行和异步查询是为了制止失败节点的超时延迟。

· 每个参加者都有一些独一的网络标识符。
DHT网络有效地分派了对路由信息和数据的复制存储和检索的责任。这种漫衍答允节点以最小或没有间断的方法插手和分开。网络可以具有大量的节点(在BitTorrent的环境下为数百万个节点),而每个节点不必知道网络中的每个其他参加者。这样,与典范的会合式系统对比,DHT本质上具有更强的抵制恶意进攻者的本领。
节点的子集可以存储和复制任意数据,以供今后检索。利用一致的哈希函数(譬喻SHA256)对数据举办哈希处理惩罚以生成数据的密钥。该数据被流传并最终存储在一个节点ID与某个间隔函数的该数据的密钥“更近”的一个或多个节点上。



这些系统回收了差异的要领来在网络上定位资源:

DHT网络设计答允网络容忍呈现妨碍的节点而不会呈现妨碍,并答允网络局限无限增加。

对等发明是在漫衍式网络中定位节点举办数据通信的进程。这是由每个节点维护一个对等点列表并与网络上的其他节点共享该列表而实现的。一个新的参加者将首先接洽一组预界说的引导节点来寻找他们在网络上的对等点。这些节点是正常的网络参加者,刚好是某些动态或静态列表的一部门。它是网络上每个节点的事情,以便于对等点的发明。

· Napster利用了中央索引处事器,这是一个单点妨碍,很容易受到进攻。


Kademlia被设计为在漫衍式对等(P2P)网络中存储和查找内容的有效手段。它具有很多其他DHT无法同时提供的焦点成果,譬喻:

节点ID
漫衍式数据存储


可扩展性和容错性
跟着对等方不绝彼此交换,这些列表会不绝更新以确保网络完整性。
哈希表是将键映射到值的数据布局。哈希函数用于计较插入表中的键,今后可以从中检索值。顾名思义,漫衍式哈希表(DHT)是漫衍在很多链接节点之间的哈希表,这些节点协作以形成单个内聚哈希表处事。节点毗连在一个称为包围网络的网络中。包围网络只是成立在另一个网络之上的通信网络。互联网就是一个例子,它始于民众互换电话网络上的包围网络。


dht的需求源于早期的文件共享网络,如Gnutella、Napster、FreeNet和BitTorrent,它们可以或许操作互联网上的漫衍式资源提供单一的内聚处事。


DHT网络的特征
· 通信仅需要通过某种算法确定的邻人之间产生。
2. 节点有足够的信息通过低延迟路径路由流量。
1. 节点彼此相识所需的动静数量最小化。
· 有一些隐式或显式的毗连进程。
· 他们执行对端查找,数据存储和检索处事。

2001年,引入了四个DHT项目:CAN,Chord,Pastry和Tapestry。他们的方针是具有雷同于会合索引的查找效率(O(log(n))),同时具有分手网络的优势。
节点选择一个n位ID,该ID将提供应网络上的其他节点。网络设计依赖于通过一些随机进程匀称漫衍的节点ID。节点的位置由其ID的最短独一前缀确定,该前缀形成一个树布局,节点ID为叶子。当节点从头插手网络时,,应从头利用此ID。下图显示了三位密钥空间中的二进制树布局:


⟨key,value⟩对凡是存储在网络的一个子会合,凡是以某种“靠近”的方法存储。

Kademlia


4. 节点存在算法抵挡某些根基的漫衍式拒绝处事(DDoS)进攻。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读