wiki:NetDB/NextBackend

Version 15 (modified by hottuna, 6 years ago) (diff)

General P2P networks

Name Search horizon* Comments
Gnutella Limited
Gnutella2 Limited


  • Search horizon describes how much the network that can be searched from a certain position in the network graph. Limited search horizon means that a search from one part of the network won't necessarily find results from another part of the network.

DHTs

DHTs are a good alternative due to O(log n) lookup time and a unlimited search horizon. But have serious issues when it comes to being robust against attacks.

Name Search horizon* Lookup steps Mutable data Comments
Kademlia Unlimited Max: O(log2 n)
Min: O(log2b n)
No Is susceptible to sybil and eclipse attacks.*
Freenet Unlimited O(log2 n) [2]No
Choord Unlimited No Is highly susceptible to sybil and eclipse attacks.*
Pastry Unlimited No Is highly susceptible to sybil and eclipse attacks.*


  • Kademlia is less susceptible to eclipse attacks. "For one thing, it is difficult to affect the routing tables of a Kademlia node, as each node tends to keep only highly available peers in its routing table. This increases the required costs for an attacker to convince honest nodes to link to the compromised nodes. Similarly, Kademlia uses iterative routing, exploring multiple nodes at each step, making routing less dependent on specific nodes and thus less vulnerable to attacks." [1]

Kademlia lookups can be optimized by enlarging how many bits of IDs, b, that are considered for each bucket. With b > 1 lookup steps would be decreased from O(log2 n) to O(log2b n) but the number of buckets would be increased to an expected 2blog2bn. [2]


[1] A Survey of DHT Security Techniques _
[2] Kademlia: A Peer-to-peer information system based on the XOR Metric _
[3] Searching in a Small World _
[4] R5N : Randomized Recursive Routing for Restricted-Route Networks _

Kademlia Sybil Defence

Kademlia Eclipse Defence

Name Source Description
Recursive & random lookups R5N [4]

Attachments (2)

Download all attachments as: .zip