You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#64 added the mechanism of adding the addresses from Identify events to the k-table, otherwise incoming connections (presumably from ephemeral addresses) to Kademlia were treated as unroutable.
The problem with that solution is that a group of malicious nodes can quickly identify themselves to the node to stuff its k-table full of working but adversarial addresses, and crowd out legitimate peers, eclipsing the node.
The solution is to make sure we bootstrap first and add peers which we discovered on our own, before we accept self-identified records. The identify only runs once every 5 minutes by default, so we should cache a limited number of them until the bootstrapping is over.
#64 added the mechanism of adding the addresses from
Identify
events to the k-table, otherwise incoming connections (presumably from ephemeral addresses) to Kademlia were treated as unroutable.The problem with that solution is that a group of malicious nodes can quickly identify themselves to the node to stuff its k-table full of working but adversarial addresses, and crowd out legitimate peers, eclipsing the node.
The solution is to make sure we bootstrap first and add peers which we discovered on our own, before we accept self-identified records. The identify only runs once every 5 minutes by default, so we should cache a limited number of them until the bootstrapping is over.
See https://eprint.iacr.org/2018/236
The text was updated successfully, but these errors were encountered: