Skip to content

Разпределена хеш таблица (DHT)

Как IPFS възлите се намират помежду си и откриват кой има съдържанието, което търсите.

Какво е DHT?

Разпределената хеш таблица е децентрализирана система за търсене. Мислете за нея като за телефонен указател, който никой не притежава изцяло — вместо това всеки участник държи няколко страници и знае кого да попита за страниците, които няма.

В IPFS DHT свързва CID-ове с мрежовите адреси на възлите, които имат съответното съдържание. Когато поискате файл по CID, DHT ви помага да намерите кои възли могат да го обслужат.

Как работи в IPFS

IPFS използва вариант на Kademlia DHT. Всеки възел поддържа таблица за маршрутизация на близки възли (по XOR разстояние между идентификаторите на възлите). Когато възел иска да намери съдържание:

  1. Изчислява XOR разстоянието между CID и известните идентификатори на възли
  2. Пита най-близките възли, които познава: "кой има този CID?"
  3. Тези възли или имат съдържанието, или сочат към по-близки възли
  4. Търсенето конвергира — всеки скок се приближава до възел, който има файла
  5. Съдържанието се изтегля директно от възела доставчик

TIP

Това търсене обикновено отнема само няколко скока — дори в мрежа от милиони възли, файл може да бъде локализиран за 20-30 стъпки.

Записи на доставчици

Когато възел закачи съдържание, той публикува запис на доставчик в DHT, обявявайки: "Имам CID X и адресът ми е Y." Тези записи изтичат след ~24 часа и трябва да бъдат периодично обновявани. Ето защо активното закачане е важно — без него записите на доставчиците изтичат и съдържанието става неоткриваемо.

Защо не трябва да мислите за DHT

IPFS.NINJA обработва всички DHT взаимодействия вместо вас. Когато качите файл:

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