📌 DHT
DHT (Distributed Hash Table) — структура данных и протокол, используемый в распределённых системах для хранения и поиска (ключ, значение) без центрального сервера.
🧠 Как работает
В DHT каждый участник сети (узел) отвечает за часть пространства ключей.
Ключи и узлы отображаются на кольцо идентификаторов (обычно через хеш-функции).
Принцип:
- Ключи хешируются → получают ID
- Узлы хешируются → получают ID
- Ключ назначается ближайшему узлу (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 без защиты
- Репликация требует дополнительных механизмов