#dusk $DUSK @Dusk
Я не особо задумывался о сетевом уровне, пока не заметил, что Dusk не перемещает блоки и голоса так, как это делают большинство цепочек. Вместо того чтобы рассылать каждое сообщение всем узлам, оно использует нечто под названием Kadcast, построенное на структурированной маршрутизации в стиле Kademlia.
Сразу само по себе это читается как деталь бэкенда, о которой никто за пределами основной команды не думает. Но значение начинает расти, когда сопоставляешь это с тем, как на самом деле работает Succinct Attestation. Консенсус на основе комитета зависит от небольшой группы провайдеров, обменивающихся голосами достаточно быстро, чтобы финализировать блок в течение секунд. Если сетевой уровень снизу медленный или зря расходует пропускную способность, заново пересылая одно и то же сообщение всем подряд, добиться такого узкого окна голосования становится сложнее по мере роста набора валидаторов или их географического распределения.
Kadcast направляет сообщения по детерминированным путям, основываясь на расстоянии в сети, а не на случайном лавинном широковещании, и зафиксированный результат — заметно более низкий расход пропускной способности на сообщение. Для сети, которая опирается на комитеты, обменивающиеся голосами каждый раунд, это не косметический выигрыш — это ближе к необходимому условию, чтобы гарантии финальности действительно работали в масштабе, а не только на небольшом тестнете.
Чего у меня пока не хватает — так это ясной картины того, как всё это проявит себя в более жёстких условиях: когда набор валидаторов распределён по разным континентам, качество соединений неоднородное или есть реальное враждебное поведение на уровне сети, а не просто неэффективность. Протоколы структурированной маршрутизации несут собственные компромиссы, когда узлы ведут себя неправильно или неожиданно начинают «ронять» пакеты. Насколько будет держаться эффективность Kadcast, когда сеть станет больше и беспорядочнее, чем сейчас, похоже, мы узнаем только после того, как это проверят настоящими тестами масштаба.
Я не особо задумывался о сетевом уровне, пока не заметил, что Dusk не перемещает блоки и голоса так, как это делают большинство цепочек. Вместо того чтобы рассылать каждое сообщение всем узлам, оно использует нечто под названием Kadcast, построенное на структурированной маршрутизации в стиле Kademlia.
Сразу само по себе это читается как деталь бэкенда, о которой никто за пределами основной команды не думает. Но значение начинает расти, когда сопоставляешь это с тем, как на самом деле работает Succinct Attestation. Консенсус на основе комитета зависит от небольшой группы провайдеров, обменивающихся голосами достаточно быстро, чтобы финализировать блок в течение секунд. Если сетевой уровень снизу медленный или зря расходует пропускную способность, заново пересылая одно и то же сообщение всем подряд, добиться такого узкого окна голосования становится сложнее по мере роста набора валидаторов или их географического распределения.
Kadcast направляет сообщения по детерминированным путям, основываясь на расстоянии в сети, а не на случайном лавинном широковещании, и зафиксированный результат — заметно более низкий расход пропускной способности на сообщение. Для сети, которая опирается на комитеты, обменивающиеся голосами каждый раунд, это не косметический выигрыш — это ближе к необходимому условию, чтобы гарантии финальности действительно работали в масштабе, а не только на небольшом тестнете.
Чего у меня пока не хватает — так это ясной картины того, как всё это проявит себя в более жёстких условиях: когда набор валидаторов распределён по разным континентам, качество соединений неоднородное или есть реальное враждебное поведение на уровне сети, а не просто неэффективность. Протоколы структурированной маршрутизации несут собственные компромиссы, когда узлы ведут себя неправильно или неожиданно начинают «ронять» пакеты. Насколько будет держаться эффективность Kadcast, когда сеть станет больше и беспорядочнее, чем сейчас, похоже, мы узнаем только после того, как это проверят настоящими тестами масштаба.