Reputation: 461
In Kademlia and other DHTs, each node should be uniquely identifiable, yet nothing inherently enforces the random creation of an ID.
Thus my question: What would be the consequence of a new (adversarial) peer joining the network with an existing Node ID? Would the new (adversarial) peer be rejected, since the Node ID with an associated IP is already present in many k-buckets?
From the original paper:
Each Kademlia node has a 160-bit node ID. Node IDs are constructed as in Chord, but to simplify this paper we assume machines just choose a random, 160-bit identifier when joining the system.
Upvotes: 0
Views: 229
Reputation: 43042
The kademlia paper's focus is describing a routing algorithm. It does not deal with real-world concerns such as NAT or malicious nodes.
So the strategy of dealing with this kind of attack will vary between implementations. Some may use cryptographic node IDs, some may revalidate the old IP or ignore packets from different IPs, others may be completely fooled by this or oscillate between both IPs claiming the same ID.
Upvotes: 2