Shielded Labs предложила новое обновление сети Zcash, которое позволит любому желающему убедиться, что предложение монеты конфиденциальности не было тайно раздуто. Предложение последовало за раскрытием недавно исправленной уязвимости в основном защищённом пуле сети, которая могла позволить необнаруживаемую подделку $ZEC.
Shielded Labs, некоммерческая организация, финансирующая разработку Zcash, сообщила в публикации в блоге, что уязвимость оставалась необнаруженной в пуле Orchard с момента его запуска в мае 2022 года до тех пор, пока инженеры не устранили её на этой неделе. Zcash — примерно 11-я по рыночной капитализации криптовалюта. Согласно данным 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.
Проблема представляла собой баг корректности, то есть сеть могла быть вынуждена принять транзакцию, которую должна была отклонить. Она возникла из-за недостаточно ограниченной части схемы Orchard, которая позволяла злоумышленнику передавать ложные входные данные через проверку эллиптической кривой и при этом проходить её. Shielded Labs охарактеризовала последствия как возможность создавать неограниченное количество необнаруживаемых поддельных $ZEC внутри Orchard.
Фонд Zcash, который разрабатывает программное обеспечение Zebra для работы сети, описал риск в публикации в среду. По его словам, эксплуатация могла бы допустить двойное расходование внутри Orchard, однако не могла раздуть общее предложение $ZEC, которое ограничено «турникетным» учётом сети. Турникет ограничивает объём стоимости, который может покинуть каждый пул, суммой, которая в него поступила. Фонд заявил, что турникет подтвердил сохранность общего предложения и отсутствие каких-либо свидетельств несанкционированного создания стоимости. Обе группы согласны с тем, что уязвимость была обнаружена до какой-либо известной эксплуатации и что конфиденциальность пользователей не пострадала.
После конфиденциальной координации с майнерами и биржами, начавшейся 31 мая, инженеры выпустили экстренный софт-форк, отключивший транзакции Orchard. Он был активирован 2 июня на блоке 3 363 426. Затем обновление с харфорком под названием NU6.2 повторно включило Orchard с исправленной схемой 3 июня на блоке 3 364 600, сообщил Фонд. Он назвал этот ответ вторым обновлением в истории Zcash, обусловленным соображениями безопасности, с момента запуска сети в 2016 году. Исправление отслеживается в рекомендации по безопасности Zebra. Переводы в Orchard были заморожены в этот период, тогда как прозрачные транзакции и транзакции Sapling продолжали работать. Некоторые обозреватели блоков кратковременно не показывали новых блоков после этого, что порождало путаницу о том, что сеть вышла из строя.
Shielded Labs заявила, что NU6.2 устраняет уязвимость, но не доказывает, что предложение Orchard никогда не подвергалось манипуляциям. Её предложение предусматривает развёртывание нового защищённого пула и маршрутизацию всех монет, покидающих Orchard, через турникетный учёт, что позволит любому желающему убедиться в отсутствии поддельных $ZEC. Как и любое крупное обновление, оно потребует поддержки сообщества и должно пройти процесс управления Zcash до активации. Shielded Labs заявила, что планирует опубликовать детали на следующей неделе. Скоординированный ответ вызвал критику. Некоторые разработчики и комментаторы утверждали, что конфиденциальное исправление, основанное на небольшой группе инженеров, майнеров и бирж, продемонстрировало, насколько централизованным может быть экстренное реагирование сети. Они также поставили под сомнение, возможно ли когда-либо полностью проверить защищённые пулы.
Материал Shielded Labs предлагает обновление Zcash для проверки предложения после уязвимости впервые опубликован на TheCryptoUpdates.

