Zcash сообщил о критической уязвимости в Orchard: теоретически она позволяла бесконечно выпускать ZEC
Команда Zcash раскрыла критическую ошибку в приватном пуле Orchard, которая в теории могла позволить создавать неограниченное количество поддельных ZEC. После публикации информации токен за сутки просел примерно на 33%, а сооснователь BitMEX Артур Хэйес заявил, что полностью вышел из позиции в ZEC.
По словам основателя Zcash Зуко Уилкокса-О'Херна, уязвимость 29 мая обнаружил исследователь по безопасности Тейлор Хорнби. Экстренное исправление было завершено 2 июня. Ошибка существовала с момента запуска Orchard в мае 2022 года.
Хорнби показал рабочий эксплойт в локальной тестовой среде: он позволял генерировать неограниченное число поддельных ZEC и при этом оставаться незаметным для стандартных методов выявления. Разработчики отмечают, что при использовании на основной сети до установки патча тот же подход мог привести к выпуску неограниченного количества фальшивых монет.
Причина проблемы находилась в криптографической схеме (circuit) Orchard. Проще говоря, систему можно было заставить принимать ложные данные транзакции за корректные и тем самым "создавать" новые монеты внутри shielded-пула.
Отдельный риск связан с природой приватности Orchard: из-за сокрытия балансов и деталей транзакций у разработчиков нет криптографического способа доказать, что уязвимость не эксплуатировали до исправления. Shielded Labs заявила, что по одним только данным блокчейна сейчас невозможно однозначно подтвердить, что за четыре года существования бага поддельные ZEC не появлялись. При этом организация считает, что вероятность прежней эксплуатации невысока. Уязвимость прошла многолетние проверки криптографов и аудиторов; находка Хорнби произошла в рамках специализированной программы безопасности, нацеленной на поиск скрытых слабых мест.
После получения сообщения инженеры Zcash Open Development Lab скоординировали закрытую реакцию с майнерами и биржами. 2 июня на блоке 3,363,426 экстренный soft fork отключил транзакции Orchard. Затем обновление NU6.2 на блоке 3,364,600 (3 июня) восстановило работу Orchard уже с исправленной схемой. На время окна обновления переводы в Orchard были приостановлены, в то время как прозрачные транзакции и транзакции Sapling продолжали работать.
Ключевой нерешённый вопрос остаётся прежним: невозможность доказать отсутствие поддельных монет внутри Orchard. Сейчас в Orchard находится более 4 млн ZEC, и этот пул составляет основную долю монет, хранящихся в приватных пулах Zcash.
Shielded Labs готовит ещё одно обновление сети, призванное снять неопределённость по объёму предложения в Orchard. План предусматривает создание нового shielded-пула и требование, чтобы все монеты при выходе из Orchard проходили через учёт "turnstile". Цель — дать возможность любому независимым образом проверить, что поддельных ZEC не существует. Полный текст предложения разработчики намерены опубликовать в ближайшие дни.
Рынок отреагировал резким снижением: ZEC аннулировал недельный рост, упав примерно на 33% за 24 часа, а падение за семь дней составило около 25%. Артур Хэйес сообщил, что ликвидировал всю позицию в ZEC после изучения деталей уязвимости. По его словам, хотя несанкционированный выпуск монет, вероятно, маловероятен, криптографически доказать, что этого не было, невозможно. Для него такая неопределённость противоречит ключевому инвестиционному тезису приватных активов. Хэйес добавил, что допускает повторный вход в ZEC, если появятся дополнительные основания доверять целостности предложения в сети.
Дисклеймер: материал носит информационный и образовательный характер и не является финансовой рекомендацией. Источник не несёт ответственности за возможные убытки, связанные с использованием упомянутых данных, продуктов или услуг. Перед любыми действиями читателям рекомендуется проявлять осторожность.