Kademlia路由表和距离度量

7

我今天第一次读到关于Kademlia的内容,但有些地方我觉得还没有理解清楚。

节点和键之间的距离是它们值的异或值。

因此,如果我有键x和节点y,它们之间的距离是x xor y。

但是,为什么要将我所知道的节点分组并按前缀长度排序呢?这似乎与通过xor节点ID查找最接近我的节点没有直接联系?

当我收到一个请求来寻找值时,我会在距离我最近的桶中搜索节点,也就是那些与我的共享前缀最长的节点,例如前160个桶吗?

或者,我是检查我所知道的所有桶中的所有节点,并计算我要查找的键与那些节点ID之间的异或值,然后根据与键ID的异或结果发送我的请求给前k个匹配项?

抱歉,我对DHT还比较新,并且发现在线的解释不太清晰。

1个回答

9

感谢您让我们了解情况。 :-) 实际上,距离越小,则共同前缀越长。这意味着,如果您对两个值执行异或操作,它们非常接近,如果结果开头有很多零 ;-) - Peter Wippermann

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接