问题标签 [kademlia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
60 浏览

distributed - s/kademlia 同级列表如何工作?

我最近在研究p2p网络。看s/kademlia论文的时候,发现兄弟广播相关内容不够详细。

这是我的问题:

  • 兄弟列表如何工作?
  • 它如何解决高度不平衡的树问题?

如果有人可以帮助我,将不胜感激!谢谢!

参考:s/kademlia 论文

0 投票
1 回答
80 浏览

blockchain - 以太坊协议如何与 geth 一起工作

我是以太坊的新手,通常是区块的新手。我了解到以太坊区块链适用于KademliaEleuth P2P很好地解释了分布式哈希表及其工作。

现在我使用geth连接到以太坊主网,它在 5 到 6 分钟内最多发现了 2 到 3 个对等点。

现在我知道了算法,但我关心的是如何发现第一个对等点?因为互联网只是一大组路由器和不同类型的计算机(服务器、计算机等),如果你像ARP那样广播发现。互联网将充斥着这些对等发现广播消息,这似乎不对。那么最初是如何建立连接的呢?此外,我们不能信任单个网络进行首次连接,因为这将使系统服务器和客户端基于而不是分散,那么初始连接和对等点发现如何发生?

广播消息是否像我猜的那样具有 TTL 以防止 TCP 中的循环循环?但这对我来说似乎也是一个可怕的想法。

请解释。

0 投票
0 回答
11 浏览

distributed-computing - 如何找到给定键的值?

Kademlia 有 4 条 RPC 消息:

  1. 店铺
  2. 查找节点
  3. 查找值

kademlia 节点如何找到给定键的值?给定一个 id,很明显,对于大小为 $n$ 的网络中的节点,只需 $log(n)$ 步即可找到具有该 id 的节点。但是一个节点如何有效地找到另一个存储了给定键值对的节点呢?如果一个人对节点持有它一无所知,它必须是 $n$ 个节点的顺序来检索一个键的值。