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

Паралельні дослідження оптимізації EVM: ключовий шлях до підвищення ефективності обробки транзакцій

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

Основні компоненти EVM та послідовний процес виконання

EVM та stateDB є двома основними компонентами виконання транзакцій в Ethereum. EVM відповідає за інтерпретацію та виконання інструкцій смарт-контрактів, тоді як stateDB управляє глобальним зберіганням стану. У традиційній серійній моделі виконання транзакції обробляються поодинці, кожна транзакція використовує незалежний екземпляр EVM, але ділить один і той же stateDB.

Конкретний процес виконання виглядає так:

  1. виклик функції processBlock() для обробки транзакцій у блоці за допомогою функції Process()
  2. Процес() функція виконує транзакції поетапно через цикл for.
  3. Після завершення всіх транзакцій викликається statedb.Commit() для подання зміни стану.

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

На прикладі Reddio, розкрито шлях оптимізації паралельного EVM

Оптимізаційні підходи до паралельного EVM

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

Одна з команд в галузі запропонувала паралельну оптимізацію EVM, основні характеристики якої включають:

  1. Паралельне виконання транзакцій у багатопоточному режимі
  2. Виділити тимчасову базу даних стану для кожного потоку (pending-stateDB)
  3. Після завершення виконання угоди, стан синхронізується до глобальної stateDB

Ця схема оптимізувала операції читання та запису:

  • Операція читання: спочатку читати з pending-stateDB, якщо немає, то читати з глобального stateDB
  • Операція запису: спочатку записується в WriteSet pending-stateDB, а потім об'єднується з глобальним stateDB.

Щоб вирішити конфлікти стану, схема запровадила механізм виявлення конфліктів:

  • Моніторинг ReadSet і WriteSet різних угод
  • Позначити відповідні транзакції для повторного виконання при виявленні конфлікту
  • Після завершення всіх угод об’єднати pending-stateDB з глобальним stateDB

На прикладі Reddio описується шлях оптимізації паралельного EVM

На прикладі Reddio, розглянемо шлях оптимізації паралельного EVM

На прикладі Reddio пояснюється шлях оптимізації паралельного EVM

На прикладі Reddio, розкриваючи шлях оптимізації паралельного EVM

На прикладі Reddio, розкриваємо шлях оптимізації паралельного EVM

На прикладі Reddio розглянуто шлях оптимізації паралельного EVM

На прикладі Reddio розглянемо шлях оптимізації паралельного EVM

Приклад Reddio, пояснюючи шлях оптимізації паралельного EVM

Розглянемо оптимізацію паралельного EVM на прикладі Reddio

Покращення продуктивності паралельної оптимізації

Паралельна оптимізація з використанням багатопоточності значно підвищила продуктивність EVM, особливо при обробці складних транзакцій з розумними контрактами. Згідно з дослідницькими даними:

  • При низьких конфліктах навантаження, TPS підвищується на 3-5 разів
  • При високих навантаженнях з конфліктами, теоретично можна підвищити до 60 разів

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

На прикладі Reddio описано шлях оптимізації паралельного EVM

ETH6.21%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Репост
  • Поділіться
Прокоментувати
0/400
Whale_Whisperervip
· 08-07 21:42
Розумію, як впоратися з вузьким місцем l2. Відчуваю, що ETH це вже кінець.
Переглянути оригіналвідповісти на0
ContractCollectorvip
· 08-05 12:14
Хто може пояснити, що таке stateDB? Я лише розумію, що DB - це база даних.
Переглянути оригіналвідповісти на0
ApeWithNoChainvip
· 08-05 09:58
Здається, старий ETH вже не грає в паралель, краще вже не мучитися.
Переглянути оригіналвідповісти на0
SchrodingerGasvip
· 08-05 09:44
оптимізація газу знову і знову справді не так реалістично, як підняти ліміт газу на L2
Переглянути оригіналвідповісти на0
CryptoMotivatorvip
· 08-05 09:42
У господаря теж не залишилося запасів, L2 вже не врятує ETH.
Переглянути оригіналвідповісти на0
GasFeeCriervip
· 08-05 09:36
Ти хочеш для гаманець щось похитати, а L2 ж не дешевий.
Переглянути оригіналвідповісти на0
  • Закріпити