我正在尝试使用 Kademlia论文来实现 DHT ,以更好地理解这些系统是如何工作的。
我已经阅读了一些其他文章,这些文章提到了这种实现分布式哈希表的方式,但是有些东西我无法理解。在 p2p 交换文件网络中,密钥 ID 可以实现为文件名摘要,以通过搜索机制保持一致性。
但是节点 ID 本身呢?
例如,我应该采用“WAN-IP:PORT”组合的摘要还是简单地从头开始生成一个完全随机的 id?
在第二种情况下,总是存在两个节点生成相同 id 的风险。但是使用我的 WAN-IP:PORT 我依赖于这样一个事实,即我的客户端正在运行一个永远不会改变的 WAN-IP 后面的节点。
它应该如何来自网络本身?我的意思是,在第一次接触时,对等点会发挥一些作用并给新节点一个 id ?
我将不胜感激有关如何实现 Kademlia 节点 ID 生成的一些意见。