1. 首页
  2. 技术分享

IPFS底层技术详解:分布式哈希表(终章)

原创: Eric禾子

在Kademlia DHT基础上,IPFS在其底层存储和寻址技术上融入了Coral DSHT和S/Kademlia的优势,形成了专属于IPFS的身份层和路由层。我们一一来看:

Coral DSHT

首先是Coral DSHT。实际上,Coral CDN是一种点对点的内容分发网络,而其底层的DHT相比传统的DHT而言更加进步了。因为其原理相比传统DHT而言过于复杂,所以我们只来简单解释一下IPFS白皮书中所提到的DSHT的优势:

IPFS底层技术详解:分布式哈希表(终章)

Coral在每次寻址之后都会指定某个或某些节点短暂保存上次寻址的节点地址,以防止每次寻址都要重载一遍节点(即重新寻找一次)。

另外,之前我们说到,相关内容会存储在和其哈希最近(异或算法下)的节点中。现在的情况是:在分布式的存储中,节点A会自主存储和其哈希不相近的内容,而当这些内容被上传的网络中之后,一旦开始寻找,很有可能永远都不会找到A这里,而是按照既有规则找到和内容哈希最近的节点B。

不巧的是,当这个内容是热点内容时,会造成B的负载过高,同时,这样也会重复存储。所以,当有寻址信息直接或间接从A处找到了相关信息,就会存储这个地址,让之后寻找相同内容的请求可以一部分分流到节点A。

IPFS底层技术详解:分布式哈希表(终章)

第三点中提出的层次结构,是指DSHT会将节点按照反应速度分成若干层(一般是三层),每次寻址时先在本层中寻找,可以大大降低延迟。当然,这样也有一些小的缺点,例如需要维护三个路由表,有节点进入退出都会加大工作量。

S/Kademlia

至于S/Kademlia,则是在签名上下了一些功夫,让例如女巫攻击等破坏网络的行为很难实现从而提高了网络的安全性,我们先来看下白皮书中的说法:

IPFS底层技术详解:分布式哈希表(终章)

第一点中,S/Kademlia中引入了NodeID的双重加密机制,分为静态加密和动态加密。这让女巫攻击和日蚀攻击变的异常困难(节点的认证变的更加复杂,无法随意增加节点)。

至于第二点,S/Kademlia引入了直译为“兄弟节点”也就是可信任节点列表。这个列表的数量不受“K桶”中K的限制,其通过建模计算出每个节点需要维护的可信任节点数量,以保证在全网有大量不可信任节点的同时也可以正常工作。而可信任节点之间的通信通过不想交的路径进行,大大降低了被攻击的可能。

想要深入了解,请查看S/Kad论文翻译:

https://www.cnblogs.com/elninowang/p/9188555.html

不知道大家看到这个可信任列表有没有想起来一个项目叫Ripple。

IPFS底层技术详解:分布式哈希表(终章)

没错,就是近日涨幅高达40%的用于简化跨境交易的瑞波币,其机制也包含类似的由信任节点进行投票确认的过程。笔者听闻这一次上涨是场外资金流入,不知是真是假。


至此,IPFS利用DHT技术去进行身份确认和数据路由的基本方式已经全部说完了,如果有第一次看到这篇文章的读者,末尾有本系列之前的文章,可以了解一下。

我们下个系列见

系列文章导读

IPFS底层技术详解:IPFS和Filecoin究竟是什么?

IPFS底层技术详解:分布式哈希表(1)

IPFS底层技术详解:分布式哈希表(2)

IPFS底层技术详解:分布式哈希表(3)

IPFS底层技术详解:分布式哈希表(4)

想要查看IPFS以及Filecoin白皮书,请在公众号IPFS点滴资讯​后台回复“白皮书”即可自取

IPFS底层技术详解:分布式哈希表(终章)

IPFS底层技术详解:分布式哈希表(终章)

原创文章,作者:Tang,如若转载,请注明出处:https://ipfsdrop.com/tech/ipfsdicengjishuxiangjiefenbushihaxibiaozhongzhang/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

(+86)18301922335

在线咨询:点击这里给我发消息

邮件:haskell@freechains.cn

工作时间:7×24小时

QR code