Ethereum оновився більше в 2024 році, ніж за останні три роки разом узяті.
Але одна пропозиція непомітно змінює все: паралельне виконання.
EIP-7928 може стати моментом, коли Ethereum нарешті перестане бути однопотоковим.👇🧵
Ми бачили оновлення Fusaka, оновлення kohaku, так багато EIP та ERC, але EIP-7928 торкається основи EVM. ----------------------------------------
Що таке EIP-7928?
EIP-7928 — це запропоноване оновлення, яке вводить (BALs) Bounded Atomic Lists, формальний спосіб для транзакцій оголосити, який стан вони будуть читати або записувати перед виконанням.
Включивши структурований "маніфест доступу до стану", клієнти Ethereum можуть визначити, чи стосуються дві транзакції одних і тих же частин стану, і якщо ні, їх можна виконувати паралельно.
Це вирішує одну з найбільших проблем Ethereum, це система, яка забезпечує послідовне виконання, де кожна транзакція повинна виконуватися в порядку.
З EIP-7928 Ethereum робить великий крок до багатопотокового середовища виконання, що дозволяє забезпечити більшу пропускну спроможність без перевизначення EVM. ----------------------------------------
Що таке BAL ( Зв'язаний Атомний Список )?
Обмежений атомарний список (BAL) є метаданими, які повідомляють мережі, які саме рахунки та місця зберігання транзакція має намір читати або змінювати ще до її виконання.
Це перетворює EVM з чорної скриньки для виконання транзакцій у передбачувану систему, де використання ресурсів відомо заздалегідь. BAL працює як компактний, детермінований контур виконавчого сліду.
Це надає валідаторам впевненість, що:
➢ транзакція не торкнеться нічого поза її оголошеними межами
➢ жодних прихованих конфліктів стану не з'явиться під час виконання
➢ рішення щодо розкладання, прийняті до виконання, залишатимуться дійсними після цього
BALи є основою для забезпечення безпечного паралелізму, оскільки вузли тепер можуть розмірковувати про конфлікти транзакцій, не запускаючи EVM спочатку.
----------------------------------------
Є різні типи БАЛ
1. Read BAL, який з'являється в трансакціях, що звертаються до стану, але не змінюють його частин. Вони можуть бути рідкісними в нормальних потоки Ethereum, але стають надзвичайно цінними для пакетних систем.
2. Записати BAL, який визначає підмножину стану, яку буде оновлено транзакцією. Ці транзакції вимагають вирішення конфліктів, але можуть все ще працювати паралельно з іншими, які торкаються різних областей стану.
3. Read-Write BAL включає обидва набори, що дозволяє клієнтам порівнювати накладки читання/запису серед тисяч невирішених транзакцій.
Це дозволяє планувальнику створювати оптимальні групи виконання без ризику непослідовних результатів або каскадів повернення. ----------------------------------------
Механізм EIP-7928
Механізм, що стоїть за EIP-7928, має 3 основні компоненти: оголошення, валідацію та планування.
1. Декларація перед виконанням
Кожна транзакція включає BAL, компактний маніфест усіх рахунків і слотів пам'яті, які будуть доступні. Ця декларація є частиною вантажу транзакції і перевіряється перед початком виконання. Це саме по собі робить можливим виявлення конфліктів без запуску EVM.
2. Статичне валідація BAL
Перед виконанням будь-якої транзакції клієнти Ethereum перевіряють:
➢ чи добре сформований BAL
➢ чи намагається транзакція отримати доступ до чогось поза її задекларованими наборами
➢ чи заявлені набори відповідають межам, визначеним у стандарті
Якщо транзакція стосується чогось, що не включено в BAL, вона є недійсною. Це захищає мережу та забезпечує довіру в паралельному плануванні.
3. Побудова графа конфліктів
Використовуючи BAL, вузол будує граф конфліктів, де кожна транзакція є вузлом, ребро означає перекриття наборів читання/запису, а відсутність ребра означає, що транзакції незалежні.
Цей графік точно вказує планувальнику, які транзакції можуть виконуватися одночасно.
4. Паралельне планування
Клієнт ділить набір транзакцій на партії, які можуть виконуватися одночасно. Незалежні партії відправляються на різні ядра або потоки процесора.
Приклади: кілька свопів у різних пулах, кілька ментів, що впливають на незалежні стани контрактів, несумісні перекази, що торкаються різних рахунків
Ці команди виконуються одночасно, максимізуючи використання ЦП.
5. Детермінований коміт
Хоча виконання відбувається паралельно, фіксація стану завжди застосовується у канонічному порядку блоків. Це зберігає детермінованість між усіма вузлами. Паралелізм прискорює виконання, але порядок запобігає розбіжностям у консенсусі. ----------------------------------------
Життєвий цикл 7928-Увімкненої Блокчейн
Транзакції з BAL потрапляють у мемпул, вузли класифікують і групують їх, починається паралельне виконання, результати об'єднуються детерміновано, і блок фіналізується швидше. Як будівельники, так і валідатори отримують вигоду від скорочення часу виконання та передбачуваних конфліктних патернів.
Переваги EIP-7928
➢ EIP-7928 розблоковує справжнє паралельне виконання, дозволяючи Ethereum нарешті використовувати сучасне багатоядерне обладнання для значного підвищення пропускної спроможності.
➢ Швидко усуваючи затори, EIP-7928 згладжує сплески газу та стабілізує ринкові збори під час періодів великого трафіку.
➢ Паралельне виконання зменшує час верифікації блоку, зміцнюючи децентралізацію, знижуючи вимоги до апаратного забезпечення для всіх валідаторів.
➢ Завдяки чітким межам доступу до стану, будівельники блоків можуть структуризувати стратегії MEV та пакетні потоки більш безпечно і ефективно.
➢ EIP-7928 покращує виконувальний шар Ethereum без необхідності створення нових віртуальних машин, переписування контрактів або порушення існуючих інструментів. ---------------------------------------- На завершення, EIP-7928 відчувається як одне з тих оновлень, які тихо змінюють усе.
З моєї точки зору, це перший раз, коли Ethereum закладає реальну основу для паралельних, високопродуктивних виконань без переписування всього стеку.
Якщо ми зробимо це правильно, виграють розробники, виграють користувачі, і Ethereum нарешті почне використовувати всю потужність сучасного обладнання, і це майбутнє, якого я дійсно з нетерпінням чекаю.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Ethereum оновився більше в 2024 році, ніж за останні три роки разом узяті.
Але одна пропозиція непомітно змінює все: паралельне виконання.
EIP-7928 може стати моментом, коли Ethereum нарешті перестане бути однопотоковим.👇🧵
Ми бачили оновлення Fusaka, оновлення kohaku, так багато EIP та ERC, але EIP-7928 торкається основи EVM.
----------------------------------------
Що таке EIP-7928?
EIP-7928 — це запропоноване оновлення, яке вводить (BALs) Bounded Atomic Lists, формальний спосіб для транзакцій оголосити, який стан вони будуть читати або записувати перед виконанням.
Включивши структурований "маніфест доступу до стану", клієнти Ethereum можуть визначити, чи стосуються дві транзакції одних і тих же частин стану, і якщо ні, їх можна виконувати паралельно.
Це вирішує одну з найбільших проблем Ethereum, це система, яка забезпечує послідовне виконання, де кожна транзакція повинна виконуватися в порядку.
З EIP-7928 Ethereum робить великий крок до багатопотокового середовища виконання, що дозволяє забезпечити більшу пропускну спроможність без перевизначення EVM.
----------------------------------------
Що таке BAL ( Зв'язаний Атомний Список )?
Обмежений атомарний список (BAL) є метаданими, які повідомляють мережі, які саме рахунки та місця зберігання транзакція має намір читати або змінювати ще до її виконання.
Це перетворює EVM з чорної скриньки для виконання транзакцій у передбачувану систему, де використання ресурсів відомо заздалегідь.
BAL працює як компактний, детермінований контур виконавчого сліду.
Це надає валідаторам впевненість, що:
➢ транзакція не торкнеться нічого поза її оголошеними межами
➢ жодних прихованих конфліктів стану не з'явиться під час виконання
➢ рішення щодо розкладання, прийняті до виконання, залишатимуться дійсними після цього
BALи є основою для забезпечення безпечного паралелізму, оскільки вузли тепер можуть розмірковувати про конфлікти транзакцій, не запускаючи EVM спочатку.
----------------------------------------
Є різні типи БАЛ
1. Read BAL, який з'являється в трансакціях, що звертаються до стану, але не змінюють його частин. Вони можуть бути рідкісними в нормальних потоки Ethereum, але стають надзвичайно цінними для пакетних систем.
2. Записати BAL, який визначає підмножину стану, яку буде оновлено транзакцією. Ці транзакції вимагають вирішення конфліктів, але можуть все ще працювати паралельно з іншими, які торкаються різних областей стану.
3. Read-Write BAL включає обидва набори, що дозволяє клієнтам порівнювати накладки читання/запису серед тисяч невирішених транзакцій.
Це дозволяє планувальнику створювати оптимальні групи виконання без ризику непослідовних результатів або каскадів повернення.
----------------------------------------
Механізм EIP-7928
Механізм, що стоїть за EIP-7928, має 3 основні компоненти: оголошення, валідацію та планування.
1. Декларація перед виконанням
Кожна транзакція включає BAL, компактний маніфест усіх рахунків і слотів пам'яті, які будуть доступні.
Ця декларація є частиною вантажу транзакції і перевіряється перед початком виконання.
Це саме по собі робить можливим виявлення конфліктів без запуску EVM.
2. Статичне валідація BAL
Перед виконанням будь-якої транзакції клієнти Ethereum перевіряють:
➢ чи добре сформований BAL
➢ чи намагається транзакція отримати доступ до чогось поза її задекларованими наборами
➢ чи заявлені набори відповідають межам, визначеним у стандарті
Якщо транзакція стосується чогось, що не включено в BAL, вона є недійсною. Це захищає мережу та забезпечує довіру в паралельному плануванні.
3. Побудова графа конфліктів
Використовуючи BAL, вузол будує граф конфліктів, де кожна транзакція є вузлом, ребро означає перекриття наборів читання/запису, а відсутність ребра означає, що транзакції незалежні.
Цей графік точно вказує планувальнику, які транзакції можуть виконуватися одночасно.
4. Паралельне планування
Клієнт ділить набір транзакцій на партії, які можуть виконуватися одночасно.
Незалежні партії відправляються на різні ядра або потоки процесора.
Приклади: кілька свопів у різних пулах, кілька ментів, що впливають на незалежні стани контрактів, несумісні перекази, що торкаються різних рахунків
Ці команди виконуються одночасно, максимізуючи використання ЦП.
5. Детермінований коміт
Хоча виконання відбувається паралельно, фіксація стану завжди застосовується у канонічному порядку блоків. Це зберігає детермінованість між усіма вузлами. Паралелізм прискорює виконання, але порядок запобігає розбіжностям у консенсусі.
----------------------------------------
Життєвий цикл 7928-Увімкненої Блокчейн
Транзакції з BAL потрапляють у мемпул, вузли класифікують і групують їх, починається паралельне виконання, результати об'єднуються детерміновано, і блок фіналізується швидше.
Як будівельники, так і валідатори отримують вигоду від скорочення часу виконання та передбачуваних конфліктних патернів.
Переваги EIP-7928
➢ EIP-7928 розблоковує справжнє паралельне виконання, дозволяючи Ethereum нарешті використовувати сучасне багатоядерне обладнання для значного підвищення пропускної спроможності.
➢ Швидко усуваючи затори, EIP-7928 згладжує сплески газу та стабілізує ринкові збори під час періодів великого трафіку.
➢ Паралельне виконання зменшує час верифікації блоку, зміцнюючи децентралізацію, знижуючи вимоги до апаратного забезпечення для всіх валідаторів.
➢ Завдяки чітким межам доступу до стану, будівельники блоків можуть структуризувати стратегії MEV та пакетні потоки більш безпечно і ефективно.
➢ EIP-7928 покращує виконувальний шар Ethereum без необхідності створення нових віртуальних машин, переписування контрактів або порушення існуючих інструментів.
----------------------------------------
На завершення, EIP-7928 відчувається як одне з тих оновлень, які тихо змінюють усе.
З моєї точки зору, це перший раз, коли Ethereum закладає реальну основу для паралельних, високопродуктивних виконань без переписування всього стеку.
Якщо ми зробимо це правильно, виграють розробники, виграють користувачі, і Ethereum нарешті почне використовувати всю потужність сучасного обладнання, і це майбутнє, якого я дійсно з нетерпінням чекаю.
Ваші думки щодо ЕІП-7928?