На прошлой неделе мой узел на тестнете с ретрансляционной конфигурацией в Карачи постоянно отставал, когда я пытался смоделировать интенсивный трафик сообщений. Я решил, что проблема просто в том, что у меня слабый канал, типичная проблема местного провайдера, с которой я уже сталкивался.
Затем я действительно прочитал, как Dusk организует одноранговую связь, и понял, что мои предположения были неверными. Задержки были не из-за «сырой» ширины канала — дело было в том, насколько неэффективна схема широковещательного лавинного рассылочного типа, когда каждый узел повторяет сообщения всем своим соседям независимо от расстояния.
В Dusk вместо этого используется Kadcast, построенный на структуре XOR-расстояний из Kademlia. Узлы пересылают сообщения только выбранным пира́м на растущих расстояниях, создавая каскадный эффект вместо слепого повторения. Это заметно сокращает число избыточных передач по сравнению с протоколами «госсип», на которые опирается, например, Ethereum. Кроме того, это естественным образом скрывает источник сообщения: оно проходит через несколько «хопов», прежде чем попасть в более широкую сеть, что соответствует фокусу Dusk на приватность финансовых транзакций.
То, что в whitepaper не сказано достаточно ясно, — это точные реальные цифры задержек при неблагоприятных условиях сети, например что происходит конкретно во время региональных перегрузок в местах с нестабильной инфраструктурой. Это пробел, который я не могу заполнить с уверенностью.
Реальная проверка DUSK — сохранится ли преимущество эффективности Kadcast, когда количество узлов масштабируется до тысяч в условиях реального сетевого стресса, а не только в контролируемых условиях тестнета.
Кто-нибудь здесь запускал узел Dusk достаточно надолго, чтобы заметить различия в скорости распространения сообщений на практике?
#dusk $DUSK @Dusk
Затем я действительно прочитал, как Dusk организует одноранговую связь, и понял, что мои предположения были неверными. Задержки были не из-за «сырой» ширины канала — дело было в том, насколько неэффективна схема широковещательного лавинного рассылочного типа, когда каждый узел повторяет сообщения всем своим соседям независимо от расстояния.
В Dusk вместо этого используется Kadcast, построенный на структуре XOR-расстояний из Kademlia. Узлы пересылают сообщения только выбранным пира́м на растущих расстояниях, создавая каскадный эффект вместо слепого повторения. Это заметно сокращает число избыточных передач по сравнению с протоколами «госсип», на которые опирается, например, Ethereum. Кроме того, это естественным образом скрывает источник сообщения: оно проходит через несколько «хопов», прежде чем попасть в более широкую сеть, что соответствует фокусу Dusk на приватность финансовых транзакций.
То, что в whitepaper не сказано достаточно ясно, — это точные реальные цифры задержек при неблагоприятных условиях сети, например что происходит конкретно во время региональных перегрузок в местах с нестабильной инфраструктурой. Это пробел, который я не могу заполнить с уверенностью.
Реальная проверка DUSK — сохранится ли преимущество эффективности Kadcast, когда количество узлов масштабируется до тысяч в условиях реального сетевого стресса, а не только в контролируемых условиях тестнета.
Кто-нибудь здесь запускал узел Dusk достаточно надолго, чтобы заметить различия в скорости распространения сообщений на практике?
#dusk $DUSK @Dusk

