Защита приватности всегда оставалась ключевой целью экосистемы Zcash. Начиная с первых версий Sprout, затем Sapling и до современной Orchard, Zcash последовательно совершенствовала архитектуру доказательств с нулевым разглашением, снижая порог внедрения и повышая безопасность сети.
Появление Orchard — это не просто техническое обновление: оно знаменует переход Zcash к системе zk-SNARKs нового поколения. Обнаруженная уязвимость в схеме Orchard вновь привлекла внимание к внутреннему устройству этого пула конфиденциальности.
Orchard — это пул конфиденциальности, отвечающий за обработку защищённых транзакций последнего поколения в сети Zcash. Пользователи могут отправлять и получать ZEC через адреса Orchard, не раскрывая ни контрагентов, ни суммы.
В отличие от традиционных блокчейнов с полностью прозрачным реестром, Orchard использует доказательства с нулевым разглашением для проверки транзакций. Узлы сети могут подтвердить действительность транзакции, не видя её содержимого.
Orchard также служит основным полигоном для инноваций в области приватности Zcash. Многие новые функции и криптографические обновления сначала развёртываются именно в Orchard, открывая путь для дальнейшей эволюции протокола.
Пулы конфиденциальности Zcash прошли три поколения: Sprout, Sapling и Orchard. Sprout представил первые ончейн-приватные транзакции, Sapling значительно снизил затраты на генерацию доказательств, а Orchard, построенный на фреймворке Halo 2, дополнительно улучшает масштабируемость и гибкость обновлений.

Функции приватности Orchard основаны на технологии zk-SNARKs. zk-SNARKs — это криптографические доказательства, позволяющие одной стороне подтвердить истинность утверждения, не раскрывая исходные данные.
В сети Zcash отправитель генерирует доказательство с нулевым разглашением, которое подтверждает реальность расходуемых средств и отсутствие двойной траты. Проверяющим узлам достаточно проверить это доказательство, чтобы подтвердить транзакцию, не узнавая суммы или адреса участников.
Фреймворк Halo 2, лежащий в основе Orchard, представляет собой систему доказательств с нулевым разглашением следующего поколения. По сравнению с более ранними системами Halo 2 предлагает более гибкую конструкцию схем и поддерживает более сложные структуры доказательств, оставляя пространство для будущих обновлений протокола.
Подробное объяснение работы доказательств с нулевым разглашением см. в статье «Как Zcash обеспечивает приватные транзакции? Глубокое погружение в механизм zk-SNARKs».
Инцидент начался с целенаправленного аудита безопасности схемы Orchard. Исследователь Тейлор выявил аномальное поведение схемы и конфиденциально сообщил о находке в Zcash Open Development Lab (ZODL).
После получения отчёта команда разработчиков быстро воспроизвела проблему и подтвердила потенциальный риск. Поскольку проблема затрагивала логику проверки схемы Orchard, команда немедленно активировала протокол реагирования на чрезвычайные ситуации.
В отличие от обычных программных ошибок, риски в системах доказательств с нулевым разглашением часто возникают на уровне ограничений схемы. Схема определяет, какие действия могут быть признаны допустимыми, поэтому любой дефект конструкции может подорвать всю модель безопасности.
Этот инцидент подчёркивает, что в современных системах zk-SNARKs аудит схем так же важен, как и криптографический аудит. Даже если базовые алгоритмы безопасны, дефекты на уровне реализации всё равно могут создавать риски.
После подтверждения уязвимости команда разработчиков не стала сразу раскрывать подробности. Это соответствует отраслевой практике ответственного раскрытия, цель которой — не дать злоумышленникам использовать информацию до выпуска исправления.
Чтобы снизить риск, команда сначала ограничила создание новых выходов Orchard и приостановила возможность тратить средства, уже находящиеся в пуле конфиденциальности Orchard.
Это действие не остановило всю сеть Zcash. Прозрачные адреса и пул конфиденциальности Sapling продолжали нормально работать во время обновления, что позволяло пользователям совершать некоторые транзакции.
Такая многоуровневая архитектура приватности повышает устойчивость сети к инцидентам безопасности, позволяя команде разработчиков развернуть исправление без нарушения работы всей экосистемы.
После подтверждения уязвимости сообщество Zcash выбрало поэтапную стратегию обновления. Первым этапом стал экстренный софтфорк, предназначенный для быстрого сдерживания риска и предотвращения включения затронутых транзакций в блокчейн.
Как только софтфорк вступил в силу, узлы начали применять новые правила проверки, блокируя распространение рискованных операций Orchard. Этот этап создал временную защиту.
Поскольку проблема затрагивала проверочные ключи схемы Orchard, в конечном итоге потребовалось обновление на уровне протокола. Команда разработчиков выпустила версию с новыми проверочными ключами и активировала обновлённые правила протокола с помощью хардфорка.
Всё обновление потребовало скоординированного обновления программного обеспечения от разработчиков, майнеров, операторов узлов, бирж и поставщиков инфраструктуры. Такое сотрудничество — ключевая часть управления публичным блокчейном.
Этот инцидент познакомил многих пользователей с различными организациями в экосистеме Zcash.
Shielded Labs — это независимая организация, поддерживающая экосистему Zcash, занимающаяся исследованиями протоколов, аудитом безопасности и разработкой технологий приватности. Она существует за счёт пожертвований сообщества и не связана с Zcash Foundation или ZODL.
Zcash Open Development Lab (ZODL) занимается разработкой и поддержкой основного протокола. В данном инциденте ZODL руководила проверкой уязвимости, разработкой исправлений и координацией обновления сети.
Zcash Foundation — это некоммерческая организация, поддерживающая долгосрочный рост Zcash через развитие инфраструктуры, управление сообществом и поддержку экосистемы с открытым исходным кодом.
Наличие нескольких независимых организаций, работающих над разработкой протокола, снижает количество единых точек отказа и повышает прозрачность и долгосрочную устойчивость сети.
Orchard, как пул конфиденциальности Zcash третьего поколения, является ключевым применением системы доказательств с нулевым разглашением Halo 2. По сравнению со Sprout и Sapling, Orchard предлагает значительные улучшения в производительности, масштабируемости и долгосрочной обновляемости.
Аудит безопасности схемы Orchard выявил потенциальную уязвимость. Сообщество Zcash решило её с помощью ответственного раскрытия, ограничения функций, защитного софтфорка и обновления через хардфорк, восстановив нормальную работу Orchard.
Sapling был нацелен на повышение эффективности ранних приватных транзакций. Orchard, построенный на Halo 2, дополнительно оптимизирован для масштабируемости, обновляемости и совместимости с будущими версиями.
Согласно общедоступной информации, известных потерь средств не произошло. Уязвимость была обнаружена в ходе аудита безопасности и исправлена до того, как могла быть реализована потенциальная атака.
Команде разработчиков нужно было предотвратить использование подробностей об уязвимости после публичного раскрытия, поэтому Orchard временно ограничили для поддержания безопасности сети во время обновления.
Прозрачные адреса и пул конфиденциальности Sapling продолжали нормально работать во время обновления. Были затронуты только функции, связанные с Orchard, а не вся сеть Zcash.





