xmr.club
EN 中文 ES RU
← все гайды
гайд · разбор

Баг Orchard в Zcash — что означает нарушение состоятельности доказательств с нулевым разглашением для приватных монет

29 мая 2026 года исследователь воспроизвёл баг, незаметно просуществовавший в скрытом пуле Zcash с 2022 года: изъян, позволявший доказывающему создавать поддельные скрытые ZEC, которые сеть приняла бы за настоящие. Исправление вышло за считанные дни, средства не были украдены, а общая эмиссия ZEC ни разу не была завышена — и всё же ZEC упал примерно на 45–50%. Разрыв между «кражи не было» и «обвалом на 50%» — это и есть вся суть, и это самый поучительный инцидент с приватной монетой за многие годы. Вот что сломалось, почему ущерб был сдержан и что это говорит — и не говорит — о Monero.

Что произошло, по порядку

Пул Orchard в Zcash — это новейший скрытый пул, активированный в мае 2022 года (обновление сети NU5), построенный на системе доказательств Halo 2 и специально спроектированный для устранения риска доверенной настройки, преследовавшего более ранние пулы Zcash. В конце мая 2026 года исследователь безопасности Taylor Hornby — нанятый Shielded Labs именно для такого проактивного аудита — обнаружил баг состоятельности в схеме Orchard. На следующий день после выпуска Claude Opus 4.8 компанией Anthropic он использовал модель в собственной аудиторской обвязке и создал работающее доказательство концепции: в локальной среде regtest, работающей по тем же правилам, что и основная сеть, он многократно удваивал стоимость ноты, пока кошелёк не стал содержать более 10 миллионов ZEC. Доказательство прошло проверку. Сеть приняла бы его.

Дата (2026)Событие
Май 2022Orchard активирован (NU5). Баг присутствует с первого дня.
29 маяHornby воспроизводит эксплойт в regtest; начинается частное раскрытие.
2 июняСофт-форк (Zebra 4.5.3): транзакции Orchard временно отключены для ограничения подверженности.
3 июняХард-форк NU6.2: Orchard снова включён с исправленной схемой и новым верифицирующим ключом.
Начало июняПолное публичное раскрытие с рабочим журналом. ZEC падает на ~45–50% от недавних максимумов.

От обнаружения до постоянного исправления: около пяти дней, без раскола цепи и с необычайно откровенной публичной публикацией. Запомните это качество реакции — оно важно для понимания остального.

Баг простыми словами

Доказательство с нулевым разглашением позволяет убедить проверяющего в истинности утверждения — «эта транзакция действительна» — не раскрывая скрытых за ним секретов (суммы, отправитель, получатель). Чтобы это было безопасно, система доказательств должна обладать состоятельностью: должно быть невозможно создать убедительно выглядящее доказательство для ложного утверждения.

Дефект Orchard представлял собой недостаточно ограниченный гаджет — конкретно в коде умножения скаляра на переменную точку эллиптической кривой, на который опирается схема. Простым языком: схема забыла полностью зафиксировать одно из математических соотношений, которое должна была соблюдать. Это оставило брешь, через которую доказывающий мог провести произвольные секретные значения и при этом удовлетворить всем проверкам, выполняемым верификатором. Состоятельность нарушилась. Система доказательств принимала недействительные переходы состояний — фантомные ноты, завышенные балансы, двойные траты внутри пула — как легитимные.

Важное уточнение для достоверности: это была не дыра в высокоуровневой спецификации протокола, а баг на уровне гаджета в нижележащей библиотеке доказательств — распространённый и общеизвестно трудноуловимый класс ошибок реализации в системах с нулевым разглашением. Гаджеты скалярного умножения — одни из самых сложных для полного ограничения элементов схемы, именно поэтому ведущие криптографы и предыдущие аудиты пропустили его в течение четырёх лет.

Почему «нет инфляции» и «серьёзно» — оба правдивы

Заголовочное заверение было точным: общая эмиссия ZEC никогда не была завышена, и никакие средства пользователей не были украдены. Но более тщательная формулировка — «баг не создал извлекаемой инфляции, однако целостность балансов внутри пула Orchard стала на короткое время недоказуемой» — это та часть, которая действительно двинула рынок, и её стоит понять.

  • Что баг мог делать: создавать недействительные переходы состояний внутри скрытого пула — поддельные ноты, завышенные внутренние балансы. Поскольку пул приватный по замыслу (суммы и участники скрыты, доказательства с нулевым разглашением), нет способа постфактум криптографически доказать или опровергнуть, что кто-либо эксплуатировал его в течение четырёхлетнего окна.
  • Чего баг не мог делать: вытащить эту фантомную ценность наружу из Orchard в прозрачные ZEC или расширить видимую денежную базу. Это работа турникета (следующий раздел), и он сработал.

Так что для монеты, позиционирующей себя как приватные надёжные деньги, остаточная проблема не в том, что «кто-то опустошил казну». Она в том, что целостность внутреннего учёта приватного пула всецело опиралась на схему, которая оказалась сломанной — а аудит приватного пула суммированием невозможен. Именно эта непознаваемость, а не подтверждённая кража, стала причиной продаж держателями. Shielded Labs с тех пор заявила, что изучает новый скрытый пул с принудительным учётом миграции, чтобы целостность предложения стала публично проверяемой в будущем, плюс формальную верификацию схемы.

Турникет: невоспетый герой

Турникет Zcash — это инвариант учёта на уровне консенсуса между его пулами ценностей (прозрачный, унаследованные скрытые пулы Sprout и Sapling, а также Orchard). Правило простое и жёсткое: каждая скрытая транзакция раскрывает чистую сумму, входящую в пул или выходящую из него, цепь отслеживает текущий баланс каждого пула, и любой блок, который делает баланс пула отрицательным, отвергается.

Это эшелонированная защита, наложенная поверх доказательств с нулевым разглашением, и именно она сдержала данный баг. Атакующий, чеканящий фальшивые ноты, мог завышать балансы внутри Orchard, но в момент попытки раскрыть эту ценность наружу заявленный отток из пула превысил бы всё, что когда-либо легитимно входило — и консенсус отверг бы транзакцию. Турникет действует как гермодверь: нарушение состоятельности в одном пуле не может просочиться в глобальную эмиссию. Вот почему каждый заслуживающий доверия отчёт мог честно говорить «нет инфляции предложения, нет украденных средств», при этом не имея возможности удостоверить внутреннюю историю пула.

Более глубокий урок: состоятельность схемы против модели Monero

Заманчиво прочитать это как «доказательства с нулевым разглашением — плохо, Monero — хорошо». Это нечестный вывод. Честный вывод — о том, где каждая конструкция концентрирует свой риск.

Orchard сам был ответом на обоснованную более раннюю критику Zcash: его первые пулы использовали систему доказательств, требующую доверенной настройки, где скомпрометированная церемония настройки могла навсегда включить необнаружимую подделку. Halo 2 устранил эту доверенную настройку. Но данный инцидент показывает цену этого компромисса: без доверенной настройки реализация схемы должна быть безупречно состоятельной — каждый гаджет, каждое ограничение, каждая операция на эллиптической кривой. Одно-единственное недостаточно ограниченное соотношение где угодно разрушает всю гарантию, а эти гаджеты чрезвычайно трудно сделать абсолютно верными.

Monero заключает другую сделку. У него нет одной схемы, которая должна кодировать всё отношение валидности. Его приватность исходит из более прямого алгебраического механизма: обязательства Pedersen плюс доказательства диапазона скрывают суммы (RingCT), кольцевые подписи обеспечивают неоднозначность подписанта среди ложных выходов, скрытые адреса делают каждый выход одноразовым ключом, а образы ключей предотвращают двойные траты. Меньше слоёв абстракции лежит между «транзакция валидна» и «математика сходится», что означает меньшую поверхность для этого конкретного класса ошибок «подделка ценности через сломанную схему».

  • Zcash скрытый (Orchard): сильная теоретическая приватность — суммы, отправитель, получатель и заметка полностью скрыты, растущее множество анонимности внутри пула — ценой необходимости поддерживать очень сложную систему ограничений на 100% корректной и переаудированной при каждом изменении. Приватность также опциональна, с прозрачным резервным путём.
  • Monero: обязательная, включённая по умолчанию приватность с практической сильной несвязываемостью, ценой более крупных транзакций и иного профиля риска, сосредоточенного на качестве ложных выходов, эвристиках выбора выходов и продолжающемся усилении примитивов (например, текущее обновление FCMP++).

