Skip to content

Дистрибуирана хеш табела (DHT)

Како се IPFS чворови међусобно проналазе и откривају ко има садржај који тражите.

Шта је DHT?

Дистрибуирана хеш табела је децентрализовани систем претраживања. Замислите је као телефонски именик који нико не поседује у целости — уместо тога, сваки учесник држи неколико страница и зна кога питати за странице које нема.

У IPFS-у, DHT мапира CID-ове на мрежне адресе чворова који имају одговарајући садржај. Када затражите фајл по CID, DHT вам помаже да пронађете који чворови га могу сервирати.

Како ради у IPFS-у

IPFS користи варијанту Kademlia DHT. Сваки чвор одржава табелу рутирања блиских чворова (у смислу XOR растојања између ID-ова чворова). Када чвор жели да пронађе садржај:

  1. Израчунава XOR растојање између CID и познатих ID-ова чворова
  2. Пита најближе чворове које познаје: "ко има овај CID?"
  3. Ти чворови или имају садржај или показују на чворове који су ближе
  4. Претрага конвергира — сваки скок се приближава чвору који има фајл
  5. Садржај се преузима директно од чвора пружаоца

TIP

Ово претраживање обично траје само неколико скокова — чак и у мрежи од милиона чворова, фајл може бити лоциран у 20-30 корака.

Записи пружалаца

Када чвор закачи садржај, објављује запис пружаоца у DHT објављујући: "Имам CID X, а моја адреса је Y." Ови записи истичу након ~24 сата и морају се периодично обнављати. Зато је активно качење важно — без њега, записи пружалаца истичу и садржај постаје неоткривљив.

Зашто не морате размишљати о DHT

IPFS.NINJA управља свим DHT интеракцијама уместо вас. Када отпремите фајл:

  • Наш кластер качи фајл и аутоматски објављује записе пружалаца
  • Записи пружалаца се непрекидно обнављају — ваш садржај остаје откривљив
  • Наш gateway разрешава CID-ове преко DHT при сервирању захтева
  • Ви једноставно користите CID-ове и URL-ове gateway-а — DHT је невидљив