EVM є ядром Ethereum, яке відповідає за виконання смарт-контрактів і обробку транзакцій. На відміну від звичайних віртуальних машин, EVM є рушієм, орієнтованим на обчислення, який надає абстракцію обчислень і зберігання. Він виконує свій власний набір байт-коду, зазвичай скомпільований з Solidity.
EVM є майже тюринговою повною машиною станів. "Майже" тому, що всі етапи виконання споживають обмежені ресурси Gas, що запобігає можливим безкінечним циклам, які можуть призвести до зупинки всієї платформи.
EVM не має функції планування, виконувальний модуль Ethereum витягує транзакції з блоку, EVM відповідає за послідовне виконання. Процес виконання змінює світовий стан, після завершення виконання транзакції відбувається накопичення стану, досягаючи останнього світового стану після завершення блоку. Виконання наступного блоку строго залежить від світового стану після виконання попереднього блоку, тому лінійний процес виконання транзакцій Ethereum не може добре оптимізувати паралельне виконання.
Протокол Ethereum передбачає виконання транзакцій у визначеній послідовності. Хоча послідовне виконання гарантує, що транзакції та смарт-контракти можуть виконуватися у визначеній послідовності, забезпечуючи безпеку, у випадку високого навантаження це може призвести до заторів у мережі та затримок, що є однією з причин, чому у Ethereum є значні обмеження продуктивності, і потрібно розширення Layer2 Rollup.
Шлях паралельності високопродуктивного Layer1
Більшість високопродуктивних Layer1 базуються на недоліках Ethereum, які не можуть обробляти паралельно, розробляючи свої власні оптимізаційні рішення, зосереджуючи основну увагу на оптимізації виконавчого рівня, включаючи віртуальну машину та паралельне виконання.
Віртуальна машина
EVM спроектовано як 256-розрядну віртуальну машину, метою якої є спрощення обробки хеш-алгоритмів Ethereum. Проте, для фактичного виконання EVM комп'ютер повинен відображати 256-розрядні байти на локальну архітектуру для виконання смарт-контрактів, що робить всю систему дуже неефективною. Тому високопродуктивні Layer1 більше використовують віртуальні машини на основі WASM, eBPF байткоду або Move байткоду.
WASM є форматом байт-коду, який має невеликий обсяг, швидко завантажується, є портативним і ґрунтується на механізмі безпеки пісочниці. Розробники можуть використовувати кілька мов програмування для написання смарт-контрактів, а потім компілювати їх у байт-код WASM і виконувати. Багато блокчейн-проєктів вже прийняли WASM як стандарт.
eBPF походить від BPF, пропонує більш багатий набір команд, що дозволяє динамічно втручатися в ядро операційної системи та змінювати його поведінку без зміни вихідного коду. Розумні контракти, які виконуються на деяких блокчейн-мережах, компілюються в байт-код на основі eBPF і виконуються.
Move є новою мовою програмування смарт-контрактів, яка зосереджена на гнучкості, безпеці та перевіряємості. Мова Move призначена для вирішення проблем безпеки активів та транзакцій, що дозволяє чітко визначати та контролювати активи та транзакції.
Паралельне виконання
Паралельне виконання в блокчейні означає одночасну обробку не пов'язаних транзакцій. Основним викликом для реалізації паралельного виконання є визначення, які транзакції є непов'язаними, а які незалежними. Високопродуктивний Layer1 в основному покладається на два підходи: метод доступу до стану та оптимістичну паралельну модель.
Метод доступу до стану вимагає заздалегідь знати, яку частину стану блокчейну може отримати кожна транзакція, щоб визначити, які транзакції є незалежними. Деякі платформи блокчейну використовують цей підхід, вимагаючи від транзакцій вказувати, які рахунки або об'єкти будуть доступні, щоб організувати паралельне виконання непротиставлених транзакцій.
Оптимістична паралельна модель передбачає, що всі транзакції є незалежними, і лише ретроспективно перевіряє це припущення та вносить корективи за необхідності. Деякі блокчейни використовують метод Block-STM для застосування оптимістичного паралельного виконання, транзакції спочатку розташовуються в блоці в певному порядку, а потім розподіляються між різними обробними потоками для одночасного виконання.
Паралельний EVM
Концепція паралельного EVM була запропонована ще в 2021 році, спочатку вона стосувалася підтримки одночасної обробки кількох транзакцій EVM. Наприкінці 2023 року паралельний EVM знову став популярним, викликавши хвилю впровадження технології паралельного виконання у EVM-сумісних Layer1.
Наразі розумно визначити паралельні EVM як такі, що включають три категорії:
Відсутність оновлення паралельного виконання для EVM-сумісного Layer1 без використання технології паралельного виконання
Використання технології паралельного виконання в EVM-сумісному Layer1
Використання технології паралельного виконання для EVM-сумісних рішень Layer1, які не є EVM-сумісними.
Деякі нові проекти розробляють паралельні EVM-рішення, які мають на меті значно підвищити масштабованість і швидкість транзакцій шляхом паралельного виконання. Ці проекти використовують різні технологічні рішення, такі як оптимістична паралельна модель, статичний аналіз коду тощо, для досягнення паралельної обробки транзакцій.
Одночасно деякі не сумісні з EVM блокчейни також досліджують рішення для сумісності з EVM, підтримуючи виконання смарт-контрактів Ethereum через реалізацію інтерпретатора EVM у їх рідному середовищі. Ці рішення використовують можливості паралельного виконання підлеглого блокчейну, забезпечуючи вищу продуктивність для EVM-транзакцій.
Підсумок
Паралельні технології блокчейн є темою, що неодноразово обговорюється, але наразі основна увага зосереджена на модифікації та імітації оптимістичних виконавчих моделей, і суттєвих проривів поки що не відбулося. У майбутньому можуть з'явитися нові проекти Layer1, які приєднаються до конкуренції за паралельний EVM, а старі Layer1 також можуть реалізувати паралельне оновлення EVM або рішення, сумісні з EVM.
Окрім високопродуктивного EVM, у сфері блокчейну можуть з'явитися й інші віртуальні машини, такі як WASM, SVM та Move VM, що сприятиме різноманітному розвитку екосистеми.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
12 лайків
Нагородити
12
3
Поділіться
Прокоментувати
0/400
JustHereForAirdrops
· 08-04 17:05
газ витрати знову полетять До місяця, хто не розуміє, може бігти.
Переглянути оригіналвідповісти на0
HalfBuddhaMoney
· 08-03 23:22
Газ дійсно неприємний, одна комісія коштує мені цілу вечерю з хот-потом.
Паралельний EVM: новий напрямок прориву продуктивності Блокчейн та різноманітності екосистеми
EVM: основний компонент Ethereum
EVM є ядром Ethereum, яке відповідає за виконання смарт-контрактів і обробку транзакцій. На відміну від звичайних віртуальних машин, EVM є рушієм, орієнтованим на обчислення, який надає абстракцію обчислень і зберігання. Він виконує свій власний набір байт-коду, зазвичай скомпільований з Solidity.
EVM є майже тюринговою повною машиною станів. "Майже" тому, що всі етапи виконання споживають обмежені ресурси Gas, що запобігає можливим безкінечним циклам, які можуть призвести до зупинки всієї платформи.
EVM не має функції планування, виконувальний модуль Ethereum витягує транзакції з блоку, EVM відповідає за послідовне виконання. Процес виконання змінює світовий стан, після завершення виконання транзакції відбувається накопичення стану, досягаючи останнього світового стану після завершення блоку. Виконання наступного блоку строго залежить від світового стану після виконання попереднього блоку, тому лінійний процес виконання транзакцій Ethereum не може добре оптимізувати паралельне виконання.
Протокол Ethereum передбачає виконання транзакцій у визначеній послідовності. Хоча послідовне виконання гарантує, що транзакції та смарт-контракти можуть виконуватися у визначеній послідовності, забезпечуючи безпеку, у випадку високого навантаження це може призвести до заторів у мережі та затримок, що є однією з причин, чому у Ethereum є значні обмеження продуктивності, і потрібно розширення Layer2 Rollup.
Шлях паралельності високопродуктивного Layer1
Більшість високопродуктивних Layer1 базуються на недоліках Ethereum, які не можуть обробляти паралельно, розробляючи свої власні оптимізаційні рішення, зосереджуючи основну увагу на оптимізації виконавчого рівня, включаючи віртуальну машину та паралельне виконання.
Віртуальна машина
EVM спроектовано як 256-розрядну віртуальну машину, метою якої є спрощення обробки хеш-алгоритмів Ethereum. Проте, для фактичного виконання EVM комп'ютер повинен відображати 256-розрядні байти на локальну архітектуру для виконання смарт-контрактів, що робить всю систему дуже неефективною. Тому високопродуктивні Layer1 більше використовують віртуальні машини на основі WASM, eBPF байткоду або Move байткоду.
WASM є форматом байт-коду, який має невеликий обсяг, швидко завантажується, є портативним і ґрунтується на механізмі безпеки пісочниці. Розробники можуть використовувати кілька мов програмування для написання смарт-контрактів, а потім компілювати їх у байт-код WASM і виконувати. Багато блокчейн-проєктів вже прийняли WASM як стандарт.
eBPF походить від BPF, пропонує більш багатий набір команд, що дозволяє динамічно втручатися в ядро операційної системи та змінювати його поведінку без зміни вихідного коду. Розумні контракти, які виконуються на деяких блокчейн-мережах, компілюються в байт-код на основі eBPF і виконуються.
Move є новою мовою програмування смарт-контрактів, яка зосереджена на гнучкості, безпеці та перевіряємості. Мова Move призначена для вирішення проблем безпеки активів та транзакцій, що дозволяє чітко визначати та контролювати активи та транзакції.
Паралельне виконання
Паралельне виконання в блокчейні означає одночасну обробку не пов'язаних транзакцій. Основним викликом для реалізації паралельного виконання є визначення, які транзакції є непов'язаними, а які незалежними. Високопродуктивний Layer1 в основному покладається на два підходи: метод доступу до стану та оптимістичну паралельну модель.
Метод доступу до стану вимагає заздалегідь знати, яку частину стану блокчейну може отримати кожна транзакція, щоб визначити, які транзакції є незалежними. Деякі платформи блокчейну використовують цей підхід, вимагаючи від транзакцій вказувати, які рахунки або об'єкти будуть доступні, щоб організувати паралельне виконання непротиставлених транзакцій.
Оптимістична паралельна модель передбачає, що всі транзакції є незалежними, і лише ретроспективно перевіряє це припущення та вносить корективи за необхідності. Деякі блокчейни використовують метод Block-STM для застосування оптимістичного паралельного виконання, транзакції спочатку розташовуються в блоці в певному порядку, а потім розподіляються між різними обробними потоками для одночасного виконання.
Паралельний EVM
Концепція паралельного EVM була запропонована ще в 2021 році, спочатку вона стосувалася підтримки одночасної обробки кількох транзакцій EVM. Наприкінці 2023 року паралельний EVM знову став популярним, викликавши хвилю впровадження технології паралельного виконання у EVM-сумісних Layer1.
Наразі розумно визначити паралельні EVM як такі, що включають три категорії:
Деякі нові проекти розробляють паралельні EVM-рішення, які мають на меті значно підвищити масштабованість і швидкість транзакцій шляхом паралельного виконання. Ці проекти використовують різні технологічні рішення, такі як оптимістична паралельна модель, статичний аналіз коду тощо, для досягнення паралельної обробки транзакцій.
Одночасно деякі не сумісні з EVM блокчейни також досліджують рішення для сумісності з EVM, підтримуючи виконання смарт-контрактів Ethereum через реалізацію інтерпретатора EVM у їх рідному середовищі. Ці рішення використовують можливості паралельного виконання підлеглого блокчейну, забезпечуючи вищу продуктивність для EVM-транзакцій.
Підсумок
Паралельні технології блокчейн є темою, що неодноразово обговорюється, але наразі основна увага зосереджена на модифікації та імітації оптимістичних виконавчих моделей, і суттєвих проривів поки що не відбулося. У майбутньому можуть з'явитися нові проекти Layer1, які приєднаються до конкуренції за паралельний EVM, а старі Layer1 також можуть реалізувати паралельне оновлення EVM або рішення, сумісні з EVM.
Окрім високопродуктивного EVM, у сфері блокчейну можуть з'явитися й інші віртуальні машини, такі як WASM, SVM та Move VM, що сприятиме різноманітному розвитку екосистеми.