1

I need a precise spec for the RLPx p2p algorithms. Right now the wiki says "kademlia like" and that is not sufficient. The original paper from Maymounkov and Mazieres is confusing, widely misunderstood, and Kademlia implementations vary. Is there an agreed interpretation of Kademlia documented?

Sentinel
  • 1,238
  • 9
  • 19
  • No. The description of the p2p kademlia system there refers only to Maymounkov and Mazieres, which is not a clear spec. See comments here for example https://stackoverflow.com/a/32187456/442396 – Sentinel Nov 27 '17 at 09:04
  • Perhaps I could direct attention to this question https://stackoverflow.com/q/47507317/442396 – Sentinel Nov 27 '17 at 09:18
  • Actually, I have just found this from vbuterin https://github.com/ethereum/wiki/wiki/Kademlia-Peer-Selection Is this the current spec? – Sentinel Nov 27 '17 at 09:36
  • Hi Sentinel, have you arrived to any conclusions pertaining to the topic in cause? – Souza May 29 '18 at 01:58
  • @Souza. Yes, my question is no longer important to me here. There is no spec, the v4 discovery protocol is significantly different than Maymounkov/Mazieres, introduces a 'bonding' process of ping/pong exchanges, does not split buckets dynamically, does not refresh stale buckets with random ids, and in general cannot enforce a discovery protocol in any client implementations because there is no mechanism to do so in higher level protocols. In short, so long as you comply with ping/pong bonding you can do what you want. Pretty flaky really. – Sentinel May 29 '18 at 05:44

1 Answers1

1

There is a rough, incomplete, explanation of v4 discovery protocol and an explanation of the v5 discovery protocol at this draft documents location:

https://github.com/fjl/p2p-drafts

Sentinel
  • 1,238
  • 9
  • 19