Детальне підтвердження валідності Rollup і Cairo VM технічні характеристики

Оригінал: Ефективне масштабування Ethereum

Переклад і вичитка: "Китайська спільнота Starknet"

Опишіть технічні характеристики Rollup і Cairo VM для підтвердження дійсності

огляд

  • Validity Proof Rollup — це найбільш потенційний спосіб збільшити пропускну здатність Ethereum безпечним і децентралізованим способом; zkEVM і Cairo VM (CVM) — це дві віртуальні машини (VM), які використовуються в Validity Proof Rollup.
  • zkEVM зосереджується на сумісності з Ethereum за рахунок продуктивності та масштабованості.
  • Cairo VM, прийнята Starknet, надає перевагу продуктивності та масштабованості над сумісністю.

Цього року зведення було гарячою темою щодо масштабування Ethereum. Серед різних типів зведених даних ми вважаємо, що Validity Proof Rollup (надалі VR, або zk-rollup) є найперспективнішим рішенням розширення для підвищення пропускної здатності Ethereum безпечним і децентралізованим способом. Основою цієї схеми розширення є використання доказів дійсності для обчислень, які можна перевірити. Ось як це працює:

  • На відміну від обробки кожної транзакції в основній мережі Ethereum, оператор виконує транзакцію в середовищі поза мережею. Середовище поза ланцюгом — L2, робочий рівень, що працює поверх Ethereum.
  • Після завершення масової обробки транзакцій оператор L2 повертає результат у стан Ethereum разом із доказом дійсності для перевірки цілісності виконання поза ланцюгом. Це підтвердження гарантує, що всі транзакції в одній партії є дійсними та автономно перевіреними за контрактом перевірки в мережі. Ця операція дозволяє Ethereum застосувати результат до свого стану.

Докладні технічні характеристики Rollup і Cairo VM для підтвердження дійсності

Validity Proof Rollup

Зверніть увагу: зведені пакети підтвердження дійсності часто помилково називають зведеними пакетами з нульовим знанням (zkRollup), що є неточним. Більшість Validity Proofs Rollup не використовує докази з нульовим знанням і не використовується для забезпечення конфіденційності. Таким чином, термін «зведене підтвердження дійсності» є точнішим.

віртуальна машина поза мережею

Перш ніж йти далі, нам потрібно відповісти на перше запитання: що таке віртуальна машина (VM)? Коротше кажучи, віртуальна машина — це середовище, в якому можуть працювати програми, наприклад операційна система Windows, що працює на Mac. Віртуальна машина переходить між станами після виконання обчислень на деяких вхідних даних. Віртуальна машина Ethereum (EVM) — це віртуальна машина, яка запускає смарт-контракти Ethereum.

Віртуальна машина з нульовим знанням (zkVM) — це середовище виконання програми, яке разом із виводом програми генерує легко перевірені докази дійсності. Доказ дійсності використовується для підтвердження того, що програма була виконана правильно. Коли використовується термін «zkEVM», він зазвичай стосується зведеного пакету, який запускає віртуальну машину Ethereum (EVM) і може засвідчити виконання EVM. Ця термінологія може вводити в оману, оскільки сама EVM не може генерувати ці докази; натомість докази створюються окремим механізмом перевірки, який бере результати виконання EVM як вихідну точку. Крім того, усі наведені вище докази пов’язані з дійсністю та не мають нічого спільного з конфіденційністю. Тому його не можна назвати доказом нульового знання, якщо бути точним. Для послідовності в цій статті досі використовується традиційний термін «зкЕВМ».

Хоча всі зведені пакети Proof-of-Validity спрямовані на масштабування Ethereum за допомогою Proof-of-Validity, різні схеми роблять різні вибори щодо того, як віртуальна машина виконує транзакції поза мережею. Багато доказів обґрунтованості Rollup вирішив відтворити дизайн EVM (звідси назва «zkEVM rollup»), намагаючись відтворити Ethereum на L2 rollup. Starknet використовує Cairo VM (CVM), нову віртуальну машину, призначену для оптимізації ефективності підтвердження дійсності.

