还有哈,加入 DHT 网络时,NodeId 是自行计算的,如何确保 ID 和现有的节点不重复呢
1、 例如我的 ID 是 00001000,通过某个种子节点,例如 00000001,加入 DHT 网络
2、 我对 00000001 发起 findNode,查找自身 00001000
3、 在 findNode 过程中,被询问的节点也会存储我的节点信息到其路由表中,例如 <myIp, myPort, 00001000>
4、 假设 DHT 网络里本来就存在 00001000 节点,他的节点信息为 <otherIp, otherPort, 00001000>
5、 此时,被我查询过的节点都存下了 <myIp, myPort, 00001000>,导致原本应该发往 <otherIp, otherPort, 00001000>的查询都被错误的发往我这里
易懂分布式 | Kademlia算法近年来,区块链技术(部分人更愿意称之为分布式账本技术)的走红将分布式技术的概念带入大众的视野。区块链技术之所以备受追捧,一方面是其展现了一种在计算机的辅助下,人类可以以无中心...