Open
Description
It may be possible to make a DHT robust against eclipse attacks by using expected distribution of node IDs.
In a DHT, nodes are expected to be evenly distributed around the node ID space. In a DHT with an active eclipse attack, one would expect a large cluster of node IDs around the target key.
Instead of using K as the bucket size, one could use expected ID distribution. For example, in a network with 10K nodes, one would expect:
- 1 node to share
logtwo(10,000) = 13
at least bits. - 2 nodes to share at least 12 bits.
- ...
- 20 nodes to share at least 8-9 nits (
logtwo(network size) - logtwo(K)
)
So, instead of putting to the closest 20 peers, you'd calculate the expected network size (e.g., by asking other peers how close their neighbors are and assuming a uniform network), then put to all peers sharing the expected number of bits (in this case, 8).