【问题标题】:Is it possible to compute an approximate size estimate of a kademlia network from a node's k-buckets?是否可以从节点的 k-buckets 计算 kademlia 网络的近似大小估计?
【发布时间】:2022-10-14 05:23:12
【问题描述】:

假设 nodeids 是均匀分布的,是否可以根据 k-bucket 缓存计算出估计的节点数?

我想要这个的原因是我想创建一个基于主线 DHT 并添加了 BEP42 (https://www.bittorrent.org/beps/bep_0042.html) 的 kademlia 网络,该网络以某种程度的信任存储数据,即值得信赖的人实际上正在提供它,而不是拥有有兴趣更改给定 infohash 键的值。

我想使用估计的节点数来确定我对节点给出的答案的信任程度。因此,如果一个节点从对等点获得回复,那么通过使用对等点的 nodeid 和请求的 infohash 的距离以及网络的大小,我将计算一个信任分数。

我假设我可以乘以每一层中 k-buckets 的大小来得到一个估计值。例如,在下图中,https://docs.google.com/presentation/d/11qGZlPWu6vEAhA7p3qsQaQtWH7KofEC9dMeBFZ1gYeA/edit#slide=id.g1718cc2bc_01994

总估计将是,(自下而上):(3+2)(4+1)(4+1)*(4+1) = 625

【问题讨论】:

    标签: kademlia


    【解决方案1】:

    是的,可以通过这种方式进行估算。但这可能是一个相当粗略的估计。 更好的方法是使用 k-closest-node 随机 find_node 查找集,无论如何您都必须将其作为路由表维护的一部分。他们提供更多样本来计算这些估计值。

    如果您从头开始设计新的 DHT,而不是使用 bittorrent DHT,那么任何基于节点密度的安全措施都非常薄弱,因为有人总是可以在僵尸网络上购买一些容量来攻击特定的关键区域或类似的东西。您应该考虑是否可以使用密码学来保护您想要保护的任何内容。

    【讨论】:

      猜你喜欢
      • 2019-10-27
      • 2023-03-07
      • 1970-01-01
      • 2021-11-03
      • 1970-01-01
      • 2012-07-04
      • 1970-01-01
      • 2021-04-20
      • 2016-11-19
      相关资源
      最近更新 更多