Skip to content

Distribuovaná hashovacia tabuľka (DHT)

Ako sa IPFS uzly navzájom nachádzajú a zisťujú, kto má obsah, ktorý hľadáte.

Čo je DHT?

Distribuovaná hashovacia tabuľka je decentralizovaný vyhľadávací systém. Predstavte si ju ako telefónny zoznam, ktorý žiadna osoba nedrží celý — namiesto toho každý účastník drží niekoľko stránok a vie, koho sa opýtať na stránky, ktoré nemá.

V IPFS DHT mapuje CID na sieťové adresy uzlov, ktoré majú zodpovedajúci obsah. Keď požiadate o súbor podľa CID, DHT vám pomôže nájsť, ktoré uzly ho môžu poskytnúť.

Ako to funguje v IPFS

IPFS používa variantu Kademlia DHT. Každý uzol udržiava smerovaciu tabuľku blízkych uzlov (z hľadiska XOR vzdialenosti medzi ID uzlov). Keď uzol chce nájsť obsah:

  1. Vypočíta XOR vzdialenosť medzi CID a známymi ID uzlov
  2. Opýta sa najbližších uzlov, ktoré pozná: "kto má tento CID?"
  3. Tieto uzly buď majú obsah, alebo ukážu na uzly, ktoré sú bližšie
  4. Hľadanie konverguje — každý skok sa približuje uzlu, ktorý má súbor
  5. Obsah je stiahnutý priamo z poskytujúceho uzla

TIP

Toto vyhľadávanie obvykle trvá len niekoľko skokov — aj v sieti miliónov uzlov možno súbor lokalizovať za 20-30 krokov.

Záznamy poskytovateľov

Keď uzol pripne obsah, publikuje záznam poskytovateľa do DHT oznamujúci: "Mám CID X a moja adresa je Y." Tieto záznamy expirujú približne po 24 hodinách a musia byť pravidelne obnovované. Preto je aktívne pripínanie dôležité — bez neho záznamy poskytovateľov expirujú a obsah sa stane neodhaliteľným.

Prečo nemusíte premýšľať o DHT

IPFS.NINJA za vás spracováva všetky interakcie s DHT. Keď nahráte súbor:

  • Náš cluster pripne súbor a automaticky publikuje záznamy poskytovateľov
  • Záznamy poskytovateľov sú priebežne obnovované — váš obsah zostáva odhaliteľný
  • Naša gateway prekladá CID cez DHT pri servírovaní požiadaviek
  • Vy jednoducho používate CID a URL gateway — DHT je neviditeľné