Можно ли использовать метрику XOR для реализации DHT без Kademlia?

Таким образом, мы можем установить, что метрика расстояния XOR является реальной метрикой (она симметрична, удовлетворяет неравенству треугольника и т. д.).

Прежде чем читать о Kademlia и ее k-бакетах, я думал, что каждый узел просто найдет свой собственный идентификатор и сохранит k своих ближайших соседей, и наоборот. Узлы периодически пинговали своих соседей и исключали их из списка, если они не отвечали.

Теперь, если я хочу найти некоторый ключ X, я просто выдаю этот запрос ближайшему узлу среди моих соседей к X, и это продолжается рекурсивно до тех пор, пока не будет найден узел, ближайший к X среди себя и всех его соседи. Этот узел будет среди тех, кто хранит значение для X, а затем они просто обратят шаги (т. е. раскрутят стек), чтобы вернуть значение запрашивающей стороне.

Узел просто ищет свой собственный идентификатор при присоединении к сети, а затем добавляет каждого из своих соседей.

Кажется гораздо более простым, чем Kademlia. Будет ли это работать? Это просто намного медленнее, потому что каждый поиск может иметь гораздо больше прыжков?


person Gregory Magarshak    schedule 04.05.2018    source источник


Ответы (1)


No.

Без таблицы маршрутизации kademlia у вас не было бы гарантии, что список соседей любого узла действительно будет содержать контакты, которые ближе к целевому ключу и, таким образом, могут помочь вашему запросу приблизиться к целевому.

Это может произойти даже на 0-м переходе, т. е. ваша локальная таблица маршрутизации может содержать только соседей, которые находятся дальше от целевого узла, чем вы сами. У вас не будет лучших контактов для запроса. На самом деле вам придется вернуться назад по метрике расстояния, но расстояние xor не допускает отрицательных расстояний, поскольку это просто кольцо положительных целых чисел по модулю N, поэтому отрицательные расстояния охватывают самые удаленные узлы, что эквивалентно ведру kademlia с 0 битов префикса совместно используются.

person the8472    schedule 10.05.2018