EVM є ядром Ethereum, відповідальним за виконання смарт-контрактів і обробку транзакцій. Як обчислювальний двигун, EVM забезпечує абстракцію обчислень і зберігання, подібно до специфікації Java Virtual Machine. EVM виконує власний набір байт-коду, який зазвичай компілюється з Solidity.
EVM є напівтюринговою машиною станів. "Напів" тому, що всі кроки виконання споживають обмежені ресурси Gas, що обмежує кількість кроків виконання будь-якого даного смарт-контракту та запобігає можливим зацикленням, які можуть призвести до зупинки всієї платформи Ethereum.
EVM не має функції планування, виконавчий модуль Ethereum витягує транзакції з блоку, EVM відповідає за послідовне виконання. У процесі виконання оновлюється останній стан світу, після завершення виконання транзакції відбувається накопичення стану, поки блок не буде завершений і не досягне останнього стану світу. Виконання наступного блоку строго залежить від стану світу після виконання попереднього блоку, тому лінійний процес виконання транзакцій у Ethereum важко оптимізувати для паралельного виконання.
З цього погляду, протокол Ethereum передбачає виконання транзакцій у певному порядку. Хоча послідовне виконання забезпечує виконання транзакцій і смарт-контрактів у визначеному порядку, гарантує безпеку, у випадку високого навантаження це може призвести до заторів у мережі та затримок, що є причиною існування продуктивних обмежень Ethereum і необхідності розширення Layer2 Rollup.
Шлях до паралелізму високопродуктивного Layer1
Більшість високопродуктивних Layer1 розробляють свої оптимізаційні рішення на основі недоліку, пов'язаного з неможливістю паралельної обробки в Ethereum, зосереджуючи увагу на оптимізації виконавчого рівня, включаючи віртуальну машину та паралельне виконання.
Віртуальна машина
EVM спроектовано як 256-бітну віртуальну машину, метою якої є спрощення обробки хеш-алгоритмів Ethereum. Однак, комп'ютери, що фактично виконують EVM, повинні відображати 256-бітні байти на локальну архітектуру для виконання смарт-контрактів, що робить всю систему дуже неефективною і непрактичною. Тому високопродуктивні Layer1 частіше використовують віртуальні машини на базі WASM, eBPF байткоду або Move байткоду, а не EVM.
WASM є форматом байт-коду, що має малий об'єм, швидко завантажується, є портативним та базується на механізмі безпеки пісочниці, який було прийнято багатьма проектами блокчейн, включаючи EOS, Dfinity, Polkadot та інші. Ethereum також планує інтегрувати WASM у майбутньому, щоб підвищити ефективність виконання.
eBPF походить з технології фільтрації мережевих пакетів, пізніше розвинулася в високопродуктивне, безпечне та портативне середовище виконання в режимі користувача. Смарт-контракти, що виконуються на Solana, компілюються в SBF (на основі eBPF) байт-код і працюють у її мережі.
Move є новою мовою програмування смарт-контрактів, розробленою Diem, яка акцентує увагу на гнучкості, безпеці та перевіряємості. Aptos та Sui обидва використовують варіанти Move для написання смарт-контрактів.
Паралельне виконання
Паралельне виконання в блокчейні означає одночасну обробку несуттєвих транзакцій. Основним викликом для реалізації паралельного виконання є визначення, які транзакції є несуттєвими, а які є незалежними. Високопродуктивний Layer1 в основному покладається на два методи: метод доступу до стану та оптимістичну паралельну модель.
Метод доступу до стану потребує попереднього знання того, яку частину стану блокчейну може отримати кожна транзакція, щоб проаналізувати, які транзакції є незалежними. Solana та Sui використовують цей метод.
Оптимістична паралельна модель припускає, що всі транзакції є незалежними, просто ретроспективно перевіряючи це припущення та за необхідності коригуючи його. Aptos використовує цей підхід, застосовуючи Block-STM (блокова програмна транзакційна пам'ять) для реалізації оптимістичного паралельного виконання.
Паралельний EVM
Концепція паралельного EVM (Parallel EVM) була запропонована ще в 2021 році, спочатку вона стосувалася підтримки одночасної обробки кількох транзакцій EVM. Наприкінці 2023 року ця концепція знову привернула увагу, що сприяло розвитку EVM-сумісних Layer1, які використовують технологію паралельного виконання.
Наразі можна розглядати три категорії, які розумно визначити як паралельні EVM:
Відсутність оновлення паралельного виконання для EVM-сумісних Layer1, таких як BSC і Polygon.
Використано технологію паралельного виконання в EVM-сумісному Layer1, такому як Monand, Sei V2 та Artela.
Використання технології паралельного виконання в не-EVM-сумісних Layer1 EVM-сумісних рішеннях, таких як Solana Neon.
Monad є високопродуктивним Layer1, сумісним з EVM, який використовує механізм PoS та оптимістичну паралельну модель для підвищення ефективності обробки транзакцій.
Sei V2 є суттєвим оновленням мережі Sei, що має на меті стати першим повністю паралельним EVM. Він також використовує технологію оптимістичної паралелізації.
Artela, що представляє EVM++, є високо масштабованим та високопродуктивним паралельним EVM, реалізованим у два етапи, включаючи паралельне виконання та еластичні обчислення.
Solana Neon є рішенням для виконання EVM-транзакцій на базі Solana, яке забезпечує сумісність EVM шляхом реалізації EVM-інтерпретатора в смарт-контрактах Solana.
Окрім цього, є кілька проєктів, які досліджують можливість запуску EVM як смарт-контракту для реалізації EVM-сумісних рішень, таких як Near Aurora та EOS EVM+. Movement Labs розробляє модульну платформу для побудови та впровадження інфраструктури, додатків і блокчейнів на основі Move в будь-якому розподіленому середовищі, а їхній модуль Fractal може безшовно конвертувати EVM-операційні коди в коди операцій Move.
Підсумок
Паралельні технології блокчейн вже стали зрілою темою, але наразі основна увага зосереджена на перетворенні та імітації оптимістичної моделі виконання, представленої механізмом Block-STM Aptos, ще не досягнуто суттєвих проривів.
У майбутньому можуть з'явитися нові проекти Layer1, які приєднаються до конкуренції з паралельним EVM, а старі Layer1 також можуть реалізувати оновлення паралельного EVM або EVM-сумісні рішення. Хоча ці два напрямки ведуть до однакової мети, обидва можуть стимулювати появу нових наративів, пов'язаних із підвищенням продуктивності.
Однак, порівняно з наративом високопродуктивного EVM, різноманітний розвиток технологій блокчейн може бути більш очікуваним, наприклад, застосування та розвиток нових віртуальних машин, таких як WASM, SVM та Move VM.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
17 лайків
Нагородити
17
9
Поділіться
Прокоментувати
0/400
MoneyBurnerSociety
· 07-19 18:54
Підвищення TPS - це справжній шлях
Переглянути оригіналвідповісти на0
ApeWithNoFear
· 07-19 13:03
Оптимізація продуктивності є необхідною
Переглянути оригіналвідповісти на0
SandwichVictim
· 07-19 05:53
Паралельність є виходом
Переглянути оригіналвідповісти на0
LucidSleepwalker
· 07-16 19:26
Технічна еволюція незворотна
Переглянути оригіналвідповісти на0
GateUser-cff9c776
· 07-16 19:26
Тюрін подивився і захотів плакати
Переглянути оригіналвідповісти на0
ForkItAllDay
· 07-16 19:21
Паралелізація є інструментом для вирішення проблем
Хвиля паралелізації EVM наступає, конкуренція серед високопродуктивних Layer1 загострюється
EVM: основний компонент Ethereum
EVM є ядром Ethereum, відповідальним за виконання смарт-контрактів і обробку транзакцій. Як обчислювальний двигун, EVM забезпечує абстракцію обчислень і зберігання, подібно до специфікації Java Virtual Machine. EVM виконує власний набір байт-коду, який зазвичай компілюється з Solidity.
EVM є напівтюринговою машиною станів. "Напів" тому, що всі кроки виконання споживають обмежені ресурси Gas, що обмежує кількість кроків виконання будь-якого даного смарт-контракту та запобігає можливим зацикленням, які можуть призвести до зупинки всієї платформи Ethereum.
EVM не має функції планування, виконавчий модуль Ethereum витягує транзакції з блоку, EVM відповідає за послідовне виконання. У процесі виконання оновлюється останній стан світу, після завершення виконання транзакції відбувається накопичення стану, поки блок не буде завершений і не досягне останнього стану світу. Виконання наступного блоку строго залежить від стану світу після виконання попереднього блоку, тому лінійний процес виконання транзакцій у Ethereum важко оптимізувати для паралельного виконання.
З цього погляду, протокол Ethereum передбачає виконання транзакцій у певному порядку. Хоча послідовне виконання забезпечує виконання транзакцій і смарт-контрактів у визначеному порядку, гарантує безпеку, у випадку високого навантаження це може призвести до заторів у мережі та затримок, що є причиною існування продуктивних обмежень Ethereum і необхідності розширення Layer2 Rollup.
Шлях до паралелізму високопродуктивного Layer1
Більшість високопродуктивних Layer1 розробляють свої оптимізаційні рішення на основі недоліку, пов'язаного з неможливістю паралельної обробки в Ethereum, зосереджуючи увагу на оптимізації виконавчого рівня, включаючи віртуальну машину та паралельне виконання.
Віртуальна машина
EVM спроектовано як 256-бітну віртуальну машину, метою якої є спрощення обробки хеш-алгоритмів Ethereum. Однак, комп'ютери, що фактично виконують EVM, повинні відображати 256-бітні байти на локальну архітектуру для виконання смарт-контрактів, що робить всю систему дуже неефективною і непрактичною. Тому високопродуктивні Layer1 частіше використовують віртуальні машини на базі WASM, eBPF байткоду або Move байткоду, а не EVM.
WASM є форматом байт-коду, що має малий об'єм, швидко завантажується, є портативним та базується на механізмі безпеки пісочниці, який було прийнято багатьма проектами блокчейн, включаючи EOS, Dfinity, Polkadot та інші. Ethereum також планує інтегрувати WASM у майбутньому, щоб підвищити ефективність виконання.
eBPF походить з технології фільтрації мережевих пакетів, пізніше розвинулася в високопродуктивне, безпечне та портативне середовище виконання в режимі користувача. Смарт-контракти, що виконуються на Solana, компілюються в SBF (на основі eBPF) байт-код і працюють у її мережі.
Move є новою мовою програмування смарт-контрактів, розробленою Diem, яка акцентує увагу на гнучкості, безпеці та перевіряємості. Aptos та Sui обидва використовують варіанти Move для написання смарт-контрактів.
Паралельне виконання
Паралельне виконання в блокчейні означає одночасну обробку несуттєвих транзакцій. Основним викликом для реалізації паралельного виконання є визначення, які транзакції є несуттєвими, а які є незалежними. Високопродуктивний Layer1 в основному покладається на два методи: метод доступу до стану та оптимістичну паралельну модель.
Метод доступу до стану потребує попереднього знання того, яку частину стану блокчейну може отримати кожна транзакція, щоб проаналізувати, які транзакції є незалежними. Solana та Sui використовують цей метод.
Оптимістична паралельна модель припускає, що всі транзакції є незалежними, просто ретроспективно перевіряючи це припущення та за необхідності коригуючи його. Aptos використовує цей підхід, застосовуючи Block-STM (блокова програмна транзакційна пам'ять) для реалізації оптимістичного паралельного виконання.
Паралельний EVM
Концепція паралельного EVM (Parallel EVM) була запропонована ще в 2021 році, спочатку вона стосувалася підтримки одночасної обробки кількох транзакцій EVM. Наприкінці 2023 року ця концепція знову привернула увагу, що сприяло розвитку EVM-сумісних Layer1, які використовують технологію паралельного виконання.
Наразі можна розглядати три категорії, які розумно визначити як паралельні EVM:
Monad є високопродуктивним Layer1, сумісним з EVM, який використовує механізм PoS та оптимістичну паралельну модель для підвищення ефективності обробки транзакцій.
Sei V2 є суттєвим оновленням мережі Sei, що має на меті стати першим повністю паралельним EVM. Він також використовує технологію оптимістичної паралелізації.
Artela, що представляє EVM++, є високо масштабованим та високопродуктивним паралельним EVM, реалізованим у два етапи, включаючи паралельне виконання та еластичні обчислення.
Solana Neon є рішенням для виконання EVM-транзакцій на базі Solana, яке забезпечує сумісність EVM шляхом реалізації EVM-інтерпретатора в смарт-контрактах Solana.
Окрім цього, є кілька проєктів, які досліджують можливість запуску EVM як смарт-контракту для реалізації EVM-сумісних рішень, таких як Near Aurora та EOS EVM+. Movement Labs розробляє модульну платформу для побудови та впровадження інфраструктури, додатків і блокчейнів на основі Move в будь-якому розподіленому середовищі, а їхній модуль Fractal може безшовно конвертувати EVM-операційні коди в коди операцій Move.
Підсумок
Паралельні технології блокчейн вже стали зрілою темою, але наразі основна увага зосереджена на перетворенні та імітації оптимістичної моделі виконання, представленої механізмом Block-STM Aptos, ще не досягнуто суттєвих проривів.
У майбутньому можуть з'явитися нові проекти Layer1, які приєднаються до конкуренції з паралельним EVM, а старі Layer1 також можуть реалізувати оновлення паралельного EVM або EVM-сумісні рішення. Хоча ці два напрямки ведуть до однакової мети, обидва можуть стимулювати появу нових наративів, пов'язаних із підвищенням продуктивності.
Однак, порівняно з наративом високопродуктивного EVM, різноманітний розвиток технологій блокчейн може бути більш очікуваним, наприклад, застосування та розвиток нових віртуальних машин, таких як WASM, SVM та Move VM.