

Паралельні обчислення стали ключовою концепцією у блокчейн-індустрії. Паралелізоване виконання EVM визначає новий рівень оптимізації продуктивності. Від початкових розробок Parallelized EVM пройшла низку оновлень і стала одним з головних досягнень у дослідженнях масштабованості блокчейнів.
Розвиток Parallelized EVM відбувався з практичної потреби. У високопродуктивних блокчейн-мережах у періоди пікового навантаження спостерігалося значне зростання трафіку. Це виявило необхідність підвищення продуктивності. Тривалий попит показав, що чинна модель послідовної обробки транзакцій досягла своїх меж. Це стало підставою для впровадження паралельного виконання у відповідних мережах.
Проєкт Parallelized EVM проходив кілька етапів розвитку, кожен з яких базувався на здобутках попереднього.
Початкову фазу розпочали у середині грудня 2021 року. Вона тривала приблизно три місяці, охоплюючи проєктування, реалізацію, налаштування і повне тестування. Саме ця фаза заклала архітектурну основу і робочий процес для подальшого розвитку Parallelized EVM.
На основі фундаменту Фази 1.0 розпочалася фаза вдосконалення на початку квітня 2022 року. Вона тривала близько двох місяців. Цей етап передбачав версію з підвищеною продуктивністю, доданням оптимізацій і нових компонентів для значного підвищення ефективності обробки транзакцій у Parallelized EVM.
У наступних етапах запланували розширення можливостей паралельного виконання для режиму валідатора. Це позначило подальшу еволюцію архітектури Parallelized EVM. Технічна складність паралельної валідації виявилася суттєвою, тому підхід до цього етапу доопрацьовували особливо ретельно.
Архітектура Parallelized EVM базується на складних інженерних принципах для максимального пропуску, при цьому зберігається стабільність системи. Впровадження істотно змінює обробку транзакцій у блокчейні, впроваджуючи одночасне виконання у контрольованому середовищі.
Parallelized EVM підвищує продуктивність обробки блоків одночасним виконанням транзакцій замість послідовної обробки. Система складається з двох основних компонентів: Dispatcher і слотів. При запуску процесу створюється задана кількість слотів. Кожен слот отримує транзакції від Dispatcher і виконує їх паралельно. Транзакції, які надходять в один слот, виконуються послідовно, що забезпечує консистентність. Dispatcher динамічно та ефективно розподіляє транзакції, оптимізуючи низький рівень конфліктів і рівномірне навантаження між слотами.
Архітектура Parallelized EVM складається з декількох взаємопов’язаних компонентів, що разом забезпечують ефективне паралельне виконання із збереженням цілісності блокчейну.
Виконання транзакцій розділене на два етапи: Execution Stage і Finalize Stage. Під час Execution Stage відбувається виконання EVM без негайної валідації результатів; транзакції можуть виконуватись кілька разів для досягнення валідного результату. Після підтвердження результату на Execution Stage, на Finalize Stage результат фіксується, а всі зміни статусу записуються у базовий StateDB, що забезпечує фінальність транзакції.
Dispatcher здійснює підготовку транзакцій, розподіл і консолідацію результатів. У вдосконалених версіях реалізовано комбінований підхід із статичним і динамічним розподілом. Статичний розподіл відбувається на старті обробки блоку: транзакції з можливим конфліктом направляють у той самий слот, а навантаження балансують. Динамічний розподіл працює у реальному часі, застосовуючи режим "theft" (режим викрадення), коли неактивні слоти отримують транзакції зі слотів із надмірним навантаженням. Це дозволяє максимально використовувати ресурси і підвищує пропускну здатність.
Цей механізм надає транзакціям ієрархічний доступ до стану: Self Dirty (стан, змінений самою транзакцією), UnConfirmed Dirty (стан, змінений непідтвердженими транзакціями), Base StateDB (підтверджений стан). Такий підхід оптимізує патерни доступу до стану із збереженням коректності за рахунок вибору найнадійнішого стану для кожного звернення.
У блокчейні транзакції залежать від попередніх результатів при роботі зі спільним світовим станом, тому виявлення конфліктів має базове значення. Спочатку використовували політику DirtyRead — транзакцію позначали як конфліктну за будь-якої зміни у стані. У вдосконалених версіях застосували виявлення на основі читання з веденням журналів і порівнянням із базовим StateDB для більшої точності. Також реалізували функції Detect In Advance і паралельне виявлення KV-конфліктів для підвищення ефективності та зменшення затримок.
Компонент Merger консолідує підтверджені результати у базовий StateDB, забезпечуючи безпеку при одночасному доступі через обмеження доступу до StateDB лише Dispatcher. Це усуває змагання за дані і гарантує атомарність фіксації стану.
У ранніх реалізаціях кожній транзакції виділяли окремий знімок StateDB, що займало близько 62 КБ на копію і спричиняло часте прибирання пам’яті. У вдосконалених версіях впроваджено MemoryPool для асинхронної переробки StateDB-об’єктів, що зменшує витрати на створення копій. LightCopy замінив глибоке копіювання, запобігаючи дублюванню пам’яті для зберігання і підтримуючи UnConfirmed State Access через посилання замість копіювання даних.
Виконання транзакцій має три етапи. Pre-Stage — підготовка: визначення потоку виконання і ініціалізація StateDB. RT-Stage — виконання, під час якого транзакції отримують доступ до світового стану. Post-Stage — виявлення конфліктів, перепризначення у разі конфлікту і фіксація валідних результатів. Серед оптимізацій наступних версій: відмова від попереднього розподілу, перенесення створення StateDB у паралельні потоки, заміна CopyOnWrite на UnconfirmedAccess і перенесення ConflictDetect та Finalize у Dispatcher.
Streaming Pipeline — ключове удосконалення Parallelized EVM, яке практично усуває затримки синхронізації. Кожен основний слот має тіньовий резерв, що дублює виконання для швидкого перепризначення. Транзакції більше не очікують фіналізації попередників: вони ставлять результати у чергу і продовжують виконання, забезпечуючи безперервний потік і суттєво підвищуючи ефективність. Така модель перетворює виконання із синхронізованих пакетів на постійний потік транзакцій.
Комплексне тестування підтвердило ефективність Parallelized EVM. Сценарії з аналогічними характеристиками проводили тривалі паралельні тести з кількома слотами та активованим конвеєрним комітом. Показано, що загальна вартість обробки блоку (включаючи виконання, валідацію і фіксацію) зменшилась на 20–50 %, приріст залежав від структури блоку. Це підтверджує, що паралельне виконання значно підвищує пропускну здатність і оперативність блокчейна.
Parallelized EVM — значне досягнення в оптимізації продуктивності блокчейну. Вона вирішує завдання паралельної обробки транзакцій у мережах, сумісних з Ethereum. Завдяки складній архітектурі з динамічним розподілом, сучасними механізмами виявлення конфліктів, конвеєрним виконанням і оптимізацією пам’яті, Parallelized EVM довела можливість значного приросту продуктивності із збереженням стабільності й консистентності системи. Скорочення часу обробки блоку на 20–50 % підтверджує ефективність підходу і визначає Parallelized EVM як перспективний напрям для масштабування блокчейну. Подальший розвиток розширить ці можливості для операцій валідаторів і розкриє потенціал паралельної обробки у розподілених реєстрах.
Parallel EVM — це архітектура блокчейну, що дозволяє кільком екземплярам Ethereum Virtual Machine обробляти транзакції та смартконтракти одночасно, а не послідовно. Це підвищує масштабованість і пропускну здатність транзакцій із збереженням сумісності EVM для розробників.
EVM — це віртуальна машина, яка виконує смартконтракти у блокчейн-мережах. Вона обробляє транзакції й запускає децентралізовані застосунки за визначеними правилами, виступаючи обчислювальним ядром блокчейн-платформ.
Паралельний блокчейн — це окрема блокчейн-мережа, що діє поряд з іншими, забезпечуючи унікальні функції, зокрема кросчейн-грошові ринки й леверидж-стейкінг для децентралізованих фінансових застосунків.
Parallelized EVM обробляє кілька неконфліктних транзакцій одночасно на паралельних екземплярах, що забезпечує паралельне, а не послідовне виконання. Це значно підвищує пропускну здатність транзакцій і скорочує час обробки блоків, підвищуючи масштабованість та ефективність мережі.
Parallel EVM дозволяє виконувати кілька транзакцій одночасно замість послідовної обробки, що суттєво підвищує пропускну здатність і зменшує затримки. Це забезпечує швидке фіналізування транзакцій, більшу пропускну здатність і кращий досвід користувачів із збереженням сумісності EVM для безперешкодної міграції dApp.
Головні виклики — це забезпечення консистентності даних під час паралельного виконання, оптимізація доступу до стану і виявлення конфліктів транзакцій. Вирішити ці питання допомагають механізми оптимістичного контролю конкурентності та бази даних з паралельною обробкою.