Наведені вище два методи мають свої переваги, недоліки та компроміси, але zkEVM жертвує продуктивністю заради сумісності з Ethereum, тоді як Cairo VM ставить продуктивність вище сумісності та надає пріоритет масштабованості.

Зрозумійте, як працює zkEVM

zkEVM — це зведений пакет для підтвердження дійсності, призначений для повного впровадження досвіду Ethereum у блокчейні L2. Мета полягає в тому, щоб відтворити середовище розробника Ethereum у Rollup. Завдяки zkEVM розробникам не потрібно коригувати код або відмовлятися від оригінальних інструментів EVM (і смарт-контрактів) під час написання або перенесення смарт-контрактів на рішення розширення.

Цей підхід має ключовий недолік, який зменшує масштабованість доказів дійсності. Завдяки зосередженню на сумісності з Ethereum, zkEVM є повільнішим і потребує більше ресурсів. На відміну від CVM, EVM не розроблено з метою перевірки ефективності. Це обмежує використання оптимізацій для підвищення ефективності та масштабованості, що зрештою впливає на загальну продуктивність системи.

Доказовість EVM

Основна проблема підходу zkEVM полягає у вкоріненому оригінальному плані EVM, який спочатку не був розроблений для роботи в середовищі підтвердження дійсності. Тому, якщо всі зусилля спрямовані на реалізацію функцій Ethereum, повний потенціал доказу дійсності не може бути вивільнений, що призведе до незадовільної ефективності. Ця неефективність зрештою знижує загальну продуктивність системи. Сумісність EVM з доказами дійсності перешкоджає:

  • EVM використовує модель на основі стека, тоді як валідність виявляється більш ефективною для моделі на основі реєстру. Природа EVM, що базується на стеку, за своєю суттю ускладнює доведення правильності його виконання та забезпечує пряму підтримку рідного ланцюжка інструментів.
  • Схема сховища Ethereum значною мірою покладається на Keccak і великі дерева Merkle Patricia, обидва з яких не підтримують перевірку дійсності та створюють величезне навантаження на доказ. Наприклад, Keccak дуже швидкий для архітектур x86 (зазвичай використовується для запуску EVM), але для перевірки потрібно 90 тисяч кроків (потрібні спеціальні вбудовані засоби). У той час як Педерсен (геш-функція з нульовим знанням) вимагає лише 32 кроки. Навіть із рекурсивним стисненням використання Keccak у zkEVM все одно споживає багато ресурсів перевірки, а вартість остаточно несе користувач.

Тому різні типи zkEVM розроблені для забезпечення різних рівнів підтримки інструментів Ethereum, але чим вища сумісність zkEVM з Ethereum, тим нижча продуктивність. (більше типів zkEVM див. у кінці статті)

Опишіть технічні характеристики Rollup і Cairo VM для підтвердження дійсності

Зрозумійте, як працює Cairo-VM

Рішення zkEVM витратило багато часу на розробку, щоб «зробити EVM придатним для Validity Proof Rollup», надаючи пріоритет сумісності над довгостроковою продуктивністю та масштабованістю. Є інший варіант: прийняти нову виділену віртуальну машину та додати додатковий рівень для підтримки інструментів Ethereum. Це крок, який робить Starknet, запускаючи зведений пакет підтвердження дійсності без дозволу в листопаді 2021 року. Starknet — це перший зведений пакет із підтвердженням дійсності, який реалізує платформу смарт-контрактів загального призначення в повністю комбінованій мережі.

Starknet приймає Cairo-VM (CVM) і створює однойменну мову високого рівня Cairo. Cairo-VM призначений для ефективної генерації доказів валідності виконання програми.

З Cairo (VM і мова програмування) можна:

  1. Доказ ефективності оптимізації, кожна інструкція має дійсний алгебраїчний вираз
  2. Сучасна Rust-подібна мова для написання доказових програм
  3. Проміжні вирази (Sierra) між мовою Cairo високого рівня та збіркою Cairo (інструкції VM), які можуть ефективно виконувати код Cairo

Розробка абсолютно нової мови може бути пристосована до конкретних потреб, може включати функції, які раніше були недоступні, і відповідати новим потребам.

Каїр і плюралізм кодування

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

