Распределённая хеш-таблица


DHT (англ. distributed hash table — «распределённая хеш-таблица») — это класс децентрализованных распределённых систем поисковой службы, работающей подобно хеш-таблице. Как структура данных, хеш-таблица может представлять собой ассоциативный массив, содержащий пары (ключ-значение). С термином DHT также связаны некоторые принципы и алгоритмы, которые позволяют записывать данные, распределяя информацию среди определенного набора узлов-хранителей, и восстанавливать их посредством распределенного поиска по ключу. Ответственность за поддержание связи между именем и значением распределяется между узлами так, чтобы изменения в наборе участников вызывали минимальное количество разрывов. Это позволяет легко масштабировать DHT, а также постоянно отслеживать добавление и удаление узлов и ошибки в их работе.

DHT — это инфраструктура, которая может быть использована для построения многих сложных служб, таких как распределённые файловые системы, пиринговое распространение файлов и сети доставки содержимого, кооперативный web-кэш, многоадресное вещание (multicast), anycast, служба доменных имен и система мгновенных сообщений. Основные распределённые сети, которые используют DHT: сеть I2P, BitTorrent, eDonkey network (Kad Network)[источник не указан 3630 дней], YaCy, Tox и Coral Content Distribution Network. Существует возможность создания поисковых машин по сети DHT.

Исследования в области DHT изначально были мотивированы пиринговыми системами, такими как I2P, Napster, Gnutella, Freenet, которые использовали распределённые в Интернете ресурсы для создания одного приложения. В частности, они использовали широкополосный интернет и пространство на жёстких дисках для предоставления сервиса распространения файлов.

DHT используют маршрутизацию на базе более структурированного ключа, чтобы достичь децентрализации I2P, Gnutella и Freenet, а также эффективности и гарантируемых результатов Napster. Один из недочётов в том, что, как Freenet, DHT поддерживает только поиск по точному совпадению, а не по ключевым словам, хотя эти возможности могут наслаиваться поверх DHT.