kademlia

What are the most recent bittorrent DHT implementation recommendations?

一曲冷凌霜 提交于 2019-12-01 10:23:51
问题 I'm working on implementing yet another bittorrent client and at this time struggling with DHT. It is implemented accordingly to this specification http://www.bittorrent.org/beps/bep_0005.html but starting debugging it I noticed that other nodes' responses on the network vary. For example, find_node is supposed to return either target node info or 8 closest nodes. Most of the nodes reply with 34 closest nodes and usually only 1 - 3 nodes from those 34 successfully reply to the consequent ping

Implementing find node on torrent kademlia routing table

ぐ巨炮叔叔 提交于 2019-11-29 07:25:34
I, already, reviewed a number of documents on this topic but there is something not exactly clear. For example bit torrent document ( http://www.bittorrent.org/beps/bep_0005.html ) states The routing table is subdivided into "buckets" that each cover a portion of the space. An empty table has one bucket with an ID space range of min=0, max=2^160. When a node with ID "N" is inserted into the table, it is placed within the bucket that has min <= N < max. An empty table has only one bucket so any node must fit within it. Each bucket can only hold K nodes, currently eight, before becoming "full."

How to represent a kademlia routing table as data structure

爱⌒轻易说出口 提交于 2019-11-28 14:18:57
The kademlia paper talks about the the organization of buckets, splitting, merging and finding the correct bucket to insert in abstract, concise and confusing terms. §2.2 talks about a fixed set of 160 buckets with each bucket covering a fixed subset of the keyspace. But later chapters involve additional splitting and buckets covering different parts of the keyspace. That don't fit well into a fixed list What is the correct way to organize buckets? Meta: Since the confusion is reflected in many questions and partial information has been scattered over many answers this Q&A are intended to

How to understand the time complexity of Kademlia node operation

雨燕双飞 提交于 2019-11-28 12:52:17
I'm now learning Kademlia network by reading the classical paper Kademlia: A Peer-to-peer Information System Based on the XOR Metric . I want to understand the complexity of its operation but still cannot figure it out. In the 3 Sketch of proof section, the paper gives two definitions: Depth of a node (h) : 160 − i, where i is the smallest index of a non-empty bucket Node y’s bucket height in node x : the index of the bucket into which x would insert y minus the index of x’s least significant empty bucket . And three conclusions: With overwhelming probability the height of a any given node

Implementing find node on torrent kademlia routing table

孤街醉人 提交于 2019-11-27 18:28:57
问题 I, already, reviewed a number of documents on this topic but there is something not exactly clear. For example bit torrent document (http://www.bittorrent.org/beps/bep_0005.html) states The routing table is subdivided into "buckets" that each cover a portion of the space. An empty table has one bucket with an ID space range of min=0, max=2^160. When a node with ID "N" is inserted into the table, it is placed within the bucket that has min <= N < max. An empty table has only one bucket so any

Is there a clearly documented consensus in plain English that describes Maymounkov and Mazieres Kademlia system?

我的未来我决定 提交于 2019-11-27 15:50:25
I am struggling with the original paper trying to understand seemingly contradicting paragraphs. One example is where in 2.2 the authors declare that for bit space 160 there will be 160 k buckets, then later go on to say that in fact the buckets are a smaller number covering wider bit ranges and organized by prefix binary trees. In that 2.4 section they talk about unbalanced trees that lead to interpretations like the following, https://stackoverflow.com/a/32187456/442396 , where it is not clear if the answer there does reflect MMs intentions. Is there a clearly documented consensus out there

How to understand the time complexity of Kademlia node operation

≯℡__Kan透↙ 提交于 2019-11-27 07:18:58
问题 I'm now learning Kademlia network by reading the classical paper Kademlia: A Peer-to-peer Information System Based on the XOR Metric. I want to understand the complexity of its operation but still cannot figure it out. In the 3 Sketch of proof section, the paper gives two definitions: Depth of a node (h) : 160 − i, where i is the smallest index of a non-empty bucket Node y’s bucket height in node x : the index of the bucket into which x would insert y minus the index of x’s least significant

How Kademlia tree of nodes relates to the infohash of a torrent file?

一笑奈何 提交于 2019-11-26 21:54:09
问题 I'm trying to understand how Kademlia works in regards to finding a resource. There is pretty good description of now to build a node tree which is closest to the self node, how to find the distance between nodes, how to initiate the process etc. What I don't understand is how the file infohash fits into this picture. All descriptions tell us how to get into the play and build your own part of the distributed hash table but it is not it. We are doing this to actually find a resource, a file