Skip to content

Distributed Hash Table (DHT)

Wie IPFS-Knoten einander finden und herausfinden, wer den gesuchten Inhalt hat.

Was ist ein DHT?

Eine Distributed Hash Table ist ein dezentrales Nachschlagesystem. Stellen Sie es sich wie ein Telefonbuch vor, das keine einzelne Person besitzt — stattdessen hält jeder Teilnehmer einige Seiten und weiß, wen er nach den fehlenden Seiten fragen kann.

In IPFS bildet der DHT CIDs auf die Netzwerkadressen der Knoten ab, die den entsprechenden Inhalt haben. Wenn Sie eine Datei per CID anfordern, hilft Ihnen der DHT, die Knoten zu finden, die sie bereitstellen können.

Wie es in IPFS funktioniert

IPFS verwendet eine Variante des Kademlia DHT. Jeder Knoten pflegt eine Routing-Tabelle nahegelegener Knoten (bezüglich der XOR-Distanz zwischen Knoten-IDs). Wenn ein Knoten Inhalt finden möchte:

  1. Er berechnet die XOR-Distanz zwischen dem CID und bekannten Knoten-IDs
  2. Er fragt die ihm nächsten bekannten Knoten: „Wer hat diesen CID?"
  3. Diese Knoten haben entweder den Inhalt oder verweisen auf Knoten, die näher dran sind
  4. Die Suche konvergiert — mit jedem Sprung kommt man einem Knoten näher, der die Datei hat
  5. Der Inhalt wird direkt vom bereitstellenden Knoten abgerufen

TIP

Diese Suche benötigt typischerweise nur wenige Sprünge — selbst in einem Netzwerk mit Millionen von Knoten kann eine Datei in 20-30 Schritten gefunden werden.

Provider-Einträge

Wenn ein Knoten Inhalt pinnt, veröffentlicht er einen Provider-Eintrag im DHT, der ankündigt: „Ich habe CID X, und meine Adresse ist Y." Diese Einträge laufen nach etwa 24 Stunden ab und müssen regelmäßig erneuert werden. Deshalb ist aktives Pinning wichtig — ohne es laufen Provider-Einträge ab und der Inhalt wird unauffindbar.

Warum Sie sich keine Gedanken über den DHT machen müssen

IPFS.NINJA übernimmt alle DHT-Interaktionen für Sie. Wenn Sie eine Datei hochladen:

  • Unser Cluster pinnt die Datei und veröffentlicht automatisch Provider-Einträge
  • Provider-Einträge werden kontinuierlich erneuert — Ihr Inhalt bleibt auffindbar
  • Unser Gateway löst CIDs bei der Bereitstellung von Anfragen über den DHT auf
  • Sie verwenden einfach CIDs und Gateway-URLs — der DHT ist unsichtbar