Урок 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. Після виконання генерується доказ, який можна повернути до будь-якого блокчейну через on-chain верифікатор.

Ця архітектура дозволяє розробникам створювати потужну, мінімізовану довіру логіку без перевантаження блокчейну. Вона також дозволяє створювати повторно використовувані,Composable докази, які можуть служити кількома контрактами або додатками.

Що робить докази бездостовірними та перевіряємими

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

Ядро цієї довіри походить від структури нульових доказів. Ці докази розроблені так, щоб будь-яке недійсне обчислення, навіть один неправильний біт, призвело до невдалої перевірки. Контракт перевіряючого не може бути обманутий, щоб прийняти хибний результат, за умови, що криптографічні припущення зберігаються.

Більш того, оскільки перевіряльнику потрібні лише публічні вхідні дані, доказ і ключ перевірки, немає залежності від особи чи поведінки доказувача. Будь-яка третя сторона може згенерувати доказ, і якщо він проходить перевірку, його приймають. Це означає, що доказувачі можуть бути децентралізованими, без дозволу та навіть отримувати винагороду, що є особливістю, яка детальніше вивчається в мережах доказів.

Поєднуючи криптографічні гарантії з фінальністю блокчейну, ZK копрограматори забезпечують новий бездоверчий шар виконання, який не покладається на централізовані сервіси, репутацію або мультипідписну згоду.

Роль у DeFi, крос-чейн та L2 екосистемах

ZK копрограматори знаходять реальне визнання в областях, де обчислення повинні бути з мінімізованою довірою, економічно ефективними або приватними. У DeFi вони можуть обчислювати середні ціни за часом, активи за часом або спеціальні моделі ризиків без зберігання всіх даних в ланцюгу. Це дозволяє створювати більш розумні фінансові контракти без збільшення витрат на газ або роздування блокчейну.

У крос-чейнових додатках ZK-копрограмісти можуть виступати в ролі легких клієнтів. Замість того, щоб запускати повні вузли для кожного ланцюга, додатки можуть перевіряти стиснений доказ стану іншого ланцюга. Це суттєво спрощує мости та протоколи обміну повідомленнями, покращуючи як безпеку, так і взаємодію.

Екосистеми другого рівня також впроваджують ZK копрограматори як спосіб оптимізації логіки роллапів. Замість того, щоб виконувати кожну взаємодію всередині кола роллапу, роллапи можуть делегувати конкретні завдання, такі як виявлення шахрайства, перевірка ораклів або логіка, визначена користувачем, зовнішнім ZK копрограматорам. Це знижує витрати на доведення та робить роллапи більш модульними.

ZK копрограматори таким чином стають важливими інфраструктурними компонентами. Вони розширюють можливості блокчейнів, не жертвуючи децентралізацією чи продуктивністю. У міру зрілості інструментів і середовищ виконання, вони, ймовірно, стануть стандартними варіантами в стеку розробки для будь-якого розвинутого децентралізованого застосунку.

Відмова від відповідальності
* Криптоінвестиції пов'язані зі значними ризиками. Дійте обережно. Курс не є інвестиційною консультацією.
* Курс створений автором, який приєднався до Gate Learn. Будь-яка думка, висловлена автором, не є позицією Gate Learn.