Урок 2

Как работают ZK сопроцессоры

Углубляясь в тему, этот модуль разбирает архитектуру ZK сопроцессоров, включая движки доказательства, zkVM и контракты проверок. Он также сравнивает ключевые инструменты разработки, такие как Circom, Noir, Risc Zero и SP1, используя примеры из реальной жизни, такие как Axiom и Bonsai, чтобы объяснить генерацию доказательств и бездоверительное выполнение.

Ядро архитектуры: Prover engine, verifier contract, zkVM

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

Двигатель доказателя отвечает за выполнение вычислений вне цепочки и генерацию криптографического доказательства того, что вычисление было выполнено корректно. Этот двигатель принимает входные данные, обрабатывает их через определенную логику или программу и выводит сжатое доказательство с нулевым разглашением. Процесс доказателя обычно является ресурсоемким, требуя вычислительных ресурсов, таких как ЦП или ГП, в зависимости от типа используемой системы доказательства.

Контракт верификатора развернут в сети и спроектирован таким образом, чтобы быть легковесным. Его единственной целью является проверка правильности представленного доказательства. Он хранит ключ верификации, который математически выведен из той же логики, используемой доказателем. Когда смарт-контракт получает доказательство, он проверяет его с помощью ключа и подтверждает, является ли результат действительным. Этот процесс быстрый и недорогой по сравнению с выполнением полного вычисления в сети.

zkVM или арифметическая схема определяет логику программы. Она служит средой выполнения для доказателя. В некоторых системах это пользовательская схема, написанная на низкоуровневом DSL, в то время как другие используют полные виртуальные машины, которые могут интерпретировать код на языках более высокого уровня. Вместе эти компоненты обеспечивают бездоверительное выполнение вне цепи и сжатую проверку в цепи.

Circom, Noir, Risc Zero, SP1: Языки и виртуальные машины

Появилось несколько инструментов и фреймворков для поддержки разработки ZK сопроцессоров. Circom является одним из первых и наиболее широко используемых языков схем. Он позволяет разработчикам определять арифметические схемы, используя декларативный синтаксис. Эти схемы затем компилируются в системы доказательства, такие как Groth16 или PLONK. Circom известен своей гибкостью, но имеет крутой кривой обучения и требует ручного проектирования схем.

Noir — это более новый язык, созданный для того, чтобы сделать разработку ZK доступной. Разработанный компанией Aztec, Noir — это язык, похожий на Rust, который абстрагирует большую часть сложности систем ограничений. Он автоматически компилируется в нулевые схемы знаний, упрощая написание частных программ с читаемым синтаксисом.

Помимо языков, zkVM привлекают внимание своей способностью выполнять код общего назначения в среде, дружелюбной к ZK. Risc Zero предлагает одну из самых продвинутых реализаций zkVM. Он эмулирует набор инструкций RISC-V и позволяет разработчикам запускать любую программу, написанную на Rust или C, в виде нулевого доказательства. SP1, разработанный компанией Succinct, использует аналогичный подход, но стремится оптимизировать производительность и портируемость между системами доказательств.

Эти среды имеют решающее значение, поскольку они определяют, насколько выразительными, эффективными и составными могут быть ZK сопроцессоры. Хотя низкоуровневые схемы остаются полезными для приложений, требующих высокой производительности, zkVM способствуют более широкому принятию разработчиками и более быстрой итерации.

Пример потока: Как Axiom или Bonsai выполняет ZK логику

Чтобы понять, как работает ZK сопроцессор на практике, рассмотрим поток выполнения системы, такой как Axiom или Bonsai от Risc Zero.

В модели Axiom разработчик определяет запрос по историческим данным Ethereum — например, проверяет, держал ли пользователь определенный баланс в прошлом блоке. Этот запрос отправляется в копроцессор Axiom, работающий вне цепи. Копроцессор извлекает соответствующие данные из цепи, обрабатывает запрос и выполняет логику с использованием zkVM. Как только вычисление завершено, копроцессор генерирует доказательство нулевого знания, подтверждающее правильность результата. Это доказательство отправляется в цепь в контракт верификатора, который его проверяет и позволяет смарт-контракту использовать результат с полной уверенностью.

Bonsai от Risc Zero следует аналогичной структуре, но обобщает процесс. Разработчики пишут логику своих приложений на языке высокого уровня, таком как Rust. Этот код компилируется в изображение zkVM и выполняется вне цепочки с использованием инфраструктуры Bonsai. После выполнения создается доказательство, которое может быть отправлено обратно в любую блокчейн через ончейн верификатор.

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

Что делает доказательства надежными и проверяемыми

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

Суть этого доверия основана на структуре доказательств с нулевым разглашением. Эти доказательства разработаны таким образом, что любое недействительное вычисление, даже один неправильный бит, приведет к сбою верификации. Контракт верификатора не может быть обманут, чтобы принять ложный результат, при условии, что криптографические предположения верны.

Более того, поскольку проверяющему нужны только публичные входные данные, доказательство и ключ проверки, нет зависимости от личности или поведения доказателя. Любая третья сторона может сгенерировать доказательство, и если оно проходит проверку, оно принимается. Это означает, что доказатели могут быть децентрализованными, без разрешений и даже иметь стимулы, что является функцией, которая исследуется более подробно в сетях доказательства.

Объединяя криптографические гарантии с окончательностью блокчейна, ZK сопроцессоры обеспечивают новый бездоверительный уровень исполнения, который не зависит от централизованных сервисов, репутации или консенсуса многоподписей.

Роль в DeFi, кросс-цепочках и L2 экосистемах

ZK-копроцессоры находят реальное применение в областях, где вычисления должны быть с минимизацией доверия, экономически эффективными или приватными. В DeFi они могут вычислять взвешенные средние цены во времени, активы за определенный период или индивидуальные модели риска без хранения всех данных в блокчейне. Это позволяет создавать более умные финансовые контракты, не увеличивая затраты на газ и не раздувая блокчейн.

В кроссчейн-приложениях ZK сопроцессоры могут выступать в роли легких клиентов. Вместо того чтобы запускать полные узлы для каждой цепи, приложения могут проверять сжатое доказательство состояния другой цепи. Это значительно упрощает мосты и протоколы обмена сообщениями, улучшая как безопасность, так и интероперабельность.

Экосистемы второго уровня также принимают ZK сопроцессоры как способ оптимизации логики роллапов. Вместо того чтобы выполнять каждое взаимодействие внутри схемы роллапа, роллапы могут делегировать конкретные задачи, такие как обнаружение мошенничества, проверка оракулов или логика, заданная пользователем, внешним ZK сопроцессорам. Это снижает затраты на доказательство и делает роллапы более модульными.

Таким образом, ZK сопроцессоры становятся важными компонентами инфраструктуры. Они расширяют возможности блокчейнов, не compromising на децентрализацию или производительность. По мере того как инструменты и среды выполнения будут развиваться, они, вероятно, станут стандартными опциями в стек разработки для любого продвинутого децентрализованного приложения.

Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.