Паралельні дослідження оптимізації EVM: ключовий шлях до підвищення ефективності обробки транзакцій
EVM як основний виконавчий двигун Ethereum, його продуктивність безпосередньо впливає на пропускну здатність усієї мережі. З розширенням користувацької бази та збагаченням сценаріїв застосування обмеження традиційної послідовної моделі виконання стають дедалі очевиднішими. Особливо в рішеннях Layer 2, вузькі місця продуктивності EVM стають ще більш помітними. Тому вивчення варіантів паралельного виконання стало важливим напрямком для підвищення ефективності EVM.
Основні компоненти EVM та послідовний процес виконання
EVM та stateDB є двома основними компонентами виконання транзакцій в Ethereum. EVM відповідає за інтерпретацію та виконання інструкцій смарт-контрактів, тоді як stateDB управляє глобальним зберіганням стану. У традиційній серійній моделі виконання транзакції обробляються поодинці, кожна транзакція використовує незалежний екземпляр EVM, але ділить один і той же stateDB.
Конкретний процес виконання виглядає так:
виклик функції processBlock() для обробки транзакцій у блоці за допомогою функції Process()
Процес() функція виконує транзакції поетапно через цикл for.
Після завершення всіх транзакцій викликається statedb.Commit() для подання зміни стану.
Основною проблемою цього послідовного режиму є те, що складні транзакції блокують наступні транзакції, не даючи змоги повною мірою використовувати апаратні ресурси, що серйозно обмежує ефективність обробки.
Оптимізаційні підходи до паралельного EVM
Для вирішення проблеми ефективності послідовного виконання в галузі були запропоновані оптимізаційні рішення для паралельного виконання. Його основна ідея полягає в тому, щоб використовувати багатопоточність для одночасної обробки кількох транзакцій, що значно підвищує пропускну здатність. Але основною проблемою паралельного виконання є те, як вирішити проблему конфлікту станів.
Одна з команд в галузі запропонувала паралельну оптимізацію EVM, основні характеристики якої включають:
Паралельне виконання транзакцій у багатопоточному режимі
Виділити тимчасову базу даних стану для кожного потоку (pending-stateDB)
Після завершення виконання угоди, стан синхронізується до глобальної stateDB
Ця схема оптимізувала операції читання та запису:
Операція читання: спочатку читати з pending-stateDB, якщо немає, то читати з глобального stateDB
Операція запису: спочатку записується в WriteSet pending-stateDB, а потім об'єднується з глобальним stateDB.
Щоб вирішити конфлікти стану, схема запровадила механізм виявлення конфліктів:
Моніторинг ReadSet і WriteSet різних угод
Позначити відповідні транзакції для повторного виконання при виявленні конфлікту
Після завершення всіх угод об’єднати pending-stateDB з глобальним stateDB
Покращення продуктивності паралельної оптимізації
Паралельна оптимізація з використанням багатопоточності значно підвищила продуктивність EVM, особливо при обробці складних транзакцій з розумними контрактами. Згідно з дослідницькими даними:
При низьких конфліктах навантаження, TPS підвищується на 3-5 разів
При високих навантаженнях з конфліктами, теоретично можна підвищити до 60 разів
Ця схема паралелізації закладає основу для підвищення продуктивності Ethereum та рішень Layer 2 у майбутньому. З подальшим розвитком технологій, таких як оптимізація зберігання, прискорення за допомогою GPU тощо, продуктивність EVM має всі шанси на ще більше підвищення.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
17 лайків
Нагородити
17
6
Репост
Поділіться
Прокоментувати
0/400
Whale_Whisperer
· 08-07 21:42
Розумію, як впоратися з вузьким місцем l2. Відчуваю, що ETH це вже кінець.
Переглянути оригіналвідповісти на0
ContractCollector
· 08-05 12:14
Хто може пояснити, що таке stateDB? Я лише розумію, що DB - це база даних.
Переглянути оригіналвідповісти на0
ApeWithNoChain
· 08-05 09:58
Здається, старий ETH вже не грає в паралель, краще вже не мучитися.
Переглянути оригіналвідповісти на0
SchrodingerGas
· 08-05 09:44
оптимізація газу знову і знову справді не так реалістично, як підняти ліміт газу на L2
Переглянути оригіналвідповісти на0
CryptoMotivator
· 08-05 09:42
У господаря теж не залишилося запасів, L2 вже не врятує ETH.
Переглянути оригіналвідповісти на0
GasFeeCrier
· 08-05 09:36
Ти хочеш для гаманець щось похитати, а L2 ж не дешевий.
Паралельна оптимізація EVM: новий напрямок для підвищення ефективності обробки транзакцій Ethereum
Паралельні дослідження оптимізації EVM: ключовий шлях до підвищення ефективності обробки транзакцій
EVM як основний виконавчий двигун Ethereum, його продуктивність безпосередньо впливає на пропускну здатність усієї мережі. З розширенням користувацької бази та збагаченням сценаріїв застосування обмеження традиційної послідовної моделі виконання стають дедалі очевиднішими. Особливо в рішеннях Layer 2, вузькі місця продуктивності EVM стають ще більш помітними. Тому вивчення варіантів паралельного виконання стало важливим напрямком для підвищення ефективності EVM.
Основні компоненти EVM та послідовний процес виконання
EVM та stateDB є двома основними компонентами виконання транзакцій в Ethereum. EVM відповідає за інтерпретацію та виконання інструкцій смарт-контрактів, тоді як stateDB управляє глобальним зберіганням стану. У традиційній серійній моделі виконання транзакції обробляються поодинці, кожна транзакція використовує незалежний екземпляр EVM, але ділить один і той же stateDB.
Конкретний процес виконання виглядає так:
Основною проблемою цього послідовного режиму є те, що складні транзакції блокують наступні транзакції, не даючи змоги повною мірою використовувати апаратні ресурси, що серйозно обмежує ефективність обробки.
Оптимізаційні підходи до паралельного EVM
Для вирішення проблеми ефективності послідовного виконання в галузі були запропоновані оптимізаційні рішення для паралельного виконання. Його основна ідея полягає в тому, щоб використовувати багатопоточність для одночасної обробки кількох транзакцій, що значно підвищує пропускну здатність. Але основною проблемою паралельного виконання є те, як вирішити проблему конфлікту станів.
Одна з команд в галузі запропонувала паралельну оптимізацію EVM, основні характеристики якої включають:
Ця схема оптимізувала операції читання та запису:
Щоб вирішити конфлікти стану, схема запровадила механізм виявлення конфліктів:
Покращення продуктивності паралельної оптимізації
Паралельна оптимізація з використанням багатопоточності значно підвищила продуктивність EVM, особливо при обробці складних транзакцій з розумними контрактами. Згідно з дослідницькими даними:
Ця схема паралелізації закладає основу для підвищення продуктивності Ethereum та рішень Layer 2 у майбутньому. З подальшим розвитком технологій, таких як оптимізація зберігання, прискорення за допомогою GPU тощо, продуктивність EVM має всі шанси на ще більше підвищення.