Я пытаюсь реализовать DHT, используя Kademlia paper , чтобы лучше понять, как работают эти системы.
Я прочитал несколько других статей, которые относятся к этому способу реализации распределенная таблица ha sh, но есть кое-что, что я не могу понять. В сети обмена файлами p2p идентификаторы ключей могут быть реализованы как дайджест имени файла для согласованности с помощью механизма поиска.
А как насчет самого идентификатора узла? комбинации "WAN-IP: PORT" или просто сгенерировать полностью случайный идентификатор с нуля?
Во втором сценарии всегда существует риск того, что два узла сгенерируют один и тот же идентификатор. Но используя свой WAN-IP: PORT, я полагаюсь на тот факт, что мой клиент запускает узел за WAN-IP, который никогда не должен меняться.
Как он должен поступать из самой сети? Я имею в виду, что при первом контакте партнер работает немного c и дает новому узлу идентификатор?
Я был бы признателен за некоторые комментарии о том, как реализовать генерацию идентификатора узла Kademlia.