Skip to content

Distribuert hashtabell (DHT)

Hvordan IPFS-noder finner hverandre og oppdager hvem som har innholdet du leter etter.

Hva er en DHT?

En distribuert hashtabell er et desentralisert oppslagssystem. Tenk pa det som en telefonbok som ingen enkelt person har — i stedet har hver deltaker noen sider, og de vet hvem de skal sporge om sidene de ikke har.

I IPFS mapper DHT-en CID-er til nettverksadressene for noder som har det tilsvarende innholdet. Nar du forespor en fil via CID, hjelper DHT-en deg med a finne hvilke noder som kan servere den.

Hvordan det fungerer i IPFS

IPFS bruker en variant av Kademlia DHT. Hver node opprettholder en rutingstabell over naerliggende noder (i form av XOR-avstand mellom node-ID-er). Nar en node vil finne innhold:

  1. Den beregner XOR-avstanden mellom CID-en og kjente node-ID-er
  2. Den spor de naermeste nodene den kjenner: "hvem har dette CID?"
  3. Disse nodene har enten innholdet eller peker pa noder som er naermere
  4. Soket konvergerer — hvert hopp kommer naermere en node som har filen
  5. Innholdet hentes direkte fra den tilbydende noden

TIP

Dette oppslaget tar vanligvis bare noen fa hopp — selv i et nettverk med millioner av noder kan en fil lokaliseres pa 20-30 steg.

Leverandorregistre

Nar en node fester innhold, publiserer den et leverandorregister til DHT-en som meddeler: "Jeg har CID X, og min adresse er Y." Disse registrene utloper etter ~24 timer og ma oppdateres regelmessig. Derfor er aktiv festing viktig — uten den utloper leverandorregistrene og innholdet blir uoppdagbart.

Hvorfor du ikke trenger a tenke pa DHT-en

IPFS Ninja handterer alle DHT-interaksjoner for deg. Nar du laster opp en fil:

  • Klyngen var fester filen og publiserer leverandorregistre automatisk
  • Leverandorregistre oppdateres kontinuerlig — innholdet ditt forblir oppdagbart
  • Gatewayen var loser CID-er via DHT-en nar den serverer foresporsel
  • Du bruker bare CID-er og gateway-URL-er — DHT-en er usynlig