栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何理解Kademlia节点操作的时间复杂度

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何理解Kademlia节点操作的时间复杂度

自从我真正阅读本文以来已经有一段时间了,所以我主要是从我的实施经验中将它们拼凑在一起,而不是尝试将我头脑中的概念与本文的正式定义相匹配,因此请采用再加一点盐


什么是“最低有效空桶”和“最高有效K桶”?

这基本上是指按相对于节点自身ID的XOR距离排序的存储桶

如何以视觉方式解释深度和铲斗高度?

每个存储桶覆盖一个键空间区域。例如,对于键空间的1/16,从0x0000 简化为2个字节到0x0FFF。这可以用类似于CIDR的掩码0x0 /
4(4个前缀位)表示。那或多或少是一个桶的深度。

有几种组织路由表的方法。“正确”的方法是根据存储桶代表的最低ID将其表示为树或排序列表。这种方法允许进行任意的桶拆分操作,这是某些路由表优化所要求的,也可以用于实现节点多宿主。

简化的实现可以改为使用固定长度的数组,并将每个存储桶放置在相对于节点自己的ID的共享前缀位的位置。也就是说,数组中的位置0将具有0个共享的前缀位,这是最远的存储桶,该存储桶覆盖了键空间的50%,而存储桶中最高有效位是节点自身ID的反向MSB。

在那种情况下,深度就是数组的位置。

如何理解第二个和第三个结论,例如,为什么选择log k和h-log k?

假设您正在寻找距离您自己节点的ID最远的ID。这样,您将只有一个存储桶覆盖键空间的该部分,即它将覆盖键空间的一半,并且最高有效位与您的不同。因此,您从该存储桶中询问一个(或几个)节点。由于其ID位与您的查找目标具有相同的第一位,因此它们或多或少地保证将其分成两个或多个,即,至少具有目标空间的键空间覆盖率的两倍。因此,他们可以提供至少1位更好的信息。

当您查询更靠近目标的节点时,它们还将在目标区域附近具有更好的键空间覆盖范围,因为这也更接近其自己的节点ID。

冲洗,重复直到找不到更近的节点。

由于每个跃点一次至少可减少1位距离,因此您基本上需要一个O(log(n))跃点计数,其中n是网络规模。由于网络大小基本上决定了节点之间的平均距离,因此也决定了家用存储桶所需的存储桶深度。

如果目标密钥更接近您自己的ID,则您将需要较少的步骤,因为您将更好地覆盖密钥空间的该区域。

由于 k 是一个常数(每个桶的节点数),因此 log k
也是一个常数。将存储桶中的节点数增加一倍,它将具有给定键空间区域的两倍分辨率,因此(概率)将产生一个比k /
2大小的存储桶更接近目标一点的节点。也就是说,对于每个希望保存的跃点,每增加一个比特,就必须使每个存储桶的条目数增加一倍。


编辑:这是一个实际的单宿主bittorrent DHT路由表的可视化,按其前缀排序,即不相对于本地节点ID:

Node ID: 2A631C8E 7655EF7B C6E99D8A 3BF810E2 1428BFD4buckets: 23 / entries: 173000...   entries:8 replacements:800100...   entries:8 replacements:00010100...   entries:8 replacements:20010101000...   entries:8 replacements:400101010010...   entries:8 replacements:7001010100110000...   entries:8 replacements:30010101001100010...   entries:8 replacements:300101010011000110000...   entries:8 replacements:1001010100110001100010...   entries:3 replacements:00010101001100011000110...   entries:6 replacements:00010101001100011000111...   entries:6 replacements:00010101001100011001...   entries:8 replacements:2001010100110001101...   entries:8 replacements:100101010011000111...   entries:8 replacements:200101010011001...   entries:7 replacements:00010101001101...   entries:8 replacements:0001010100111...   entries:8 replacements:0001010101...   entries:8 replacements:100101011...   entries:7 replacements:0001011...   entries:8 replacements:00011...   entries:8 replacements:801...   entries:8 replacements:81...   entries:8 replacements:8


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/616987.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号