📌 DHT

DHT (Distributed Hash Table) — структура данных и протокол, используемый в распределённых системах для хранения и поиска (ключ, значение) без центрального сервера.

🧠 Как работает

В DHT каждый участник сети (узел) отвечает за часть пространства ключей.
Ключи и узлы отображаются на кольцо идентификаторов (обычно через хеш-функции).

Принцип:

  1. Ключи хешируются → получают ID
  2. Узлы хешируются → получают ID
  3. Ключ назначается ближайшему узлу (clockwise)

Роутинг:

  • Каждый узел знает часть соседей
  • Поиск ключа требует O(log N) хопов
  • Репликация используется для отказоустойчивости

Известные реализации:

  • Kademlia — XOR-метрика, используется в BitTorrent, IPFS
  • Chord — кольцо с логарифмическим роутингом
  • Pastry, Tapestry — префиксное сравнение ID

⚙️ Где применяется

СистемаИспользование
BitTorrentХранение и поиск .torrent по infohash
IPFSДецентрализованное хранилище объектов
Blockchain / CryptoПиринговые сети, light-node discovery
P2P CDNРаспределение контента по узлам

✅ Преимущества

  • Нет центральной точки отказа
  • Масштабируемость до миллионов узлов
  • Эффективный поиск: O(log N)

❌ Недостатки

  • Сложность в обеспечении согласованности и актуальности
  • Подвержены атакам Sybil, Eclipse без защиты
  • Репликация требует дополнительных механизмов