Мова Cairo була розроблена, щоб спростити це завдання, щоб StarkEx міг легко додати функціональність і складну бізнес-логіку. Програми Cairo скомпільовані в алгебраїчний машинний код, послідовність чисел, що виконується однією фіксованою VM. У Cairo складний процес генерування математичних обмежень, що описують обчислення (дуже складний для доказів дійсності), абстрагується та виражається у вигляді фіксованого набору обмежень (загалом менше 50 обмежень). Це дозволяє розробникам розширювати додатки доказами дійсності, пишучи код у знайомому синтаксисі, не розуміючи основної математики та інфраструктури.

Відданість Starknet інноваціям очевидна в її підході до плюралізації коду. Cairo використовує технологію STARK для досягнення оптимальних функцій розширення, не обмежуючись написанням контрактів з місцевим середовищем Cairo. Розробники також можуть вибрати найбільш підходящий метод:

  • Локальний код у Cairo: натхненний Rust, Cairo 1.0 більше відповідає звичкам розробників і безпечніший, а писати програмну логіку стає легше та менш схильним до помилок.
  • Сумісність із Solidity: розробники Solidity можуть писати код, який підтримує Cairo VM. Цей підхід забезпечує розробникам досвід, подібний до Ethereum, і підтримує міграцію смарт-контрактів Solidity до Starknet. Існує два способи здійснення міграції:
  • Переклад: переклад — це процес перетворення вихідного коду однієї мови програмування на іншу мову. Команда Nethermind створила транспілер Warp для транспіляції коду Solidity до Cairo. Warp робить смарт-контракти Solidity переносними на Starknet, що робить їх фактично четвертим типом zkEVM. Зараз він використовується для перекладу та розгортання контрактів Uniswap з мінімальними змінами.
  • zkEVM на Starknet: віртуальну машину Cairo можна використовувати для підтвердження виконання іншої віртуальної машини. Kakarot — це zkEVM, написаний у Cairo, який можна використовувати для запуску смарт-контрактів Ethereum у Starknet. Cairo VM і zkEVM не конкурують між собою, краще мати обидва, ніж вибирати між ними!

Незважаючи на те, що Cairo не існує вже давно, згідно з рейтингом TVL, Cairo є четвертою за популярністю мовою програмування смарт-контрактів з оцінкою понад 350 мільйонів доларів.

Підведіть підсумки

zkEVM має на меті відтворити середовище розробника Ethereum у Rollup і дозволити розробникам використовувати знайомі інструменти Ethereum. Але цей підхід обмежує потенціал для доказів дійсності та вимагає ресурсів.

Cairo VM, призначений для підтвердження дійсності, не підлягає обмеженням EVM. Cairo VM підтримує Cairo 1.0. Натхненний мовою Rust, Cairo 1.0 більше відповідає звичкам розробників і є безпечнішим, утворюючи потужний інструмент, призначений для використання STARK для підтвердження ефективного розширення Ethereum.

Захоплююче спостерігати, як Cairo розвивається щотижня, і можливості для таких розробників, як Kakarot zkEVM і Warp, зростають. Оскільки Starknet dApps у виробництві демонструє силу Cairo, ми твердо віримо, що в майбутньому Cairo породить видатні проекти, яких ніколи раніше не бачили.

Вище було описано три шляхи розширення SATRK, і, без сумніву, у найближчі місяці з’являться нові інновації. Тепер розробники мають безпрецедентний контроль над масштабуванням блокчейнів.

тип zkEVM

Віталік ділить зкЕВМ на чотири основних типи:

  • Перша категорія повністю еквівалентна Ethereum: не змінює жодної частини екосистеми Ethereum.
  • Другий тип повністю еквівалентної EVM: сумісний з існуючими dApps і вносить деякі корективи в дизайн Ethereum для прискорення створення доказів.
  • Третя категорія приблизно еквівалентна EVM: підтримує більшість кодів операцій EVM і видаляє деякі функції, які zkEVM важко реалізувати (такі як функції попередньої компіляції та хешування).
  • Четвертий тип еквівалентної мови високого рівня: напишіть код смарт-контракту в Solidity/Vyper і перекладіть його на дійсну мову, зручну для доказів.
Переглянути оригінал
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити