ZK Rollup, як спосіб масштабування Ethereum, дозволяє обробляти транзакції поза ланцюгом і об’єднувати їх у головному ланцюзі як одну стиснуту транзакцію. Цей процес покращує пропускну здатність транзакцій, зменшує витрати на транзакції, забезпечує валідність стану через підтвердження з нульовим знанням і покращує конфіденційність і безпеку основного ланцюга. Тому ZK Rollup вважається найкращим рішенням для розширення Ethereum.
Однак на даний момент створення доказів з нульовим знанням вимагає великої обчислювальної потужності, і технічні труднощі також вищі.В той же час, оскільки віртуальна машина Ethereum (EVM) не розроблена для підтримки схем ZK, вона не може безпосередньо виконувати смарт-контракти. Щоб вирішити цю проблему, багато розробників намагалися розробити zkEVM, який може запускати смарт-контракти у спосіб, сумісний з обчисленнями з нульовим знанням. Для багатьох ZK Rollups досягнення еквівалентності EVM означає досягнення повної сумісності на рівні байт-коду.Наразі zkEVM є ключем до розширення Ethereum.
У цій статті буде вивчено п’ять поширених типів zkEVM і прогрес кожного типу проекту, а також вказано на труднощі розробки кожного типу zkEVM.
Що таке zkEVM
zkEVM — це сумісна з EVM віртуальна машина, яка підтримує обчислення з нульовим знанням, і це платформа розробки додатків на основі технології блокчейну Ethereum. Контракт EVM можна безпосередньо розгортати та запускати без змін, а робота програми може довести дійсність її розрахунку через нульове знання.
Переваги zkEVM
zkEVM покращує сумісність. zkEVM дуже сумісний зі смарт-контрактами, написаними для роботи в EVM, і може бути бездоганно інтегрований з інфраструктурою EVM. Розробники можуть перенести існуючі програми Ethereum на L2 без перерозробки програм. Водночас zk proof успадковує безпеку мережі Ethereum.
zkEVM покращує масштабованість. zkEVM використовує неінтерактивні докази, що покращує пропускну здатність і зменшує затримку, оскільки перевірити докази для блоків L2 швидше, ніж повторно виконувати кожну транзакцію в новому запропонованому блоці.
zkEVM зменшує витрати на зберігання. Зведений пакет zkEVM може публікувати лише зобов’язання щодо свого остаточного стану на Ethereum L1, зменшуючи витрати на зберігання в мережі. Підтвердження дійсності гарантують правильність нового стану zkEVM, тому замовнику не потрібно публікувати всі дані, необхідні для повторного виконання зміни переходу стану.
Завдяки безперервному вдосконаленню zkEVM обмеження ZK Rollup усуваються. Використовуючи безпеку та ефективність ZK Rollup у поєднанні з сумісністю EVM, додатки можуть взаємодіяти зі смарт-контрактами для покращення роботи додатків.
П'ять різних типів zkEVM і пов'язаних проектів
На початку розробки EVM не вважалося, що він підтримує докази з нульовим знанням, що ускладнювало створення EVM-сумісної віртуальної машини zk.Однак у міру розвитку досліджень обчислення EVM можна обернути в докази з нульовим знанням. У різних проектах zkEVM використовуються різні підходи, які поєднують виконання EVM з обчисленнями без знань.
Віталік Бутерін, засновник Ethereum, також опублікував статтю, пояснюючи компроміси між різними типами zkEVM.V God вважає, що основні цілі цих проектів однакові: використовувати технологію ZK-SNARK для надання зашифрованих доказів для виконання транзакції, подібні до Ethereum, так що легше перевірити сам ланцюжок Ethereum або створити ZK Rollups, еквівалентні тим, що пропонує Ethereum, але більш масштабовані, ніж Ethereum.
Тип 1 (еквівалентність консенсусного рівня - повністю еквівалентно Ethereum)
Тип 1 zkEVM прагне бути повністю еквівалентним Ethereum. Він не змінює жодну частину системи Ethereum, щоб полегшити створення доказів, не замінює хеші, дерева станів, дерева транзакцій, попередні компіляції чи будь-яку іншу консенсусну логіку.
Перевага типу 1 zkEVM полягає в тому, що він ідеально сумісний з Ethereum. У довгостроковій перспективі модифікації Ethereum, перевірені в ZK-EVM типу 2 або 3, можуть бути введені в сам Ethereum, але ця реархітектура має свої складності, тому тип 1 — це те, що в кінцевому підсумку потрібно для створення самого Ethereum Fang L1. це щось більш масштабоване. У той же час zkEVM типу 1 ідеально підходять для зведень, оскільки вони дозволяють повторно використовувати велику кількість інфраструктури.
Недоліком типу 1 zkEVM є проблема часу перевірки. Ethereum спочатку не розроблявся на основі ZK-дружності, тому багато частин протоколу Ethereum вимагають багато обчислень для виконання доказів ZK. Тип 1 zkEVM розроблений для точної копії Ethereum, тому він не може пом’якшити ці неефективності. Тип 1 zkEVM є найбільш ідеальним zkEVM, і існує багато проектів, які створюють або досліджують цей тип.
Наразі пов’язані з типом 1 проекти zkEVM включають Taiko та Kakarot.
Тип 1 zkEVM, створений компанією Taiko, дозволяє розробникам і користувачам використовувати Ethereum безпечно, з меншими комісіями за транзакції та без необхідності розглядати будь-які зміни. Зібрано 22 мільйони доларів у двох початкових раундах, перший раунд склав 10 мільйонів доларів під керівництвом Sequoia China, а другий раунд склав 12 мільйонів доларів під керівництвом Generative Ventures. 7 червня Taiko запустив Alpha-3 Incentive Testnet. Згідно з офіційним вступом Taiko, тестова мережа зосереджена на децентралізованій частині ZK-EVM, еквівалентній Ethereum.
Kakarot zkEVM — це EVM, розгорнута з використанням мови Cario, яка розширює надійність екосистеми Starknet за рахунок підвищення сумісності з EVM. Kakarot zkEVM може існувати в різних формах, на першому етапі для впровадження EVM у Starknet, на другому етапі Kakarot і Madara будуть об’єднані в єдиний стек для підтримки L3 zkEVM, на третьому етапі Kakarot і Madara також можуть бути об’єднані в Together , Тип 1 zkEVM увімкнено. 2 червня Kakarot zkEVM завершив передпосівний раунд фінансування, StarkWare, LambdaClass та інші установи та інвестори-ангели, такі як Віталік Бутерін, Ніколас Бакка, Ренд Хінді, брали участь в інвестиціях.
Тип 2 (еквівалентність рівня байт-коду - повністю еквівалентна EVM)
Type2 zkEVM прагне бути повністю еквівалентним EVM, але не Ethereum. Тобто внутрішньо вони виглядають ідентично Ethereum, але мають деякі відмінності зовні, особливо щодо структур даних, таких як блочні структури та дерева стану. Мета полягає в тому, щоб бути повністю сумісним з існуючими програмами, але з деякими незначними змінами в Ethereum, щоб полегшити розробку та пришвидшити створення доказів.
Перевагою типу 2 zkEVM є ідеальна еквівалентність на рівні віртуальної машини. Тип 2 zkEVM вносить зміни в структури даних, які містять такі речі, як стан Ethereum. Це структури, до яких сама EVM не має прямого доступу, тому програми, що працюють на Ethereum, майже завжди працюватимуть на зведених версіях zkEVM типу 2. Цей тип не може використовувати клієнти виконання Ethereum як є, але з деякими модифікаціями їх можна використовувати, а також можна використовувати інструменти налагодження EVM та іншу інфраструктуру.
Недоліком типу 2 zkEVM є те, що перевірка триває повільно. Тип 2 zkEVM забезпечує швидший час перевірки, ніж тип 1 zkEVM, насамперед завдяки видаленню криптографії, яка покладається на надто складні та недружні до ZK частини стеку Ethereum. Наприклад, вони можуть змінити дерева Keccak Ethereum і Merkle-Patricia на основі RLP, а також можуть змінити структуру блоків і квитанцій. Ці модифікації значно покращують час перевірки, але не вирішують усіх проблем. З усією неефективністю та недружністю до ZK, властивою EVM, це доводить, що EVM все ще повільний.
Наразі проекти, пов’язані з типом 2 zkEVM, включають Linea та Polygon.
Linea — це zkEVM типу 2 на базі Consensys. Завдяки інтеграції ZKP із повною сумісністю з EVM розробники можуть створювати масштабовані DApps або переносити існуючі DApps на нові платформи без зміни коду чи переписування смарт-контрактів. Публічна тестова мережа була запущена 28 березня цього року та була додана до параметрів мережі за замовчуванням розширення Metamask. Linea випустила Alpha v0.2 о 12:00 13 червня. Ця версія зосереджена на тестуванні істотних оновлень архітектури та підготовці до запуску основної мережі.
Polygon zkEVM є відкритим кодом і використовує тип 2 zkEVM. Він використовує докази ZK, щоб зменшити комісію за транзакції та збільшити пропускну здатність, зберігаючи безпеку Ethereum L1. 14 лютого цього року Polygon заявив, що Polygon zkEVM пройшов 100% тестових векторів Ethereum, придатних для zkEVM. Розробникам не потрібно змінювати чи переписувати будь-який код, і всі інструменти Ethereum можуть бездоганно працювати з Polygon zkEVM. Це означає, що EVM сумісність ZK Rollup зробила ще один великий крок і досягла рівня Type 2, який повністю еквівалентний EVM. Бета-версія основної мережі Polygon zkEVM була офіційно запущена 27 березня 2023 року.
Тип 2.5 (еквівалент EVM, крім вартості газу)
Один із способів скоротити час верифікації — значно збільшити вартість газу для певних операцій у EVM, які важко підтвердити ZK. Це може включати попередню компіляцію, коди операцій keccak і, можливо, певні шаблони виклику контрактів або доступу до пам’яті, зберігання чи відновлення.
Зміна вартості газу може зменшити сумісність інструментів розробника та порушити роботу деяких програм, але зазвичай вважається менш ризикованим, ніж «глибші» зміни EVM. Розробники повинні бути обережними, щоб не просити більше одного блоку газу в транзакції, і ніколи не здійснювати дзвінки із жорстко закодованими сумами газу.
Наразі немає жодного конкретного проекту для створення EVM типу 2.5, він лише перейшов на етап типу 2.
Тип 3 (еквівалентність рівня байт-коду - майже еквівалентна EVM)
Тип 3 zkEVM майже еквівалентний EVM, але деякі жертви зроблені заради точної еквівалентності, щоб ще більше скоротити час перевірки та полегшити розробку EVM.
Перевагами типу 3 zkEVM є простіше створення та швидший час перевірки. Тип 3 zkEVM може видалити деякі функції, які особливо важко реалізувати в реалізаціях zkEVM. Крім того, zkEVM типу 3 іноді мають тонкі відмінності в тому, як вони обробляють код контракту, пам’ять або стек.
Недоліком типу 3 zkEVM є те, що він менш сумісний. Тип 3 zkEVM прагне бути сумісним з більшістю програм, вимагаючи мінімальних зусиль для перезапису для решти. Тим не менш, будуть деякі додатки, які потрібно буде переписати, оскільки вони використовують попередні компіляції, видалені Type 3 zkEVM, або через тонкі залежності від граничних випадків, які віртуальна машина обробляє по-різному.
Наразі проекти, пов’язані з типом 3 zkEVM, включають Scroll.
Scroll — це еквівалент EVM zk-rollup, розроблений командою Scroll у співпраці з групою PSE (Privacy and Scaling Explorations) Фонду Ethereum. Наразі він знаходиться на стадії тестової мережі Pre-Alpha і має на меті бути повністю сумісним з EVM на рівень байт-коду. Це означає, що розробники можуть використовувати будь-яку EVM-сумісну мову для створення смарт-контрактів і розгортання їх на Scroll. Хоча Scroll зараз створює EVM типу 2, багато складніших попередніх компіляцій ще не реалізовано, тому вони вважаються EVM типу 3. За словами Scroll, очікується, що основна мережа буде запущена в липні та серпні цього року, і сказав, що він може запустити партнерську програму для стимулювання екологічного розвитку.
Наразі EVM типу 3 є лише перехідним етапом до завершення складної роботи з додавання прекомпіляції, а потім проекти можуть переходити до zkEVM типу 2.5. Але в майбутньому EVM типу 1 і типу 3 можуть додати нову дружню попередню компіляцію ZK-SNARK, забезпечуючи розробникам низький час верифікації та низьку вартість газу.
Тип 4 (еквівалентність рівня мови розробки - мова високого рівня еквівалентна EVM)
EVM типу 4 працює шляхом компіляції вихідного коду смарт-контракту, написаного на мові високого рівня (наприклад, Solidity, Vyper або проміжній мові), у певну мову, явно розроблену для підтримки ZK-SNARK.
Перевагою типу 4 zkEVM є більш висока швидкість перевірки. Оскільки цей тип не перевіряє всі різні частини кожного кроку виконання EVM, а починається безпосередньо з коду високого рівня, можна уникнути багатьох витрат.
Недоліком типу 4 zkEVM є те, що він менш сумісний. Одне полягає в тому, що адреси контрактів у системі типу 4 можуть відрізнятися від їхніх адрес у EVM; інше полягає в тому, що багато програм використовують рукописні байт-коди EVM у деяких частинах для підвищення ефективності, які система типу 4 може не підтримувати. Об’єкти також не можуть бути успадковані.
Наразі пов’язані з типом 4 проекти zkEVM включають zkSync Era та StarkNet.
zkSync Era створено Matters Lab. zkSync Era — це перша EVM, яка запускається в основній мережі та має повний доступ до громадськості, щоб перевести свої кошти в систему або розгорнути свій код у мережі. zkSync Era використовує інший формат байт-коду для підтримки Solidity, надаючи компілятор. Він підтримує Solidity, але не сам байт-код EVM. Такі інструменти, як Hardhat, не можна використовувати безпосередньо, хоча плагін для zkSync доступний.
StarkNet, створений компанією StarkWare, є zk-зведеним пакетом L2, який використовує докази з нульовим знанням для створення позаланцюжкового рівня виконання для Ethereum. Насправді EVM не є рідною функцією Starknet. Starknet використовує конвертер Warp (наданий Nethermind) для перетворення коду Solidity у Cairo для підтримки розгортання смарт-контрактів.
Виклики та майбутнє zkEVM
Оскільки EVM не створено з урахуванням обчислень з підтримкою zk, він має функції, незручні для схем перевірки, особливо з точки зору спеціальних кодів операцій, накладних витрат на архітектурне зберігання на основі стека та вартості перевірки. Але кілька проривів у технології нульових знань дозволили пом’якшити ці проблеми.
П’ять типів zkEVM не мають чіткого визначення, хто хороший, а хто поганий. Тип з нижчим номером більш сумісний з існуючою інфраструктурою, але повільніший, тоді як тип з вищим номером менш сумісний з існуючою інфраструктурою, але повільніше.швидший. Загалом, різні проекти, що досліджують різні типи, є корисними для розвитку zkEVM та Ethereum.
У майбутньому буде кілька реалізацій zkEVM, які можна буде використовувати як для ZK Rollup, так і для перевірки самого ланцюга Ethereum. Теоретично Ethereum не потребує використання єдиного стандарту zkEVM для L1, і різні клієнти можуть використовувати різні докази. Однак мине досить багато часу, перш ніж таке майбутнє буде реалізовано. У той же час ми побачимо більше інновацій у різних шляхах масштабування Ethereum і ZK-зведення на основі Ethereum.
Переглянути оригінал
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
П'ять поширених типів zkEVM і типових проектів
Автор | Callum@Web3CN.Pro
ZK Rollup, як спосіб масштабування Ethereum, дозволяє обробляти транзакції поза ланцюгом і об’єднувати їх у головному ланцюзі як одну стиснуту транзакцію. Цей процес покращує пропускну здатність транзакцій, зменшує витрати на транзакції, забезпечує валідність стану через підтвердження з нульовим знанням і покращує конфіденційність і безпеку основного ланцюга. Тому ZK Rollup вважається найкращим рішенням для розширення Ethereum.
Однак на даний момент створення доказів з нульовим знанням вимагає великої обчислювальної потужності, і технічні труднощі також вищі.В той же час, оскільки віртуальна машина Ethereum (EVM) не розроблена для підтримки схем ZK, вона не може безпосередньо виконувати смарт-контракти. Щоб вирішити цю проблему, багато розробників намагалися розробити zkEVM, який може запускати смарт-контракти у спосіб, сумісний з обчисленнями з нульовим знанням. Для багатьох ZK Rollups досягнення еквівалентності EVM означає досягнення повної сумісності на рівні байт-коду.Наразі zkEVM є ключем до розширення Ethereum.
У цій статті буде вивчено п’ять поширених типів zkEVM і прогрес кожного типу проекту, а також вказано на труднощі розробки кожного типу zkEVM.
Що таке zkEVM
zkEVM — це сумісна з EVM віртуальна машина, яка підтримує обчислення з нульовим знанням, і це платформа розробки додатків на основі технології блокчейну Ethereum. Контракт EVM можна безпосередньо розгортати та запускати без змін, а робота програми може довести дійсність її розрахунку через нульове знання.
Переваги zkEVM
zkEVM покращує сумісність. zkEVM дуже сумісний зі смарт-контрактами, написаними для роботи в EVM, і може бути бездоганно інтегрований з інфраструктурою EVM. Розробники можуть перенести існуючі програми Ethereum на L2 без перерозробки програм. Водночас zk proof успадковує безпеку мережі Ethereum.
zkEVM покращує масштабованість. zkEVM використовує неінтерактивні докази, що покращує пропускну здатність і зменшує затримку, оскільки перевірити докази для блоків L2 швидше, ніж повторно виконувати кожну транзакцію в новому запропонованому блоці.
zkEVM зменшує витрати на зберігання. Зведений пакет zkEVM може публікувати лише зобов’язання щодо свого остаточного стану на Ethereum L1, зменшуючи витрати на зберігання в мережі. Підтвердження дійсності гарантують правильність нового стану zkEVM, тому замовнику не потрібно публікувати всі дані, необхідні для повторного виконання зміни переходу стану.
Завдяки безперервному вдосконаленню zkEVM обмеження ZK Rollup усуваються. Використовуючи безпеку та ефективність ZK Rollup у поєднанні з сумісністю EVM, додатки можуть взаємодіяти зі смарт-контрактами для покращення роботи додатків.
П'ять різних типів zkEVM і пов'язаних проектів
На початку розробки EVM не вважалося, що він підтримує докази з нульовим знанням, що ускладнювало створення EVM-сумісної віртуальної машини zk.Однак у міру розвитку досліджень обчислення EVM можна обернути в докази з нульовим знанням. У різних проектах zkEVM використовуються різні підходи, які поєднують виконання EVM з обчисленнями без знань.
Віталік Бутерін, засновник Ethereum, також опублікував статтю, пояснюючи компроміси між різними типами zkEVM.V God вважає, що основні цілі цих проектів однакові: використовувати технологію ZK-SNARK для надання зашифрованих доказів для виконання транзакції, подібні до Ethereum, так що легше перевірити сам ланцюжок Ethereum або створити ZK Rollups, еквівалентні тим, що пропонує Ethereum, але більш масштабовані, ніж Ethereum.
Тип 1 (еквівалентність консенсусного рівня - повністю еквівалентно Ethereum)
Тип 1 zkEVM прагне бути повністю еквівалентним Ethereum. Він не змінює жодну частину системи Ethereum, щоб полегшити створення доказів, не замінює хеші, дерева станів, дерева транзакцій, попередні компіляції чи будь-яку іншу консенсусну логіку.
Перевага типу 1 zkEVM полягає в тому, що він ідеально сумісний з Ethereum. У довгостроковій перспективі модифікації Ethereum, перевірені в ZK-EVM типу 2 або 3, можуть бути введені в сам Ethereum, але ця реархітектура має свої складності, тому тип 1 — це те, що в кінцевому підсумку потрібно для створення самого Ethereum Fang L1. це щось більш масштабоване. У той же час zkEVM типу 1 ідеально підходять для зведень, оскільки вони дозволяють повторно використовувати велику кількість інфраструктури.
Недоліком типу 1 zkEVM є проблема часу перевірки. Ethereum спочатку не розроблявся на основі ZK-дружності, тому багато частин протоколу Ethereum вимагають багато обчислень для виконання доказів ZK. Тип 1 zkEVM розроблений для точної копії Ethereum, тому він не може пом’якшити ці неефективності. Тип 1 zkEVM є найбільш ідеальним zkEVM, і існує багато проектів, які створюють або досліджують цей тип.
Наразі пов’язані з типом 1 проекти zkEVM включають Taiko та Kakarot.
Тип 1 zkEVM, створений компанією Taiko, дозволяє розробникам і користувачам використовувати Ethereum безпечно, з меншими комісіями за транзакції та без необхідності розглядати будь-які зміни. Зібрано 22 мільйони доларів у двох початкових раундах, перший раунд склав 10 мільйонів доларів під керівництвом Sequoia China, а другий раунд склав 12 мільйонів доларів під керівництвом Generative Ventures. 7 червня Taiko запустив Alpha-3 Incentive Testnet. Згідно з офіційним вступом Taiko, тестова мережа зосереджена на децентралізованій частині ZK-EVM, еквівалентній Ethereum.
Kakarot zkEVM — це EVM, розгорнута з використанням мови Cario, яка розширює надійність екосистеми Starknet за рахунок підвищення сумісності з EVM. Kakarot zkEVM може існувати в різних формах, на першому етапі для впровадження EVM у Starknet, на другому етапі Kakarot і Madara будуть об’єднані в єдиний стек для підтримки L3 zkEVM, на третьому етапі Kakarot і Madara також можуть бути об’єднані в Together , Тип 1 zkEVM увімкнено. 2 червня Kakarot zkEVM завершив передпосівний раунд фінансування, StarkWare, LambdaClass та інші установи та інвестори-ангели, такі як Віталік Бутерін, Ніколас Бакка, Ренд Хінді, брали участь в інвестиціях.
Тип 2 (еквівалентність рівня байт-коду - повністю еквівалентна EVM)
Type2 zkEVM прагне бути повністю еквівалентним EVM, але не Ethereum. Тобто внутрішньо вони виглядають ідентично Ethereum, але мають деякі відмінності зовні, особливо щодо структур даних, таких як блочні структури та дерева стану. Мета полягає в тому, щоб бути повністю сумісним з існуючими програмами, але з деякими незначними змінами в Ethereum, щоб полегшити розробку та пришвидшити створення доказів.
Перевагою типу 2 zkEVM є ідеальна еквівалентність на рівні віртуальної машини. Тип 2 zkEVM вносить зміни в структури даних, які містять такі речі, як стан Ethereum. Це структури, до яких сама EVM не має прямого доступу, тому програми, що працюють на Ethereum, майже завжди працюватимуть на зведених версіях zkEVM типу 2. Цей тип не може використовувати клієнти виконання Ethereum як є, але з деякими модифікаціями їх можна використовувати, а також можна використовувати інструменти налагодження EVM та іншу інфраструктуру.
Недоліком типу 2 zkEVM є те, що перевірка триває повільно. Тип 2 zkEVM забезпечує швидший час перевірки, ніж тип 1 zkEVM, насамперед завдяки видаленню криптографії, яка покладається на надто складні та недружні до ZK частини стеку Ethereum. Наприклад, вони можуть змінити дерева Keccak Ethereum і Merkle-Patricia на основі RLP, а також можуть змінити структуру блоків і квитанцій. Ці модифікації значно покращують час перевірки, але не вирішують усіх проблем. З усією неефективністю та недружністю до ZK, властивою EVM, це доводить, що EVM все ще повільний.
Наразі проекти, пов’язані з типом 2 zkEVM, включають Linea та Polygon.
Linea — це zkEVM типу 2 на базі Consensys. Завдяки інтеграції ZKP із повною сумісністю з EVM розробники можуть створювати масштабовані DApps або переносити існуючі DApps на нові платформи без зміни коду чи переписування смарт-контрактів. Публічна тестова мережа була запущена 28 березня цього року та була додана до параметрів мережі за замовчуванням розширення Metamask. Linea випустила Alpha v0.2 о 12:00 13 червня. Ця версія зосереджена на тестуванні істотних оновлень архітектури та підготовці до запуску основної мережі.
Polygon zkEVM є відкритим кодом і використовує тип 2 zkEVM. Він використовує докази ZK, щоб зменшити комісію за транзакції та збільшити пропускну здатність, зберігаючи безпеку Ethereum L1. 14 лютого цього року Polygon заявив, що Polygon zkEVM пройшов 100% тестових векторів Ethereum, придатних для zkEVM. Розробникам не потрібно змінювати чи переписувати будь-який код, і всі інструменти Ethereum можуть бездоганно працювати з Polygon zkEVM. Це означає, що EVM сумісність ZK Rollup зробила ще один великий крок і досягла рівня Type 2, який повністю еквівалентний EVM. Бета-версія основної мережі Polygon zkEVM була офіційно запущена 27 березня 2023 року.
Тип 2.5 (еквівалент EVM, крім вартості газу)
Один із способів скоротити час верифікації — значно збільшити вартість газу для певних операцій у EVM, які важко підтвердити ZK. Це може включати попередню компіляцію, коди операцій keccak і, можливо, певні шаблони виклику контрактів або доступу до пам’яті, зберігання чи відновлення.
Зміна вартості газу може зменшити сумісність інструментів розробника та порушити роботу деяких програм, але зазвичай вважається менш ризикованим, ніж «глибші» зміни EVM. Розробники повинні бути обережними, щоб не просити більше одного блоку газу в транзакції, і ніколи не здійснювати дзвінки із жорстко закодованими сумами газу.
Наразі немає жодного конкретного проекту для створення EVM типу 2.5, він лише перейшов на етап типу 2.
Тип 3 (еквівалентність рівня байт-коду - майже еквівалентна EVM)
Тип 3 zkEVM майже еквівалентний EVM, але деякі жертви зроблені заради точної еквівалентності, щоб ще більше скоротити час перевірки та полегшити розробку EVM.
Перевагами типу 3 zkEVM є простіше створення та швидший час перевірки. Тип 3 zkEVM може видалити деякі функції, які особливо важко реалізувати в реалізаціях zkEVM. Крім того, zkEVM типу 3 іноді мають тонкі відмінності в тому, як вони обробляють код контракту, пам’ять або стек.
Недоліком типу 3 zkEVM є те, що він менш сумісний. Тип 3 zkEVM прагне бути сумісним з більшістю програм, вимагаючи мінімальних зусиль для перезапису для решти. Тим не менш, будуть деякі додатки, які потрібно буде переписати, оскільки вони використовують попередні компіляції, видалені Type 3 zkEVM, або через тонкі залежності від граничних випадків, які віртуальна машина обробляє по-різному.
Наразі проекти, пов’язані з типом 3 zkEVM, включають Scroll.
Scroll — це еквівалент EVM zk-rollup, розроблений командою Scroll у співпраці з групою PSE (Privacy and Scaling Explorations) Фонду Ethereum. Наразі він знаходиться на стадії тестової мережі Pre-Alpha і має на меті бути повністю сумісним з EVM на рівень байт-коду. Це означає, що розробники можуть використовувати будь-яку EVM-сумісну мову для створення смарт-контрактів і розгортання їх на Scroll. Хоча Scroll зараз створює EVM типу 2, багато складніших попередніх компіляцій ще не реалізовано, тому вони вважаються EVM типу 3. За словами Scroll, очікується, що основна мережа буде запущена в липні та серпні цього року, і сказав, що він може запустити партнерську програму для стимулювання екологічного розвитку.
Наразі EVM типу 3 є лише перехідним етапом до завершення складної роботи з додавання прекомпіляції, а потім проекти можуть переходити до zkEVM типу 2.5. Але в майбутньому EVM типу 1 і типу 3 можуть додати нову дружню попередню компіляцію ZK-SNARK, забезпечуючи розробникам низький час верифікації та низьку вартість газу.
Тип 4 (еквівалентність рівня мови розробки - мова високого рівня еквівалентна EVM)
EVM типу 4 працює шляхом компіляції вихідного коду смарт-контракту, написаного на мові високого рівня (наприклад, Solidity, Vyper або проміжній мові), у певну мову, явно розроблену для підтримки ZK-SNARK.
Перевагою типу 4 zkEVM є більш висока швидкість перевірки. Оскільки цей тип не перевіряє всі різні частини кожного кроку виконання EVM, а починається безпосередньо з коду високого рівня, можна уникнути багатьох витрат.
Недоліком типу 4 zkEVM є те, що він менш сумісний. Одне полягає в тому, що адреси контрактів у системі типу 4 можуть відрізнятися від їхніх адрес у EVM; інше полягає в тому, що багато програм використовують рукописні байт-коди EVM у деяких частинах для підвищення ефективності, які система типу 4 може не підтримувати. Об’єкти також не можуть бути успадковані.
Наразі пов’язані з типом 4 проекти zkEVM включають zkSync Era та StarkNet.
zkSync Era створено Matters Lab. zkSync Era — це перша EVM, яка запускається в основній мережі та має повний доступ до громадськості, щоб перевести свої кошти в систему або розгорнути свій код у мережі. zkSync Era використовує інший формат байт-коду для підтримки Solidity, надаючи компілятор. Він підтримує Solidity, але не сам байт-код EVM. Такі інструменти, як Hardhat, не можна використовувати безпосередньо, хоча плагін для zkSync доступний.
StarkNet, створений компанією StarkWare, є zk-зведеним пакетом L2, який використовує докази з нульовим знанням для створення позаланцюжкового рівня виконання для Ethereum. Насправді EVM не є рідною функцією Starknet. Starknet використовує конвертер Warp (наданий Nethermind) для перетворення коду Solidity у Cairo для підтримки розгортання смарт-контрактів.
Виклики та майбутнє zkEVM
Оскільки EVM не створено з урахуванням обчислень з підтримкою zk, він має функції, незручні для схем перевірки, особливо з точки зору спеціальних кодів операцій, накладних витрат на архітектурне зберігання на основі стека та вартості перевірки. Але кілька проривів у технології нульових знань дозволили пом’якшити ці проблеми.
П’ять типів zkEVM не мають чіткого визначення, хто хороший, а хто поганий. Тип з нижчим номером більш сумісний з існуючою інфраструктурою, але повільніший, тоді як тип з вищим номером менш сумісний з існуючою інфраструктурою, але повільніше.швидший. Загалом, різні проекти, що досліджують різні типи, є корисними для розвитку zkEVM та Ethereum.
У майбутньому буде кілька реалізацій zkEVM, які можна буде використовувати як для ZK Rollup, так і для перевірки самого ланцюга Ethereum. Теоретично Ethereum не потребує використання єдиного стандарту zkEVM для L1, і різні клієнти можуть використовувати різні докази. Однак мине досить багато часу, перш ніж таке майбутнє буде реалізовано. У той же час ми побачимо більше інновацій у різних шляхах масштабування Ethereum і ZK-зведення на основі Ethereum.