Чому Validity Rollups є найперспективнішим способом масштабування Ethereum?

Автор: StarkWare; Компілятор: Bumpman

Резюме

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

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

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

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

Чому Validity Rollups є найперспективнішим методом розширення для Ethereum?

Зведені версії

Примітка: зведені пакети перевірки часто неправильно називають зведеними пакетами з нульовим знанням, але це неточно. Більшість зведених пакетів перевірки не використовують ZKP і не використовуються з метою забезпечення конфіденційності. Тому більш точним є термін «Зведення перевірки».

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

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

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

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

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

підхід zkEVM

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

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

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

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

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

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

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

Чому Validity Rollups є найперспективнішим методом розширення для Ethereum?

Підхід Cairo-VM

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

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

Використовуючи Cairo (віртуальну машину та мову), ми маємо:

  1. Доказ ефективності оптимізації - кожна інструкція має дійсне алгебраїчне представлення

  2. Rust-подібна мова для написання перевірених програм

  3. Проміжне представлення (Sierra) між Cairo високого рівня та збіркою Cairo (інструкції VM), що дозволяє ефективно виконувати код Cairo

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

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

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

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

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

Пишіть код нативно в Cairo: З випуском Cairo 1.0 розробники тепер можуть використовувати ергономічну та безпечну мову Rust, яка робить написання логіки програми легшим і менш схильним до помилок.

**Сумісність із Solidity: **Розробники Solidity можуть писати код, який може використовувати Cairo VM. Цей підхід забезпечує розробникам досвід, подібний до Ethereum, і робить розумні контракти Solidity переносимими на Starknet. Є два способи досягти цього:

**Переклад: **Переклад — це процес перетворення вихідного коду, написаного однією мовою програмування, на іншу мову. Команда Nethermind створила транспілер Warp для транспіляції коду Solidity у Cairo. Warp робить смарт-контракти Solidity переносними на Starknet, фактично роблячи їх типом 4 zkEVM. Його використовували для перекладу та розгортання контрактів Uniswap з мінімальними змінами.

zkEVM на Starknet: віртуальну машину Cairo можна використовувати для підтвердження виконання іншої віртуальної машини. Kakarot — це zkEVM, написаний у Cairo, який можна використовувати для запуску смарт-контрактів Ethereum у Starknet. Cairo VM і zkEVM не є конкуруючими підходами, ми можемо мати як Cairo VM, так і zkEVM замість того, щоб вибирати між Cairo VM і zkEVM!

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

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

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

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

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

Завдяки трьом напрямкам масштабування STARK, описаним вище, та іншим, які, без сумніву, будуть доступні в найближчі місяці, розробники тепер мають безпрецедентний контроль над масштабуванням блокчейну.

Переглянути оригінал
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити