Skip to content

Distributed Hash Table (DHT)

Come i nodi IPFS si trovano a vicenda e scoprono chi ha il contenuto che stai cercando.

Cos'e' un DHT?

Una Distributed Hash Table e' un sistema di ricerca decentralizzato. Pensalo come un elenco telefonico che nessuna singola persona possiede — invece, ogni partecipante possiede alcune pagine e sa a chi chiedere per le pagine che non ha.

In IPFS, il DHT mappa i CID agli indirizzi di rete dei nodi che hanno il contenuto corrispondente. Quando richiedi un file tramite CID, il DHT ti aiuta a trovare quali nodi possono servirlo.

Come funziona in IPFS

IPFS utilizza una variante del DHT Kademlia. Ogni nodo mantiene una tabella di routing dei nodi vicini (in termini di distanza XOR tra gli ID dei nodi). Quando un nodo vuole trovare un contenuto:

  1. Calcola la distanza XOR tra il CID e gli ID dei nodi conosciuti
  2. Chiede ai nodi piu' vicini che conosce: "chi ha questo CID?"
  3. Quei nodi o hanno il contenuto o indicano nodi che sono piu' vicini
  4. La ricerca converge — ogni salto si avvicina a un nodo che ha il file
  5. Il contenuto viene scaricato direttamente dal nodo fornitore

TIP

Questa ricerca richiede tipicamente solo pochi salti — anche in una rete di milioni di nodi, un file puo' essere localizzato in 20-30 passaggi.

Record dei fornitori

Quando un nodo pinna un contenuto, pubblica un record fornitore nel DHT annunciando: "Ho il CID X, e il mio indirizzo e' Y." Questi record scadono dopo ~24 ore e devono essere aggiornati periodicamente. Ecco perche' il pinning attivo e' importante — senza di esso, i record dei fornitori scadono e il contenuto diventa introvabile.

Perche' non devi pensare al DHT

IPFS.NINJA gestisce tutte le interazioni DHT per te. Quando carichi un file:

  • Il nostro cluster pinna il file e pubblica automaticamente i record dei fornitori
  • I record dei fornitori vengono aggiornati continuamente — il tuo contenuto rimane trovabile
  • Il nostro gateway risolve i CID tramite il DHT quando serve le richieste
  • Tu usi semplicemente CID e URL del gateway — il DHT e' invisibile