【发布时间】:2018-02-03 21:20:49
【问题描述】:
我是 P2P 网络的新手,目前我尝试了解 Kademlia 论文指定的一些基本内容。我无法理解的主要事情是 Kademlia 距离度量。所有论文都将距离定义为两个 ID 的 XOR。 ID 大小为 160 位,因此结果也有 160 位。 问题:将这个距离表示为整数的便捷方法是什么? 我检查过的一些实现使用以下内容: distance = 160 - 前缀长度(其中前缀长度是前导零的数量)。 这是正确的方法吗?
【问题讨论】:
-
它已经是一个整数(一个 160 位整数)。您是否尝试将 160 位数字放入特定编程语言定义的整数中?
-
是的(我用java写的)。由于距离被用作k-bucket的索引
-
好吧,除非您对这些 ID 有所了解,例如它们有一个共同的前缀/后缀,或者其他一些允许您“压缩”它们的结构,否则无法适应任意 160 位数成 32 位