Реализация идентификатора узла Kademlia - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь реализовать DHT, используя Kademlia paper , чтобы лучше понять, как работают эти системы.

Я прочитал несколько других статей, которые относятся к этому способу реализации распределенная таблица ha sh, но есть кое-что, что я не могу понять. В сети обмена файлами p2p идентификаторы ключей могут быть реализованы как дайджест имени файла для согласованности с помощью механизма поиска.

А как насчет самого идентификатора узла? комбинации "WAN-IP: PORT" или просто сгенерировать полностью случайный идентификатор с нуля?

Во втором сценарии всегда существует риск того, что два узла сгенерируют один и тот же идентификатор. Но используя свой WAN-IP: PORT, я полагаюсь на тот факт, что мой клиент запускает узел за WAN-IP, который никогда не должен меняться.

Как он должен поступать из самой сети? Я имею в виду, что при первом контакте партнер работает немного c и дает новому узлу идентификатор?

Я был бы признателен за некоторые комментарии о том, как реализовать генерацию идентификатора узла Kademlia.

1 Ответ

0 голосов
/ 28 мая 2020

Как указано в статье Kademlia, «идентификаторы узлов в настоящее время представляют собой просто случайные 160-битные идентификаторы, хотя они могут быть созданы так же, как и в Chords».

Chords использует дайджест SHA-1 IP узла.

...