Loading market data...

Zcash устраняет критическую уязвимость Orchard, которая могла привести к двойной трате

Zcash устраняет критическую уязвимость Orchard, которая могла привести к двойной трате

На прошлой неделе Zcash закрыл критическую уязвимость корректности в своем защищенном пуле Orchard, устранив баг, который мог позволить двойную трату внутри этого пула, ориентированного на конфиденциальность. Ошибка, обнаруженная исследователем Тейлором Хорнби в ходе аудита протокола для Shielded Labs, была исправлена с помощью скоординированного мягкого форка и последующего полного хардфорка (NU6.2) 3 июня. Фонд Zcash заявил, что нет доказательств эксплуатации уязвимости, и общий объем ZEC остается в безопасности.

Внутренняя механика ошибки Orchard

Уязвимость находилась в схеме доказательства с нулевым разглашением пула Orchard. Она могла позволить злоумышленнику создавать недействительные переходы состояний — по сути, тратить одни и те же монеты дважды внутри этого пула. Однако турникетный механизм, отслеживающий общее количество ZEC во всех пулах, заблокировал бы любую попытку раздуть общую эмиссию. Таким образом, хотя сам пул Orchard находился под угрозой, более широкая экономика Zcash не пострадала. Конфиденциальность средств во всех пулах также осталась нетронутой.

Хорнби сообщил о проблеме во время планового аудита. Разработчики, майнеры и операторы инфраструктуры затем скоординировались в частном порядке для подготовки исправления, не раскрывая детали, чтобы не дать злоумышленникам преимущества.

Скоординированное исправление и хардфорк

Первая попытка мягкого форка столкнулась с техническими проблемами. Затем последовал исправленный патч, активированный 2 июня, но он временно отключил транзакции, связанные с Orchard. Это было не идеально, но позволило выиграть время. На следующий день сеть завершила хардфорк NU6.2, восстановив функциональность Orchard с исправленным кодом и навсегда устранив уязвимость.

В социальных сетях некоторые пользователи решили, что сеть отключилась. Путаница возникла из-за блокчейн-эксплореров, подключенных к устаревшим узлам — а не из-за реального сбоя сети. Фонд Zcash пояснил, что сеть работала в обычном режиме.

Рост цены на фоне общего спада рынка

ZEC подскочил более чем на 8% внутри дня и вновь протестировал отметку $636 на новостях, затем взлетел примерно на 20% за два дня, в то время как более широкий крипторынок снижался. Уровень поддержки $600 удержался после короткого падения ниже него. На момент написания ZEC торгуется по $612, что на 9,5% выше за неделю. Такое движение цены говорит о том, что инвесторы расценили быстрое и чистое исправление как позитивный сигнал для надежности протокола.

Сейчас сеть полностью работоспособна с исправленным кодом. Разработчики продолжают мониторинг на предмет остаточных проблем, но непосредственный кризис миновал.