Таким образом, мы можем установить, что метрика расстояния XOR является реальной метрикой (она симметрична, удовлетворяет неравенству треугольника и т. д.).
Прежде чем читать о Kademlia и ее k-бакетах, я думал, что каждый узел просто найдет свой собственный идентификатор и сохранит k своих ближайших соседей, и наоборот. Узлы периодически пинговали своих соседей и исключали их из списка, если они не отвечали.
Теперь, если я хочу найти некоторый ключ X, я просто выдаю этот запрос ближайшему узлу среди моих соседей к X, и это продолжается рекурсивно до тех пор, пока не будет найден узел, ближайший к X среди себя и всех его соседи. Этот узел будет среди тех, кто хранит значение для X, а затем они просто обратят шаги (т. е. раскрутят стек), чтобы вернуть значение запрашивающей стороне.
Узел просто ищет свой собственный идентификатор при присоединении к сети, а затем добавляет каждого из своих соседей.
Кажется гораздо более простым, чем Kademlia. Будет ли это работать? Это просто намного медленнее, потому что каждый поиск может иметь гораздо больше прыжков?