Skip to content

Distribuovaná hashovací tabulka (DHT)

Jak se IPFS uzly navzájem nacházejí a zjišťují, kdo má obsah, který hledáte.

Co je DHT?

Distribuovaná hashovací tabulka je decentralizovaný vyhledávací systém. Představte si ji jako telefonní seznam, který žádná osoba nedrží celý — místo toho každý účastník drží několik stránek a ví, koho se zeptat na stránky, které nemá.

V IPFS DHT mapuje CID na síťové adresy uzlů, které mají odpovídající obsah. Když požádáte o soubor podle CID, DHT vám pomůže najít, které uzly ho mohou poskytnout.

Jak to funguje v IPFS

IPFS používá variantu Kademlia DHT. Každý uzel udržuje směrovací tabulku blízkých uzlů (z hlediska XOR vzdálenosti mezi ID uzlů). Když uzel chce najít obsah:

  1. Vypočítá XOR vzdálenost mezi CID a známými ID uzlů
  2. Zeptá se nejbližších uzlů, které zná: "kdo má tento CID?"
  3. Tyto uzly buď mají obsah, nebo ukáží na uzly, které jsou blíže
  4. Hledání konverguje — každý skok se přibližuje uzlu, který má soubor
  5. Obsah je stažen přímo z poskytujícího uzlu

TIP

Toto vyhledávání obvykle trvá jen několik skoků — i v síti milionů uzlů lze soubor lokalizovat za 20-30 kroků.

Záznamy poskytovatelů

Když uzel připne obsah, publikuje záznam poskytovatele do DHT oznamující: "Mám CID X a moje adresa je Y." Tyto záznamy expirují přibližně po 24 hodinách a musí být pravidelně obnovovány. Proto je aktivní připínání důležité — bez něj záznamy poskytovatelů expirují a obsah se stane neodhalitelným.

Proč nemusíte přemýšlet o DHT

IPFS.NINJA za vás zpracovává všechny interakce s DHT. Když nahrajete soubor:

  • Náš cluster připne soubor a automaticky publikuje záznamy poskytovatelů
  • Záznamy poskytovatelů jsou průběžně obnovovány — váš obsah zůstává odhalitelný
  • Naše gateway překládá CID přes DHT při servírování požadavků
  • Vy prostě používáte CID a URL gateway — DHT je neviditelné