From Wikipedia
Kademlia routing tables consist of a list for each bit of the node ID. If a node ID consists of 128 bits, a node will keep 128 such lists.
Given that a keyspace is from 0-2^160
it means maximum nodes can be present in that keyspace are 2^160
and each Node ID is of 160-bit. If k=20 then maximum entries a node can keep in its routing table is 160x20
. How a node can keep track of such a huge amount of nodes in its routing table. Shouldn't a node keep entries of only those 20 nodes present in its own k-bucket with bucket size k=20
? How it can keep 160 such lists even though that node is itself not on those lists except that it is present on one list with 20 nodes?
I'm using lists and bucket interchangeably, they both are the same.