Оригинальные авторы: Джейсон МакГи, генеральный директор Shielded Labs, и Зуко Уилкокс, основатель Zcash
Компиляция | Odaily Planet Daily Цинь Сяофэн (@QinXiaofeng 888 )
Примечание редактора: 5 июня по пекинскому времени в приватном проекте Zcash была обнаружена критическая уязвимость, позволяющая создавать поддельные транзакции, в новом приватном пуле Orchard. Цена токена ZEC упала почти вдвое, достигнув минимума около 250 долларов. После примерно 10 дней обсуждений панические настроения на рынке несколько улеглись, цена ZEC также восстановилась и сегодня вернулась к отметке в 500 долларов.
Сегодня утром основатель Zcash Зуко Уилкокс снова опубликовал пространную статью, отвечая на волнующие рынок вопросы. Он заявил, что, скорее всего, уязвимость Orchard ранее не использовалась, легитимные средства в Orchard можно вернуть; в настоящее время пользователи пока не могут самостоятельно проверить, не превышена ли эмиссия Zcash, но обновление Ironwood закроет пул Orchard, восстановив эту возможность проверки; в ходе продолжающейся проверки других уязвимостей для подделки не обнаружено, но для полной уверенности требуется больше работы.
Ниже приведен оригинальный текст Зуко Уилкокса, скомпилированный Odaily Planet Daily, enjoy~
————————————
Недавняя уязвимость Orchard подняла важные вопросы о предложении Zcash и безопасности средств пользователей. В обсуждениях смешались несколько разных тем, что затрудняет понимание реального воздействия этой уязвимости на пользователей. В этой статье предпринята попытка разделить эти вопросы и объяснить значение каждого из них для пользователей.
Уязвимость Orchard поднимает четыре важных вопроса:
- Была ли уязвимость Orchard когда-либо использована?
- Можно ли вернуть легитимные средства из Orchard?
- Могут ли пользователи проверить, что предложение Zcash не было увеличено сверх нормы?
- Как мы узнаем, что нет других уязвимостей для подделки?
Была ли уязвимость Orchard когда-либо использована?
Неизвестно. Мы считаем, что это маловероятно, хотя полностью исключить такую возможность нельзя. Мы считаем, что уязвимость, скорее всего, не использовалась, по трем причинам:
Несмотря на многолетний постоянный анализ со стороны многих ведущих мировых криптографов и исследователей безопасности, эта уязвимость ранее не была обнаружена. Её окончательное обнаружение не было случайным; она была найдена Тейлором Хорнби из Shielded Labs с целью активного выявления подобных уязвимостей безопасности до того, как ими воспользуются злоумышленники. Тейлор использовал передовые методы исследования безопасности с помощью ИИ и специально созданные пользовательские инструменты, разработанные для выявления тонких дефектов, которые другие могли пропустить. Для тех, кто не является экспертом в кодовой базе Zcash, сделать это было бы значительно сложнее.
Как только уязвимость была обнаружена, разработчики Zcash (под руководством команды Zcash Open Development Labs) быстро скоординировались с пулами, чтобы временно заморозить пул Orchard и развернуть исправление, тем самым ограничив окно возможностей для любой атаки.
Эксплойты уязвимостей в криптовалютах являются обычным явлением, и злоумышленники обычно стараются обналичить их как можно быстрее, особенно после того, как уязвимость становится публично известной. Чтобы получить прибыль от этой уязвимости, злоумышленнику нужно было бы обменять поддельные ZEC на ценные активы, что обычно привело бы к оттоку ZEC из пула Orchard через механизм "вертушки" (turnstile). Если бы уязвимость была использована до исправления, мы ожидали бы, что к настоящему моменту появились бы доказательства. Исторически эксплуатация уязвимостей в криптовалютах обычно была операцией типа "схватить и бежать", а не стратегией, скрытой в течение месяцев или лет, как в "4D-шахматах".
Можно ли вернуть легитимные средства из Orchard?
Мы считаем, что да, потому что считаем, что уязвимость никогда не использовалась. Если это предположение верно, все легитимные средства в Orchard по-прежнему полностью возвращаемы.
С другой стороны, если подделка в Orchard действительно произошла, существующий механизм "вертушки" ограничит общий объем вывода суммой ZEC, легитимно вошедших в этот пул. Следовательно, если поддельные средства будут выведены раньше легитимных, пользователи не смогут вернуть часть или все свои легитимные средства из Orchard.
Мы считаем, что такой сценарий маловероятен. Тем не менее, более осторожным пользователям по-прежнему рекомендуется вывести свои ZEC из Orchard. Однако перед этим им следует учитывать следующее:
- Перевод средств в прозрачный пул (т.е. на t-адрес) одновременно раскрывает сумму перевода и время перевода, а также публично связывает эти средства с этим t-адресом.
- Перевод средств из пула Orchard в пул Sapling раскрывает сумму перевода и время перевода, но, в отличие от перевода на t-адрес, не связывает эти средства с конкретным адресом или историей транзакций.
- Пул Sapling полагается на процедуру доверенной настройки (trusted setup ceremony), проведенную в 2018 году. Пользователи должны осознавать дополнительный риск, связанный с безопасностью этой доверенной настройки.
- Насколько нам известно, YWallet и Zkool в настоящее время являются единственными широко используемыми самохранящимися кошельками для Zcash, поддерживающими пул Sapling.
- Перевод средств на новый кошелек или в кастодиальный сервис влечет за собой дополнительные риски, включая ошибки пользователя, дефекты ПО, риск со стороны кастодиана или другие непредвиденные проблемы.
В целом, мы считаем, что вышеупомянутые риски умеренны. Если ваши средства в настоящее время хранятся в самохраняющемся приватном кошельке, то, учитывая нашу оценку о маловероятности предшествующей подделки, оставить их там — разумный выбор. Если у вас есть безопасный способ перевода средств в другое место, это также может быть разумно. Пользователи могут прийти к разным выводам в зависимости от своей ситуации.
Могут ли пользователи проверить, что предложение Zcash не было увеличено сверх нормы?
В настоящее время — нет. Ранее существовавшая уязвимость лишает пользователей возможности самостоятельно проверить, что количество ZEC, находящихся в обращении в приватных пулах, не превышает правильную сумму.
Однако, как мы указывали в предыдущей статье, обновление Ironwood восстанавливает эту возможность. На диаграмме ниже показано, почему.
Предлагаемое сетевое обновление решает эту проблему, добавляя гарантию "больше нет неизвестных уязвимостей для подделки" и закрывая пул Orchard. Новые средства больше не могут войти, а средства внутри пула больше не могут находиться в обращении. Единственный оставшийся путь — выход через существующий механизм "вертушки", который гарантирует, что из пула Orchard не будет выведено больше ZEC, чем легитимно вошло.
Это изменение восстанавливает возможность проверки целостности предложения Zcash.
В настоящее время, если в пуле Orchard существуют поддельные средства, они могут продолжать циркулировать внутри пула. После обновления это станет невозможным. Независимо от того, происходила ли подделка, любой, кто запускает узел, сможет проверить, что количество ZEC в обращении не превышает правильную сумму.
Пользователям не нужно ждать, пока средства будут выведены из Orchard, или делать предположения о возможном поведении злоумышленников или других пользователей. Сам протокол обеспечивает проверяемую гарантию: избыточные ZEC не могут продолжать циркулировать внутри Orchard и увеличивать предложение.
Это важно, потому что долгосрочная надежность Zcash зависит от возможности пользователей самостоятельно проверять целостность его предложения. Ironwood восстанавливает способность пользователей независимо проверять, соблюдается ли ограничение на предложение протокола.
Как мы узнаем, что нет других уязвимостей для подделки?
В настоящее время мы не можем быть полностью уверены, но у нас есть основания полагать, что других уязвимостей нет. Shielded Labs и несколько других команд тщательно изучали протокол Zcash на предмет наличия других уязвимостей для подделки. Это включает использование еще не выпущенной модели ИИ Mythos при помощи Anthropic для поиска дополнительных уязвимостей незадолго до приостановки Mythos. Мы планируем поделиться более подробной информацией об этом аудите и его выводах в последующих публикациях.
На данный момент других уязвимостей для подделки не обнаружено. Высокий уровень экспертизы, приложенные усилия и передовой анализ с помощью ИИ, задействованные в этом поиске, дают нам больше уверенности в том, что подобные уязвимости больше не остались незамеченными.
Кроме того, мы сотрудничаем с такими проектами, как Tachyon Project, чтобы предоставить дополнительные гарантии отсутствия дальнейших уязвимостей для подделки в Zcash. Мы также расскажем об этом более подробно в будущих публикациях.
Заключение
Уязвимость Orchard ставит четыре важных вопроса: была ли уязвимость использована, можно ли вернуть легитимные средства из Orchard, могут ли пользователи проверить, что предложение Zcash не было увеличено сверх нормы, и существуют ли другие, еще не обнаруженные уязвимости для подделки.
Мы считаем, что ранее уязвимость, скорее всего, не использовалась, поэтому легитимные средства из Orchard можно вернуть, а текущее предложение Zcash безопасно. Основываясь на постоянном аудите нескольких независимых исследователей и команд, мы также всё больше уверены, что других необнаруженных уязвимостей для подделки не существует. Однако в настоящее время пользователи не могут проверить безопасность предложения Zcash, и им не следует полагаться на нашу оценку — или оценку кого-либо еще.
Предлагаемое сетевое обновление решает эту проблему. Закрыв пул Orchard, оно восстанавливает способность пользователей независимо проверять безопасность предложения Zcash. Пользователям больше не нужно оценивать, происходила ли подделка, чтобы проверить, соблюдаются ли ограничения на предложение протокола.










