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

Все обсуждают приватность Dusk — и в основном сводится к тому, что рассказывают ту же схему, что и Phoenix: нулевые доказательства знания, note, nullifier, скрытые адреса — звучит очень “круто”. Но почти никто не говорит про сетевой слой. В Dusk используется широковещательный протокол Kadcast, а в основе лежит структура Kademlia: маршрутизация слоями по расстоянию между узлами. Сообщения не рассылаются “в лоб” как в классическом gossip всем подряд, а передаются каскадом по путям с возрастающим расстоянием, формируя деревья групповой рассылки.

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

Самое интересное, что у этой задумки есть и побочный эффект: так как сообщение проходит несколько уровней ретрансляции, прежде чем “разойдётся”, и не транслируется напрямую, то попытаться вычислить “откуда сообщение появилось самым первым” становится заметно сложнее. Но это совсем не то же самое, что приватность транзакций, которую Phoenix пытается обеспечить криптографией до упора. Там держит математика, здесь — туманность, возникающая из сетевой топологии. По силе это просто разные лиги.

Самое нелепое — что многие популярные статьи смешивают эти два слоя так, будто Dusk приватен целиком “с головы до ног”. На самом деле сетевая неоднозначность — это максимум приятный бонус, а в случае действительно профессионального трейсинга она вообще не выдерживает. Я тоже почти поверил в такие общие формулировки: например, увидел, что кто-то пишет “приватность распространения сообщений у Dusk сильная”, и автоматически решил, что приватность транзакций тоже на высоте — а это, как оказалось, совершенно не так. Только за последние пару дней, когда разложил по полочкам эти два слоя, стало ясно.

Теперь, когда вижу проекты приватности, я сначала задаю один вопрос: приватность держится на криптографии или на сетевой архитектуре? Интенсивность/сила получается совсем разная.

А вы как? Когда смотрите теханализ, попадали ли вы в ловушку “смешать сетевые особенности и приватность на уровне приложений” в одну кучу? В комментариях обсудим. #dusk $DUSK @Dusk