在原论文的“路由”一节中,描述了正常桶分裂规则的问题如下:
每个前缀为001的节点都将有一个空的k-桶,其中应该插入u,但是u的桶刷新只会通知$ kof该节点。
我不明白为什么这是个问题。为什么每个前缀为001的节点都需要接受u的桶刷新?
我读过原来的论文,花了相当多的时间研究桶的劈开问题,但我搞不懂。有人能解释吗?
谢谢
发布于 2022-03-15 23:06:15
这就是高度不平衡树的案子。为了使kademlia正常工作,它必须对它的邻域有几乎精确的视图,而只需要对键空间中更远的部分进行次采样的视图。
最初描述的桶分裂算法只有在ID范围覆盖节点自己的ID时才会分割桶,但是如果节点的最近的邻居没有落入这个桶中,那么维护邻居的详尽视图就需要拆分一个不覆盖的桶(或者在S/Kademlia中:要维护一个显式的邻域列表)。
https://stackoverflow.com/questions/71447508
复制相似问题