Skip to content

Distribuirana hash tablica (DHT)

Kako se IPFS čvorovi pronalaze i otkrivaju tko ima sadržaj koji tražite.

Što je DHT?

Distribuirana hash tablica je decentralizirani sustav pretraživanja. Zamislite je kao telefonski imenik koji nitko ne drži u cijelosti — umjesto toga, svaki sudionik drži nekoliko stranica i zna koga pitati za stranice koje nema.

U IPFS-u, DHT mapira CID-ove na mrežne adrese čvorova koji imaju odgovarajući sadržaj. Kada zatražite datoteku prema CID-u, DHT vam pomaže pronaći koji čvorovi je mogu poslužiti.

Kako radi u IPFS-u

IPFS koristi varijantu Kademlia DHT. Svaki čvor održava tablicu usmjeravanja bliskih čvorova (u smislu XOR udaljenosti između ID-ova čvorova). Kada čvor želi pronaći sadržaj:

  1. Izračunava XOR udaljenost između CID-a i poznatih ID-ova čvorova
  2. Pita najbliže čvorove koje poznaje: "tko ima ovaj CID?"
  3. Ti čvorovi ili imaju sadržaj ili upućuju na čvorove koji su bliže
  4. Pretraga konvergira — svaki skok se približava čvoru koji ima datoteku
  5. Sadržaj se preuzima izravno od čvora pružatelja

TIP

Ovo pretraživanje obično traje samo nekoliko skokova — čak i u mreži od milijuna čvorova, datoteka se može locirati u 20-30 koraka.

Zapisi pružatelja

Kada čvor prikvači sadržaj, objavljuje zapis pružatelja u DHT-u objavljujući: "Imam CID X, a moja adresa je Y." Ovi zapisi istječu nakon ~24 sata i moraju se periodički osvježavati. Zato je aktivno prikvačivanje važno — bez njega, zapisi pružatelja istječu i sadržaj postaje neotkrivljiv.

Zašto ne morate razmišljati o DHT-u

IPFS.NINJA upravlja svim DHT interakcijama umjesto vas. Kada prenesete datoteku:

  • Naš klaster prikvačuje datoteku i automatski objavljuje zapise pružatelja
  • Zapisi pružatelja se kontinuirano osvježavaju — vaš sadržaj ostaje otkrivljiv
  • Naš gateway razrješava CID-ove putem DHT-a pri posluživanju zahtjeva
  • Vi jednostavno koristite CID-ove i URL-ove gatewaya — DHT je nevidljiv