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

来源:IPFS底层技术 作者:IPFS技术详解 阅读: 2020-09-25 09:47

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

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

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

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

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

ipfs底层技术

  贰

  S/Kademlia

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

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

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

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

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

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

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

相关推荐