Инструмент восстановления ZK для Cardano завершил полный клейм кошелька в Preview testnet
Публичный репозиторий в аккаунте GitHub Charles Hoskinson описывает сквозную систему восстановления активов, спасенных из скомпрометированных кошельков Cardano. Контракт Plutus V3 проверил доказательство владения с нулевым разглашением и перевел пять тестовых ADA на новый кошелек без раскрытия сид фразы пользователя.
By SongMarketCap
Инструмент восстановления Cardano с нулевым разглашением завершил полный клейм в Preview testnet, переведя активы из кастодиального контракта после подтверждения, что заявитель контролирует исходный мастер сид.
Открытый релиз включает криптографическую схему, локальный провайвер доказательств, валидатор Plutus V3, материалы формальной верификации, тестовые транзакции и прототип интерфейса под названием ReclaimGlobal. Он расширяет ранний эксперимент, раскрытый Charles Hoskinson, до публично проверяемого процесса восстановления с работающими ончейн результатами.
Репозиторий привлек дополнительное внимание после того, как разработчик Phil отметил его архитектуру, документацию и систему доказывания. Hoskinson позже перепостил эту оценку.
ReclaimGlobal связывает право собственности на кошелек со спасенными активами
ReclaimGlobal предназначен для инцидентов, когда активы уже выведены из скомпрометированных учетных данных и помещены внутрь контракта восстановления.
Пострадавший пользователь подключает скомпрометированный кошелек в режиме только чтение, локально генерирует доказательство владения и выбирает новый кошелек для получения активов. Сид фраза остается на устройстве пользователя и не передается ни в контракт, ни оператору восстановления, ни на внешний сервер.
Отдельный процесс блокировки позволяет оператору, спасателю или донору внести активы в привязанный к владельцу Cardano UTxO. Эти средства может забрать только пользователь, способный доказать, что затронутые платежные учетные данные были получены из соответствующего мастер сида.
Инструмент не предназначен для пользователей, утративших сид фразу. Заявитель должен по прежнему контролировать исходный сид, а активы сперва должны быть обезопасены внутри кастодиальной структуры. Средства, уже переведенные за пределы этого процесса восстановления, контрактом вернуть нельзя.
В репозитории описан инцидент с участием примерно 8,823 затронутых платежных учетных данных. Техническое объяснение утверждает, что сид фразы, мастер сиды и коды цепочки не были раскрыты. Вместо этого производные ключи подписи были скомпрометированы из за изъяна детерминированного nonce в модуле подписи транзакций.
Поскольку отдельные учетные данные кошелька выводятся из мастер секрета через однонаправленные операции, похищенный производный ключ может позволить неавторизованную подпись транзакций без раскрытия исходного сида. Система восстановления использует это различие, чтобы отделить законного владельца кошелька от атакующего, который держит только скомпрометированные учетные данные.
Plutus V3 проверяет владение без раскрытия сида
Доказательство владения генерируется локально через систему Groth16, работающую над кривой BLS12-381. Получившееся доказательство имеет размер 336 байт, при этом базовый контур содержит примерно 3.45 миллиона ограничений.
Среда Plutus V3 в Cardano проверяет доказательство до того, как кастодиальный контракт выпускает активы. Сид фраза заявителя, приватные ключи и полный путь деривации не публикуются ончейн.
Новые учетные данные назначения криптографически связаны с доказательством. Наблюдатель не может скопировать транзакцию и заменить адрес получателя, поскольку изменение назначения аннулирует клейм.
Валидатор также подтверждает, что запрошенная выплата соответствует праву, записанному в кастодиальном датуме. Дополнительные условия не позволяют контракту заплатить самому себе или вернуть активы на скомпрометированные учетные данные.
Два начальных рубежа были достигнуты в Preview testnet. В первом случае пять тестовых ADA были заблокированы за верификационной процедурой и выпущены после того, как нода приняла валидное доказательство. Вторая транзакция с тем же доказательством и одним измененным байтом была отклонена.
Полный процесс восстановления затем был проверен через полноценный кастодиальный валидатор. Пять тестовых ADA внесли на депозит, для нового кошелька назначения сгенерировали доказательство, и контракт проверил владение, право на сумму и привязку к назначению перед выпуском активов.
Позднейший клейм добавил дополнительные защиты, включая правило, предотвращающее выплату обратно на затронутые учетные данные, и механизм на основе тикетов для отслеживания потраченных клеймов. Транзакция уложилась в лимиты исполнения Cardano.
Репозиторий также включает доказательства на Lean 4, покрывающие логику принятия решений валидатором, вместе с техническими спецификациями, кодом контура и несколькими раундами рецензирования. Одна формальная связь остается открытой между полной системой ограничений R1CS и каноническим отношением свидетеля, включая компоненты SHA-512 и Ed25519.
Использование в mainnet требует дополнительных мер безопасности и управления
ReclaimGlobal в настоящий момент работает как прототип в Preview testnet, при этом несколько производственных механизмов защиты все еще разрабатываются.
Ключ верификации, используемый в текущем разворачивании, был создан через доверенную процедуру с одним оператором. В репозитории указано, что эта модель подходит для разработки в testnet, но не для системы, отвечающей за реальные активы пользователей.
Groth16 требует структурированной процедуры для создания ключей доказательства и верификации. Участник, сохранивший все секретные материалы настройки, теоретически мог бы сгенерировать недействительные доказательства, которые все же проходят проверку.
Предлагаемая производственная модель поэтому использует многостороннюю церемонию, в которой независимые участники добавляют собственную случайность и уничтожают свои индивидуальные секреты. В репозитории описан процесс с использованием публичной случайности, опубликованного журнала вкладов и независимой проверки завершенной церемонии.
Операционные процедуры также остаются нерешенными. Документация указывает на необходимость определить, кто формирует список права на получение, как выделенные суммы могут быть независимо проверены и как защищаются кастодиальные активы во время обработки клеймов.
Дальнейшая работа включает завершение ончейн системы признака траты и нулификаторов, усиление защит кодирования, преобразование прототипа в производственное приложение CIP-30 и проведение полноценного внешнего аудита контура, контракта и церемонии настройки.
Транзакции в Preview показали, что Cardano способен проверять доказательство владения с числом ограничений в несколько миллионов и завершать выплату по восстановлению внутри одной транзакции. Движение системы к продакшну теперь зависит от устранения доверия к одному оператору и установления прозрачных правил для кастодиального хранения, права на получение и авторизации клеймов.