Автор: Чжісюн Пан
Протягом минулого року ліміт газу (Gas Limit) для блоку Ethereum швидко зріс з приблизно 30 мільйонів до 60 мільйонів. За цим стрибком стоїть кілька факторів, які працюють разом, зокрема контроль за найгіршим розміром блоку на рівні протоколу, значна оптимізація продуктивності виконавчих клієнтів та систематичне тестування для вищого ліміту газу.
Простими словами, розробники зменшили ризики підвищення межі Gas шляхом вдосконалення правил протоколу Ethereum, що суттєво підвищило швидкість обробки великих блоків різними клієнтами, і довели, що мережа може своєчасно генерувати та поширювати блоки навіть під високим навантаженням.
Ці зусилля призвели до того, що основна мережа Ethereum від того, що не наважувалася легко підвищувати ліміт Gas, тепер безпечно підвищила його до 60M Gas. Нижче ми детально пояснимо концепцію та історію ліміту Gas, а потім глибше розглянемо основні причини підвищення ліміту Gas і прогнозуємо умови, необхідні для подальшого розширення.
Ліміт газу (Gas Limit) є параметром, що вимірює максимальний обсяг обчислювальної роботи в кожному блоці в Ethereum, тобто максимальну кількість газу, яку може містити кожен блок для виконання транзакцій. Чим вище ліміт газу, тим більше транзакцій може вмістити один блок, що підвищує пропускну спроможність мережі. Але побічним ефектом є те, що вищий ліміт газу збільшує навантаження на учасників мережі: валідатори блоків повинні упакувати та транслювати більші блоки за фіксований час, а всі вузли мережі також повинні завантажувати та виконувати більші блоки, що призводить до збільшення навантаження на мережеву пропускну здатність та апаратне забезпечення вузлів.
Blob – це ще один тип вмісту блоку, який є новим елементом, введеним для розширення доступності даних Ethereum. Blob походить з пропозиції EIP-4844, яка дозволяє тимчасово розміщувати велику кількість двійкових даних, призначених для використання Layer 2, у блоці, при цьому вартість вимірюється незалежно від споживання Gas звичайними транзакціями. Простими словами, Blob забезпечує додатковий простір, спеціально призначений для даних L2 Rollup, тоді як Gas Limit вимірює верхню межу обсягу звичайних обчислень EVM. Обидва поняття не є безпосередньо порівнянними: збільшення кількості Blob в основному впливає на ємність L2-даних, які можна додати до блоку, тоді як збільшення Gas Limit безпосередньо збільшує обчислювальну ємність виконання транзакцій L1.
Ця стаття зосереджується на обговоренні теми Gas Limit, тоді як зміна ємності Blob не буде розглянута.
У перші дні Ethereum обережно ставився до підвищення ліміту газу в блоці. Після впровадження EIP-1559 у 2021 році Ethereum встановив цільовий показник блокового газу близько 15 мільйонів (приблизно до 30 мільйонів для одного блоку) і не збільшував його протягом багатьох років. Причина цього полягала в тому, що кілька ключових вузьких місць ще не були вирішені, а раптове підвищення ліміту газу може поставити під загрозу безпеку мережі та децентралізацію:
Внаслідок вищезазначених побоювань, протягом тривалого часу ліміт Gas на основній мережі Ethereum залишався стабільним і не перевищував 30 мільйонів. Особливо після появи Rollup, велика кількість транзакцій стискає дані та публікує їх на L1 за низькою ціною через calldata, що призводить до поступового наближення середнього розміру блоку Ethereum до межі, в екстремальних випадках один блок може досягати кількох мегабайт.
Без інших покращень підвищення ліміту Gas лише збільшить розмір блоку та проблеми з продуктивністю. Тому спільнота Ethereum тоді вирішила в основному покладатися на розширення Layer 2, а не поспішати з підвищенням ліміту Gas на L1.
Отже, чому після 2025 року Ethereum зможе швидко підвищити ліміт Gas більш ніж у два рази, зберігаючи при цьому безпеку? Основна причина полягає в тому, що одночасно реалізовано кілька технологічних вдосконалень, які усувають перешкоди для масштабування.
Ефіріум запровадив нові правила протоколу, щоб зменшити верхню межу розміру блоку у «найгіршому випадку». Ключовим моментом є пропозиція EIP-7623, яка значно зменшує кількість дешевих даних, які можуть бути включені в один блок у крайніх випадках, шляхом підвищення витрат на Gas для даних calldata у транзакціях.
Перш ніж впровадити EIP-7623, зловмисники могли використовувати наднизьку ціну на газ для calldata, щоб заповнити блок даними обсягом до кількох МБ; після підвищення ціни дані такого ж обсягу вимагатимуть більше газу, що фактично зменшує максимальний розмір блоку і полегшує проблему “занадто великої різниці між середнім і екстремальним значенням” розміру блоку.
Ця зміна дозволила уникнути неконтрольованого розширення загального обсягу байтів блоку, навіть якщо підвищити загальний ліміт Gas, що забезпечує безпечний запас для підвищення ліміту Gas. Іншими словами, протокольний рівень активно зменшив витрати на рівні даних, гарантуючи, що «обсяг обчислень подвоюється, розмір блоку не подвоюється», що стало основою для збільшення ліміту Gas з 30 мільйонів до 60 мільйонів.
Водночас, основна мережа почала впроваджувати спеціалізовані транзакції Blob даних для Rollup у EIP-4844, що також зменшило залежність Rollup від дешевих calldata. Коли дані Rollup поступово переходять з звичайного Gas простору в Blob простір, звичайний Gas блоків більше зосереджується на справжніх обчисленнях контрактів, середній блок стає “легшим”, що також опосередковано створює більш сприятливі умови для підвищення ліміту Gas.
Команди виконувальних клієнтів Ethereum провели глибоке тестування продуктивності програмного забезпечення та оптимізацію, що суттєво підвищило швидкість обробки великих блоків. Рамки тестування Gas, які очолюються командами, такими як Nethermind, заповнюють повний блок виконання однотипних інструкцій або попередньо скомпільованих контрактів, щоб протестувати межі обробної потужності клієнтів (вимірюючи продуктивність у «мільйон Gas на секунду»).
За допомогою цього єдиного стандарту розробники виявили та виправили деякі приховані раніше вузькі місця виконання. Наприклад, під час тестування було виявлено, що в деяких крайніх випадках попередньо скомпільоване “модульне піднесення до ступеня” (ModExp) займає набагато більше часу, ніж його ціна в Gas, що стало спільним вузьким місцем для всіх основних клієнтів.
У відповідь на ці відкриття, спільнота швидко запропонувала EIP-7883 для повторної оцінки Gas для попередньо скомпільованого ModExp і координувала алгоритми оптимізації клієнтів. У той же час інші витратні криптографічні операції (такі як обчислення еліптичних кривих BLS12-381, BN256, хешування тощо) також були оптимізовані або повторно оцінені командами клієнтів.
Згідно зі статистикою, після середньострокового «Berlin Interop» перформанс-спурту 2025 року, швидкість обробки блоків у всіх виконавчих клієнтах значно покращилася в найгіршому випадку, більшість операцій досягли рівня обробки приблизно 20 мільйонів Gas на секунду.
Перекладаючи, якщо клієнт може виконувати 20 мільйонів Gas за секунду, то теоретично можна обробити до 80M Gas в блоці за інтервал PoS в 4 секунди. Це означає, що підвищення верхньої межі блоку до 60M Gas все ще в межах безпечної зони.
Ці покращення продуктивності усунули раніше висловлені побоювання щодо «швидкості виконання, що не відповідає ліміту Gas», забезпечуючи, що навіть якщо блок містить удвічі більше транзакцій, ніж раніше, клієнт зможе завершити верифікацію в установлені терміни, не пропустивши термін консенсусу через повільне виконання.
Перед впровадженням будь-якого підвищення ліміту Gas в основній мережі, розробники провели всебічне тестування в кількох спеціалізованих мережах, щоб забезпечити своєчасну передачу більших блоків та їх прийняття більшістю вузлів.
Наприклад, у 2025 році розробники Ethereum на тестовій мережі Sepolia та новій розробленій мережі Hoodi підвищили ліміт газу блоку до 60M та продовжили спостерігати за показниками продуктивності мережі. Результати показали, що навіть при використанні максимальної величини газу блоку 60M, пропозиції блоків у цих мережах все ще можуть бути упаковані вчасно та швидко передані через P2P мережу: 90% вузлів отримали блок приблизно через 0.7~1.0 секунди після його створення, майже всі вузли завершили верифікацію та прийняли блок як новий голова ланцюга протягом 4 секунд.
Іншими словами, навіть якщо використання газу в блоці подвоїться, блок все ще може розповсюджуватись мережею до терміну подачі доказу, встановленого Ethereum, у 4 секунди. Під час цих стрес-тестів розробники контролювали, чи вчасно пропонуючі вузли створюють блоки, розподіл часу, необхідного всім вузлам мережі для прийняття нового блоку, та інші ключові дані, і не виявили помітних аномалій.
Оскільки статус тестової мережі в масштабі та топології вузлів відрізняється від основної мережі, розробники зберігають обережний оптимізм, але результати тестування підтвердили, що в теорії та інженерії блоки об'ємом 60M Gas є можливими. Одночасно, щоб забезпечити безпеку шару консенсусу, розробники також врахували обмеження на рівні сигнальної мережі (наприклад, на даний момент є обмеження на максимальний обсяг Gossip для одного блоку близько ~10MB). Завдяки згаданим вище методам, таким як EIP-7623, для зменшення кількості байтів в одному блоці, а також уникненню одночасного появи занадто великої кількості штрафних транзакцій та інших найгірших сценаріїв, виконуване навантаження 60M Gas не досягло цих обмежень.
Узагальнюючи, усі тести та коригування дали основній команді достатнє розуміння ризиків підвищення ліміту газу на основній мережі з 30 мільйонів до 60 мільйонів, що додало впевненості. Після того, як більшість валідаторів висловили сигнал підтримки (близько 150 тисяч + валідаторів проголосували за підвищення), Ethereum нарешті в 2025 році розпочне підвищення ліміту газу на основній мережі і планує в подальших оновленнях офіційно змінити значення за замовчуванням на 60M.
Спільнота Ethereum не планує зупинятися на 60M Gas. У наступних планах оновлення, таких як Fusaka, розробники окреслили шлях до подальшого підвищення ліміту Gas блоку до 100M або навіть вище. Для досягнення цієї мети ще залишаються кілька технічних проблем, які потрібно вирішити або постійно стежити за ними:
Дивлячись у майбутнє, якщо вдосконалення наведених вище етапів буде здійснено синхронно, подальше підвищення максимального ліміту Gas у основній мережі Ethereum не є недосяжною метою. Розробники вже перевірили на тестовій мережі можливість підвищення з 36M до 45M, 60M, наступним кроком також планується рух до 100M. Варто підкреслити, що спільнота Ethereum дотримується традиційно обережного підходу до масштабування: кожне підвищення завжди проходить «спочатку тестування, потім основна мережа», і реалізується лише за умови, що це не загрожує безпеці мережі та децентралізації.
В цілому, значне підвищення Gas Limit за минулий рік є результатом синергії інновацій в кількох сферах: зменшення ризиків на рівні протоколу, підвищення продуктивності клієнтів, надання тестових даних для впевненості. Завдяки цим зусиллям Ethereum успішно зробив важливий крок у масштабуванні L1 і заклав основу для подальшого збільшення потужності та підтримки більшої кількості додатків.
Пов'язані статті
Сплячий гаманець, імовірно пов’язаний із депозитами Ethereum Foundation, вніс 4,03 млн дол. у ETH через 7 років
Біткоїн-ETF зафіксували щоденний приплив $22,31 млн, тоді як Ethereum-ETF 1 травня показали відтік $56,36 млн
Ethereum ETF зазнали $184M під час 4-денного серії збитків
SYNBO презентує протокол ончейн-інвестицій у межах туру Шанхайським університетом Ethereum
Eightco Holdings розкриває $333M резерв активів, включно з 283,45 млн WLD і 11 068 ETH станом на 27 квітня