Как формирируется node id в DHT и можно ли сгенерировать его из тысяч составляющих?
Node ID генерируется из пространства info хешей так?
Т.е. для каждого торрента наш клиент генерирует новый node id и публикует в сети?
Есть ли математическая функция, с помощью которой, можно сгенерировать единственный node id из тысяч хешей, так, чтобы при поиске в DHT мы смогли приблизитьмя к искомому node id с одним из этих тысяч хешей? Если да, то как я понимаю чем больше хешей мы будем иметь, тем менее вероятна быстрая находка нужной нам ноды для скачки файлов? Если так, то какое оптимальное число?
Node ID генерируется из пространства info хешей так?
По моему NodeId генерируется при инсталляции торрент-клиента 1 раз как случайное число UUID.
И потом все время используется.
Есть ли математическая функция, с помощью которой, можно сгенерировать единственный node id из тысяч хешей, так, чтобы при поиске в DHT мы смогли приблизитьмя к искомому node id с одним из этих тысяч хешей?
Нет. То что вы предлагаете скорее всего не нужно для работы DHT протокола. Нужно чтоб был минимальный кворум узлов. Чтоб узлы обменивались запросами на поиск и на публикацию раздач. И NodeId должны быть стационарны. Тоесть нежелательно их менять на ходу.
Как он может одноразово генерироваться, если мы раздаём торренты, список которых может пополняться и убывать?
Скорее вы про client id
Задача состоит в нахождении решения, чтобы не публиковать каждый хеш файла в раздаче, так как файлов могут быть тысячи, то пришлось бы тысячи хешей публиковать в dht, и в конце не точно, что другие пиры их найдут, так как им пришлось бы сканировать сеть dht полностью.
Мне нужно решение с помощью, которого мы бы смогли не засорять сеть и делиться хешами каждого файла, на который можно вывести след, с помощью какой-либо функции.