Kademlia / DHT如何获取节点ID并更新同伴离开群组?

时间:2015-07-12 05:15:12

标签: bittorrent dht kademlia

我读过Kademlia文件:基于XOR度量标准的点对点信息系统。 但我还有两个问题。

Q1:节点如何获得其节点ID?

BEP5说:每个节点都有一个全称唯一的标识符,称为“节点ID”。节点ID是从与BitTorrent信息相同的160位空间中随机选择的。

然后,如果您随机选择,您如何选择以及如何确保您选择的ID是全球唯一的?我的意思是有人可能选择与你相同的身份。

Q2:存储密钥值的节点如何知道某个对等方是否离开了群体?

我在第一行中提到的论文说:为了补偿离开网络的节点,Kademlia每小时重新发布一次键值对。

但如果我是节点,我想更新谁还在下载某个文件,我仍然不知道谁离开了这个群。

1 个答案:

答案 0 :(得分:3)

  

然后,如果你随机选择,你如何选择

使用随机数生成器。

  

如何确保您选择的ID是全局唯一的?

有人会随机选择相同的节点ID。密钥空间大小为160位。这是2 ^ 160种可能性。这比地球有原子的要少一些。

  

Q2:存储密钥值的节点如何知道某个对等体是否离开了群组?

没有。它只会超出未刷新的值。

  

但如果我是节点,我想更新谁还在下载某个文件

DHT的目标不是要准确反映谁在下载洪流,只是提供初始联系人加入群。轻微的不准确无关紧要。