Skip to content

Gedistribueerde hashtabel (DHT)

Hoe IPFS-knooppunten elkaar vinden en ontdekken wie de inhoud heeft die je zoekt.

Wat is een DHT?

Een gedistribueerde hashtabel is een gedecentraliseerd opzoeksysteem. Denk eraan als een telefoonboek dat niemand volledig bezit -- elke deelnemer heeft enkele pagina's en weet wie te vragen voor de pagina's die ze niet hebben.

In IPFS koppelt de DHT CID's aan de netwerkadressen van knooppunten die de bijbehorende inhoud hebben.

Hoe het werkt in IPFS

IPFS gebruikt een variant van de Kademlia DHT. Wanneer een knooppunt inhoud wil vinden:

  1. Het berekent de XOR-afstand tussen de CID en bekende knooppunt-ID's
  2. Het vraagt de dichtstbijzijnde knooppunten: "wie heeft deze CID?"
  3. Die knooppunten hebben de inhoud of wijzen naar knooppunten die dichterbij zijn
  4. De zoekopdracht convergeert naar een knooppunt dat het bestand heeft
  5. De inhoud wordt rechtstreeks opgehaald van het aanbiedende knooppunt

TIP

Deze opzoeking duurt meestal slechts enkele stappen -- zelfs in een netwerk van miljoenen knooppunten kan een bestand worden gelokaliseerd in 20-30 stappen.

Providerrecords

Wanneer een knooppunt inhoud vastzet, publiceert het een providerrecord naar de DHT. Deze records verlopen na ~24 uur en moeten periodiek worden vernieuwd. Daarom is actief vastzetten belangrijk.

Waarom je niet over de DHT hoeft na te denken

IPFS.NINJA handelt alle DHT-interacties voor je af. Wanneer je een bestand uploadt:

  • Ons cluster zet het bestand vast en publiceert automatisch providerrecords
  • Providerrecords worden continu vernieuwd -- je inhoud blijft vindbaar
  • Onze gateway lost CID's op via de DHT bij het verwerken van verzoeken
  • Je gebruikt gewoon CID's en gateway-URL's -- de DHT is onzichtbaar