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

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

вместо этого — структурированная оверлей-сеть. узлы не выбираются случайно: у сети есть фактическая форма.

именно эта структура сокращает использование пропускной способности и делает задержку предсказуемой вместо вариативной.
согласно собственному репозиторию kadcast от Dusk, каждому узлу...

присваивается 128-битный id, который генерируется путем хэширования порта и ip, а этот id определяет ровно то, где узел находится в бинарном дереве маршрутизации. позиция не назначается вручную.

она вычисляется непосредственно из хэша.
что бросается в глаза: здесь, похоже, главная цель — предсказуемость, а не просто максимальная скорость. это не случайный gossip.

сеть может распространять данные быстро в среднем, но с высокой вариативностью; структурированная оверлей, в свою очередь, жертвует частью средней скорости ради стабильности.

оказывается, что churn (частые отключения/подключения) обрабатывается тоже намеренно. устаревшие бакеты периодически обновляются, а прежде чем узел будет исключен, сеть отправляет ping и только.

удаляет его, если pong так и не возвращается. репозиторий прямо утверждает, что это делает протокол смещенным в сторону более старых, более стабильных узлов...

если сеть по дизайну отдает предпочтение долгоживущим узлам, не возникает ли при этом какого-то недостатка для совершенно нового узла, который пытается подключиться впервые??

#dusk @Dusk $DUSK