Авторы: Zooko Wilcox, Jason McGee
Перевод: Luffy, Foresight News
Недавно в модуле Orchard протокола Zcash была обнаружена уязвимость безопасности. Всех волнуют два основных вопроса: не изменилось ли общее количество токенов Zcash? Безопасны ли средства пользователей?
В текущих дискуссиях смешиваются несколько разных тем, и многим трудно понять реальное влияние этой уязвимости на обычных пользователей. В этой статье мы рассмотрим эти вопросы и подробно объясним их суть.
Уязвимость в Orchard поднимает четыре ключевых вопроса:
- Была ли уязвимость уже использована хакерами?
- Могут ли пользователи вернуть свои законные активы, размещенные в Orchard?
- Могут ли пользователи самостоятельно проверить, что общее количество токенов Zcash не было искусственно увеличено?
- Как убедиться, что в проекте нет других подобных уязвимостей для подделки токенов?
Была ли уязвимость уже использована?
Однозначного ответа пока нет. В целом, вероятность того, что уязвимость была злонамеренно использована ранее, представляется низкой, но мы не можем исключить этого на 100%. Основываемся на трёх моментах:
- На протяжении многих лет множество ведущих мировых экспертов в области криптографии и специалистов по безопасности изучали код Zcash, и эта уязвимость так и не была обнаружена. Данную уязвимость активно выявил Тейлор Хорнби из Shielded Labs в ходе целенаправленного поиска, а не случайно. Он использовал технологии ИИ для проверки безопасности и собственные инструменты, специально разработанные для поиска таких скрытых дефектов. Порог использования такой уязвимости высок, и непрофессионалу, не знакомому с кодом Zcash, будет сложно её найти и эксплуатировать.
- После раскрытия уязвимости команда разработчиков Zcash совместно с крупными пулами немедленно временно заморозила пул средств Orchard и выпустила патч, значительно сократив окно для атаки хакеров.
- Большинство атак в сфере криптовалют совершаются с целью быстрой прибыли, и как только уязвимость становится публичной, хакеры обычно сразу же обналичивают средства. Чтобы получить прибыль, используя эту уязвимость, хакерам нужно будет вывести поддельные ZEC из пула Orchard и обменять их на другие активы. Такие операции обычно оставляют следы. Если бы уязвимость уже использовалась, к настоящему времени должны были бы появиться доказательства. Оглядываясь на историю индустрии, хакеры в основном действуют по принципу «получил — быстро ушел» и не скрываются намеренно месяцы или даже годы.
Можно ли вернуть законные активы из Orchard?
Мы считаем, что да, при условии, что уязвимость никогда не использовалась. Если это предположение верно, все законные активы пользователей, хранящиеся в Orchard, можно будет успешно вывести.

И наоборот, если хакеры уже использовали уязвимость для создания поддельных токенов и перевели их в пул, существующие каналы вывода будут ограничивать общую сумму вывода. Лимит на вывод будет равен первоначальному количеству законно внесенных токенов. В этом случае, если поддельные токены будут выведены первыми, часть законных активов пользователей может не быть возвращена в полном объеме.

Мы считаем, что вероятность возникновения такого экстремального сценария невелика. Если у вас все еще есть опасения, вы можете вывести активы из пула Orchard, но перед этим важно понимать потенциальные риски разных способов вывода:
- Перевод на прозрачный адрес (t-адрес): сумма и время перевода станут полностью публичными, а активы будут открыто связаны с этим адресом, полностью утратив конфиденциальность.
- Перевод в приватный пул Sapling: сумма и время транзакции по-прежнему будут записаны, но активы не будут привязаны к конкретному адресу или истории транзакций, что обеспечивает лучшую конфиденциальность, чем прозрачный адрес. Важно отметить, что Sapling полагается на церемонию доверенной настройки, завершенную в 2018 году, что само по себе представляет дополнительный риск безопасности.
- Кошельки: из основных некастодиальных кошельков на данный момент только YWallet и Zkool поддерживают пул Sapling.
- Другие кошельки или кастодиальные платформы: также возможны различные непредвиденные проблемы, такие как ошибки оператора, сбои в программном обеспечении, меры контроля рисков платформы и т.д.
В целом, эти риски находятся в пределах управляемого. Учитывая вывод о том, что «уязвимость, скорее всего, не использовалась», оставлять активы в исходном приватном кошельке — это безопасный выбор. Если вы уверены в безопасности операции, вывод активов также возможен. Каждый может решить самостоятельно, исходя из своих обстоятельств.
Могут ли пользователи самостоятельно проверить, что общее количество Zcash не было увеличено?
На данный момент — нет. Из-за существования этой уязвимости обычные пользователи не могут независимо проверить, не было ли увеличено общее количество токенов в приватных пулах.

Однако планируемое обновление сети Ironwood решит эту проблему. Логика следующая:

Это обновление полностью закроет пул Orchard: новые активы нельзя будет вносить, а токены внутри пула нельзя будет перемещать. Все активы можно будет вывести только через существующие каналы. А сумма вывода через эти каналы строго равна количеству токенов, которые были законно внесены изначально, что предотвратит превышение лимита на выходе.
После завершения обновления любой, кто запустит узел, сможет проверить соответствие общего объема токенов. Даже если поддельные токены действительно существовали ранее, они больше не смогут циркулировать внутри пула Orchard, увеличивая общий объем эмиссии. Пользователям не нужно будет гадать о действиях хакеров или других пользователей — сам протокол гарантирует, что сверхэмиссия невозможна.
Это крайне важно. Долгосрочная надежность Zcash основана на возможности пользователей самостоятельно проверять общее количество токенов. Обновление Ironwood вернет пользователям эту способность.
Как убедиться, что в проекте нет других уязвимостей для подделки токенов?
На данном этапе нельзя дать абсолютного ответа, но у нас есть основания полагать, что подобных уязвимостей больше нет.
Shielded Labs совместно с несколькими командами провела комплексную проверку протокола Zcash, сосредоточившись на поиске уязвимостей, связанных с подделкой токенов. В процессе проверки команда также использовала для помощи в обнаружении еще не выпущенную публично модель искусственного интеллекта Mythos от компании Anthropic. Впоследствии мы опубликуем статью с подробным описанием процесса и результатов этой проверки.
На сегодняшний день команда не обнаружила новых уязвимостей для подделки. Эта проверка объединила опытных технических специалистов, профессиональные команды безопасности и передовые инструменты анализа на основе ИИ, что усиливает нашу уверенность в том, что на данный момент нет других неизвестных критических уязвимостей того же типа.
В то же время мы сотрудничаем с такими партнерами, как проект Tachyon, для проведения дополнительных проверок с целью дальнейшего усиления защиты. О соответствующих достижениях также будет сообщено позже.
Резюме
Уязвимость в Orchard поднимает четыре ключевых вопроса: была ли она использована, можно ли вернуть законные активы, можно ли проверить общее количество токенов и существуют ли другие уязвимости для подделки.
Основываясь на результатах текущих проверок, мы считаем, что вероятность использования уязвимости ранее низка, поэтому средства пользователей в безопасности, а общее количество токенов в настоящее время также остается нормальным. После многократных проверок несколькими независимыми командами мы также все больше убеждаемся в том, что в проекте пока нет других неизвестных уязвимостей для подделки.
Но есть один момент, которого нельзя избежать: на данный момент пользователи еще не могут самостоятельно проверить общее количество токенов. Предстоящее обновление сети полностью решит эту проблему. После обновления пул Orchard будет навсегда закрыт, и пользователи смогут независимо проверять общее количество токенов, не пытаясь угадать, происходила ли подделка.






