Сообщество Zcash рассматривает новое решение для проверки запасов токенов после недавнего сбоя смарт-контракта

Shielded Labs предложила новое обновление сети Zcash, которое позволит любому проверить, что запас конфиденциальной монеты не был тайно завышен, после того, как выяснилось, что недавно исправленная ошибка в основном защищенном пуле сети могла позволить необнаружимую подделку $ZEC.
Shielded Labs, некоммерческая организация, которая финансирует разработку Zcash, примерно 11-й по величине криптовалюты по рыночной стоимости, сообщила в своем блоге, что уязвимость оставалась необнаруженной в пуле Orchard с момента ее запуска в мае 2022 года, пока инженеры не закрыли ее на этой неделе.
По данным CoinGecko, $ZEC изменила недельный рост и упала на 16% за последние семь дней и упала на 25% за последние 24 часа, когда ошибка обнаружилась.
По данным трекеров защищенных поставок, Orchard, новейший и крупнейший защищенный пул Zcash, содержит более 4 миллионов долларов ZEC, что составляет примерно 30% предложения, которое находится в частных пулах.
В этом эпизоде подчеркивается компромисс, лежащий в основе конфиденциальных монет. Та же криптография, которая скрывает балансы, также не позволяет с помощью одной лишь цепочки доказать, была ли использована ошибка. В компании Shielded Labs заявили, что не существует способа криптографически определить, воспользовался ли кто-либо уязвимостью до ее исправления, однако они сочли предыдущую эксплуатацию маловероятной.
Как была обнаружена ошибка
Независимый исследователь безопасности Тейлор Хорнби обнаружил уязвимость 29 мая во время аудита, проведенного Shielded Labs, и в тот же вечер сообщил о ней инженерам Zcash Open Development Lab, или ZODL, группы, которая поддерживает протокол.
Компания Shielded Labs сообщила, что Хорнби использовал модель Opus 4.8 от Anthropic, которая, по ее словам, была выпущена 28 мая вместе со специальным инструментом искусственного интеллекта, для написания рабочего эксплойта, который генерировал неограниченное количество поддельных $ZEC в локальной тестовой среде. По словам Shielded Labs, при запуске в основной сети тот же инструмент создал бы неограниченное количество необнаружимых поддельных $ZEC.
Проблема заключалась в ошибке надежности, то есть сеть можно было заставить принять транзакцию, которую она должна была отклонить. По словам Shielded Labs, это произошло из-за недостаточно ограниченной части схемы Orchard, которая позволяла злоумышленнику передавать ложные входные данные через проверку по эллиптической кривой и при этом иметь возможность пройти проверку.
Компания Shielded Labs описала эффект как возможность создавать в Orchard неограниченное количество необнаружимых поддельных $ZEC.
Общий запас остается неизменным
Фонд Zcash Foundation, создающий программное обеспечение Zebra, используемое для работы сети, описал риск в сообщении, опубликованном в среду. В нем говорится, что эксплуатация могла бы позволить двойные расходы внутри Orchard, но не могла привести к увеличению общего объема поставок ZEC в долларах, который ограничивается «турникетным» учетом сети. Турникет ограничивает сумму, которую может оставить каждый пул, суммой, которая в него вошла.
Фонд заявил, что турникет подтвердил, что общий запас остался нетронутым и что не было никаких доказательств несанкционированного создания стоимости. Обе группы согласны с тем, что ошибка была обнаружена до того, как была обнаружена какая-либо известная эксплуатация, и что конфиденциальность пользователей не была затронута.
Как появилось исправление
После частного согласования с майнерами и биржами, которое началось 31 мая, инженеры выпустили аварийный софт-форк, который отключил транзакции Orchard. Он был активирован 2 июня на блоке 3,363,426. По сообщению Фонда, 3 июня хард-форк под названием NU6.2 снова включил Orchard с исправленной схемой в блоке 3 364 600. Он назвал этот ответ вторым обновлением безопасности в истории Zcash с момента запуска сети в 2016 году. Исправление отслеживается в рекомендациях Zebra по безопасности.
Переводы Orchard были заморожены на время окна, в то время как прозрачные транзакции и транзакции Sapling продолжали выполняться. Некоторые исследователи блоков впоследствии ненадолго не показывали никаких новых блоков, что усиливало путаницу в связи с тем, что сеть вышла из строя.
Предлагаемое обновление
В компании Shielded Labs заявили, что NU6.2 закрывает ошибку, но не доказывает, что поставки Orchard никогда не подвергались вмешательству. Его предложение предполагает развертывание нового защищенного пула и маршрутизацию всех монет, покидающих Orchard, через турникетный учет, позволяя любому проверить отсутствие поддельных $ZEC.
Как и любое крупное обновление, оно потребует поддержки сообщества и перед активацией должно будет пройти процесс управления Zcash. Shielded Labs заявила, что планирует опубликовать подробности на следующей неделе.
Скоординированный ответ вызвал критику. Некоторые разработчики и комментаторы утверждали, что конфиденциальное исправление, которое опиралось на небольшую группу инженеров, майнеров и бирж, показало, насколько централизованным может быть реагирование сети на чрезвычайные ситуации, и задавались вопросом, можно ли когда-либо полностью проверять защищенные пулы.