我是P2P网络的新手,目前我试着理解Kademlia论文中提到的一些基本内容。我无法理解的主要事情是Kademlia距离度量。所有论文都将距离定义为两个ID的异或。ID大小是160位,所以结果也是160位。问题:用整数表示这个距离的方便方法是什么?我检查过的一些实现使用以下内容:距离= 160 -前缀长度(其中前缀长度是前导零的数目)。这样做正确吗?
发布于 2018-02-04 14:37:39
我检查过的一些实现使用以下内容:距离= 160 -前缀长度(其中前缀长度是前导零的数目)。这样做正确吗?
这种方法是is based on an early revision of the kademlia paper的,不足以实现最后文件后面的一些章节。
成熟的实现应该使用类似树的路由表,该表根据桶在键空间中的绝对位置订购桶,在发生桶分裂时可以调整大小。
ID大小是160位,所以结果也是160位。问题:用整数表示这个距离的方便方法是什么?
距离度量是160位整数。您可以使用大整数类,也可以根据数组滚动自己的类。要获得共享前缀位计数,您只需计算前导零,它与网络大小成对数,并且通常在完成后应该适合于小得多的整数。
https://stackoverflow.com/questions/48602172
复制相似问题