Поява паралельного EVM: як високопродуктивний Layer1 долає продуктивні обмеження Ethereum

robot
Генерація анотацій у процесі

EVM:Ядро компонентів Ethereum

EVM є ядром Ethereum, відповідальним за виконання смарт-контрактів та обробку транзакцій. Це обчислювальний движок, який забезпечує абстракцію обчислень та зберігання, схожу на Java Virtual Machine. EVM виконує свій власний набір байт-коду, зазвичай сформований із Solidity.

EVM є напівтурінговою машиною станів. "Напів" тому, що всі кроки виконання споживають обмежені ресурси Gas, що запобігає можливим безкінечним циклам, які можуть призвести до зупинки всієї платформи.

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

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

Паралельний EVM: високопродуктивна Layer1 зворотна трансформація

Шлях до паралельного високо продуктивного Layer1

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

Віртуальна машина

EVM спроектовано як 256-бітну віртуальну машину, метою якої є спрощення обробки хеш-алгоритму Ethereum. Однак комп'ютери, що фактично виконують EVM, повинні відображати 256-бітні байти на локальну архітектуру для виконання смарт-контрактів, що робить всю систему малоефективною. Тому високопродуктивні Layer1 більше використовують віртуальні машини на основі WASM, eBPF байт-коду або Move байт-коду, а не EVM.

WASM є форматом байт-коду, який має малий обсяг, швидко завантажується, є портативним та базується на механізмах безпеки пісочниці. Розробники можуть використовувати різні мови програмування для написання смарт-контрактів, а потім компілювати їх у байт-код WASM та виконувати. Багато блокчейн-проєктів вже прийняли WASM як стандарт, Ethereum у майбутньому також інтегрує WASM.

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

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

Паралельний EVM: хірургія серця високопродуктивного Layer1

Паралельне виконання

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

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

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

Паралельний EVM: високоефективна Layer1 заміна серця

Паралельний EVM

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

Розумне визначення паралельного EVM включає три категорії:

  1. Вдосконалення паралельного виконання EVM-сумісного Layer1, яке не використовує технологію паралельного виконання.
  2. Використання технології паралельного виконання EVM-сумісного Layer1
  3. Використано технологію паралельного виконання для EVM-сумісного рішення Layer 1, що не є EVM-сумісним.

Паралельний EVM: високопродуктивна Layer1 зміна серця

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

Паралельний EVM: висока продуктивність Layer1

Інші проекти використовують EVM для виконання смарт-контрактів, щоб забезпечити сумісність з EVM. Цей підхід безшовно перетворює опкоди EVM у опкоди конкретної віртуальної машини, що дозволяє проектам на Solidity використовувати переваги продуктивності та безпеки інших віртуальних машин без необхідності змінювати код.

Паралельний EVM: висока продуктивність Layer1 зміна серця

Підсумок

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

Окрім високопродуктивного EVM, у сфері блокчейну можуть з'явитися різноманітні технологічні наративи, такі як WASM, SVM та Move VM, що сприятимуть різноманітному розвитку цілої екосистеми.

Паралельний EVM: високопродуктивна Layer1 хірургія серця

ETH-0.04%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
PumpBeforeRugvip
· 07-15 04:11
Знову новий блокчейн обманює
Переглянути оригіналвідповісти на0
RamenDeFiSurvivorvip
· 07-12 07:44
Паралельно це дійсно круто, Layer 1 розкрутився.
Переглянути оригіналвідповісти на0
consensus_whisperervip
· 07-12 07:43
Справді цікаво спробувати нові технології
Переглянути оригіналвідповісти на0
MoonBoi42vip
· 07-12 07:42
Напиши більше коду, брате.
Переглянути оригіналвідповісти на0
SleepyArbCatvip
· 07-12 07:40
газ високий, не хочеться розгортати, няв
Переглянути оригіналвідповісти на0
WalletDivorcervip
· 07-12 07:38
EVM старий майнер, спостерігаючи за подіями
Переглянути оригіналвідповісти на0
  • Закріпити