首页 > 解决方案 > Kademlia论文中的桶高是什么意思?

问题描述

它说:

我们从一些定义开始。对于覆盖距离范围 2i,2i+1 的 k-bucket,将 bucket 的索引定义为 i。将节点的深度 h 定义为 160 - i,其中 i 是非空桶的最小索引。将节点 y 在节点 x 中的桶高度定义为 x 将插入 y 的桶的索引减去 x 的最低有效空桶的索引。由于节点 ID 是随机选择的,因此不太可能出现高度不均匀的分布。因此,对于具有 n 个节点的系统,任何给定节点的高度以压倒性的概率将在 log n 的常数内。此外,与第 k 个最近节点中的 ID 最近的节点的桶高度可能在 log k 的常数内。

我可以理解桶高的定义,但我不知道为什么我们需要这个定义,我不明白该段的最后一句。


更新:我还认为该论文有一个错字:桶高度应该是包含 y 的桶的索引减去 x 的最不重要的“非”空桶的索引。我错了吗?

标签: kademlia

解决方案


但我不知道为什么我们需要这个定义

kademlia 在路由表大小和查找步骤方面的 O(log n) 效率的论点是基于将 n 个节点的整个键空间映射到 k 桶中,其中更远的桶覆盖键空间的指数更大的部分。有效地将整个网络压缩成有偏差的样本列表。

然后进一步的参数基于这个基于桶的投影。

此外,与第 k 个最近节点中的 ID 最近的节点的桶高度可能在 log k 的常数内。

我认为这是一种令人费解的说法,即您的 k 个最近邻居最终都将在同一个存储桶中或附近,即最深的存储桶(最小索引非空存储桶)。

请注意,这是用平面布局表示的,在树布局中,最小的桶将类似于但不一定与覆盖自身 ID 的桶相同。


推荐阅读