Skip to content

Rozproszona tablica hashów (DHT)

Jak węzły IPFS odnajdują się nawzajem i odkrywają, kto ma szukaną treść.

Czym jest DHT?

Rozproszona tablica hashów to zdecentralizowany system wyszukiwania. Pomyśl o niej jak o książce telefonicznej, której żadna pojedyncza osoba nie posiada — zamiast tego każdy uczestnik ma kilka stron i wie, kogo zapytać o strony, których nie ma.

W IPFS DHT mapuje CID na adresy sieciowe węzłów, które mają odpowiednią treść. Gdy żądasz pliku po CID, DHT pomaga znaleźć, które węzły mogą go dostarczyć.

Jak to działa w IPFS

IPFS używa wariantu DHT Kademlia. Każdy węzeł utrzymuje tablicę routingu pobliskich węzłów (pod względem odległości XOR między identyfikatorami węzłów). Gdy węzeł chce znaleźć treść:

  1. Oblicza odległość XOR między CID a znanymi identyfikatorami węzłów
  2. Pyta najbliższe węzły, które zna: "kto ma ten CID?"
  3. Te węzły albo mają treść, albo wskazują na węzły bliższe
  4. Wyszukiwanie konwerguje — każdy skok zbliża się do węzła, który ma plik
  5. Treść jest pobierana bezpośrednio z węzła dostawcy

TIP

To wyszukiwanie zazwyczaj wymaga tylko kilku skoków — nawet w sieci milionów węzłów plik może być zlokalizowany w 20-30 krokach.

Rekordy dostawców

Gdy węzeł przypina treść, publikuje rekord dostawcy w DHT ogłaszając: "Mam CID X, a mój adres to Y." Te rekordy wygasają po ~24 godzinach i muszą być okresowo odświeżane. Dlatego aktywne przypinanie jest ważne — bez niego rekordy dostawców wygasają i treść staje się nieodkrywalna.

Dlaczego nie musisz myśleć o DHT

IPFS.NINJA obsługuje wszystkie interakcje DHT za ciebie. Gdy przesyłasz plik:

  • Nasz klaster przypina plik i automatycznie publikuje rekordy dostawców
  • Rekordy dostawców są ciągle odświeżane — twoja treść pozostaje odkrywalna
  • Nasza bramka rozwiązuje CID przez DHT podczas obsługi żądań
  • Ty po prostu używasz CID i URL-i bramki — DHT jest niewidoczne