Skip to content

Tabel hash distribuit (DHT)

Cum se găsesc nodurile IPFS între ele și descoperă cine are conținutul pe care îl căutați.

Ce este un DHT?

Un tabel hash distribuit este un sistem de căutare descentralizat. Gândiți-vă la el ca la o carte de telefon pe care nimeni nu o deține integral -- în schimb, fiecare participant deține câteva pagini și știe pe cine să întrebe pentru paginile pe care nu le are.

În IPFS, DHT-ul mapează CID-uri la adresele de rețea ale nodurilor care au conținutul corespunzător. Când solicitați un fișier prin CID, DHT-ul vă ajută să găsiți ce noduri îl pot servi.

Cum funcționează în IPFS

IPFS folosește o variantă a Kademlia DHT. Fiecare nod menține un tabel de rutare al nodurilor apropiate (în termeni de distanță XOR între ID-urile nodurilor). Când un nod vrea să găsească conținut:

  1. Calculează distanța XOR între CID și ID-urile de nod cunoscute
  2. Întreabă cele mai apropiate noduri pe care le cunoaște: "cine are acest CID?"
  3. Acele noduri fie au conținutul, fie arată spre noduri mai apropiate
  4. Căutarea convergează -- fiecare salt se apropie de un nod care are fișierul
  5. Conținutul este preluat direct de la nodul furnizor

TIP

Această căutare durează de obicei doar câteva salturi -- chiar și într-o rețea de milioane de noduri, un fișier poate fi localizat în 20-30 de pași.

Înregistrări de furnizor

Când un nod fixează conținut, publică o înregistrare de furnizor în DHT anunțând: "Am CID X, iar adresa mea este Y." Aceste înregistrări expiră după ~24 de ore și trebuie reîmprospătate periodic. De aceea fixarea activă contează -- fără ea, înregistrările de furnizor expiră și conținutul devine nedescoperibil.

De ce nu trebuie să vă gândiți la DHT

IPFS.NINJA gestionează toate interacțiunile DHT pentru dvs. Când încărcați un fișier:

  • Clusterul nostru fixează fișierul și publică automat înregistrări de furnizor
  • Înregistrările de furnizor sunt reîmprospătate continuu -- conținutul dvs. rămâne descoperibil
  • Gateway-ul nostru rezolvă CID-urile prin DHT la servirea cererilor
  • Folosiți doar CID-uri și URL-uri gateway -- DHT-ul este invizibil