Filecoin logo

Filecoin

Security

We approach security from the point of view of the DHT's Keyspace Density.

The following plots examine the peer distribution within the keyspace, aiding in the identification of potential Sybil and eclipse attacks.

Keyspace Density

In Kademlia, every object indexed by the DHT requires a binary identifier. In the libp2p DHT implementation, peers are identified by the digest of `sha256(peer_id)` and CIDs are identified by the digest of `sha256(cid)`. This Kademlia identifier determines the location of an object within the Kademlia XOR keyspace.

Keyspace Regions Population

The plot shows how many peers are included in a particular region of the keyspace. Too many peers within one region indicate a potential issue.

Keyspace Density Distribution

The plot shows the distribution of the PeerIDs across the Poisson curve. Too many PeerIDs outside the curve indicate a potential issue.

Network Stability

This plot depicts the count of node records stored within each node’s routing table and made accessible through the Filecoin DHT. These node records serve as a mechanism through which nodes discover new remote nodes in the network. The second plot shows the network stability by peer churn.

Stale Records - Mainnet

Reachable vs Unreachable DHT Records Over Time

Peer Churn

CDF of Peer Departure Times