Оба в конечном счёте зависят от корректной реализации и непрерывного ревью. ZK покупает «математическую приватность», требуя совершенства схемы; RingCT получает используемую обязательную приватность с более явными проверками, но со своими инженерными компромиссами. Ни то, ни другое не является магией.

Что Zcash сделал правильно — и что следует признать честно

Нейтральный справочник обязан сказать это прямо: действия Zcash были образцом ответственного раскрытия. Команда наняла исследователя целенаправленно для поиска таких багов прежде, чем это могли сделать злоумышленники; они координировались приватно с майнерами и биржами; выпустили двухфазное исправление за считанные дни; и полностью раскрыли информацию, явно отказавшись утверждать, что эксплуатация была невозможна. Они, по сути, сказали: «мы не можем криптографически исключить, что это использовалось — не полагайтесь на 'скорее всего всё в порядке'». Такая откровенность редка и правильна.

И контраргументы, которые держат сторонников Monero честными:

  • «Чем проще, тем всегда безопаснее» — слишком сильное утверждение. Monero проходил свой исторический контроль и имел свою долю багов в кошельках и узлах на протяжении многих лет, а его обязательная модель означает, что вся ценность зависит от его конструктивных решений без возможности отказа.
  • Ошибки в гаджетах и ограничениях — это повторяющаяся проблема во всей индустрии ZK, а не специфичный недостаток Zcash.
  • Турникет и быстрый ответ — действительно впечатляющая инженерная работа. Рынок наказал непознаваемость, усиленную кредитным плечом и выходом по крайней мере одного крупного публичного держателя (Arthur Hayes) с тезисом, что нарративы приватности требуют «совершенства, а не 'скорее всего всё в порядке'». Monero испытал лишь умеренные симпатические продажи.
  • Циркулировали маргинальные утверждения о «намеренном бэкдоре». Они низкодостоверны; нейтральный читатель должен их игнорировать.

Что это значит для вас

Если вы держите или используете любую из этих монет, практические выводы:

  • Это пример эшелонированной защиты, а не смертный приговор ZK. Турникет сработал; доказательства — нет, и запасной рубеж поймал сбой. Системы, предполагающие, что их собственные компоненты могут отказывать, стареют лучше тех, которые этого не предполагают.
  • «Состоятельность» экзистенциальна для любых приватных денег — будь то состоятельность схемы или алгебраическая состоятельность RingCT. Относитесь к частоте аудитов и формальной верификации как к функциям, а не к накладным расходам.
  • Обязательная и опциональная приватность — это реальная ось сравнения. Модель Monero без возможности отказа — иная ставка, чем реальность Zcash с множеством пулов и преимущественной прозрачностью — выбирайте, исходя из того, хотите ли вы, чтобы приватность была состоянием по умолчанию или выбором.
  • Эра ИИ-аудита — обоюдоострый меч. Защитник с правильной обвязкой за день нашёл то, что четыре года экспертного ревью упустили. Это же может сделать и атакующий. Проактивный, ассистируемый ИИ аудит теперь является базовым требованием для протоколов приватности.

Новичок в приватности без KYC и пытаетесь решить, с чего начать? Смотрите Как купить Monero без KYC и проверенный список кошельков. Цель этого руководства — не короновать победителя, а удостовериться, что вы понимаете, чему именно вы доверяете в каждой конструкции.

Picks

  • Monero GUI — Reference Monero wallet — run your own node, no third-party trust in the privacy path.
  • Feather — Lightweight Monero desktop wallet with strong defaults for privacy-conscious users.