Автор оригіналу: Yicheng
Компіляція оригінального тексту: Deep Tide TechFlow
«У Beacon Chain є життя.» 11 і 12 травня 2023 року Ethereum зіткнувся з двома тимчасовими й остаточними втратами, що перевірило його стійкість. Незважаючи на ці проблеми, мережа залишилася живою та відновилася після обох подій автономно. Ми збираємося розібратися в цих важливих інцидентах, розглянути їхній вплив і подальші вдосконалення, реалізовані для запобігання подібним інцидентам у майбутньому.
11 і 12 травня 2023 року стануть визначними датами в історії Ethereum, оскільки в ці два дні стійкість Ethereum пройшла серйозне випробування. 11 травня, приблизно о 20:;19 UTC, мережа основної мережі Ethereum зазнала значного уповільнення швидкості створення блоків, що призвело до затримки завершення на чотири епохи — вперше для Ethereum. Наступного дня сталася подібна подія, цього разу подовживши затримку до дев’яти епох і спричинивши штраф за бездіяльність.
Під час цих подій спостерігалося значне падіння залученості мережі. Перший збій стався в епоху 200,;551, що призвело до тимчасової зупинки фіналізації до епохи 200,;555. Друге падіння участі відбулося в епоху 200,;750, що спричинило призупинення фіналізації до епохи 200,;759.
Незважаючи на початкові занепокоєння, мережа Ethereum продемонструвала свою притаманну стійкість, відновившись самостійно. Ці події не тільки підтвердили стійкість Ethereum Beacon Chain, але й висвітлили потенційні області для вдосконалення.
У нефінальному стані мережа Ethereum розгортає ключовий механізм під назвою «витік неактивності». Ця функція заснована на протоколі PoS Ethereum 2.0 і розроблена для підтримки функціональності мережі під час серйозних збоїв, таких як події, такі як Третя світова війна або масштабні стихійні лиха, які можуть призвести до відключення великої кількості валідаторів, тим самим запобігаючи фіналізації блоку.
Режим витоку бездіяльності запускається, якщо мережа не може завершити блок протягом чотирьох послідовних епох (приблизно 16 хвилин). У цьому режимі валідатори, які не засвідчують блоки, почнуть втрачати частину свого ефіру (ETH). Цей штраф зростає квадратично з часом, доки блокування не буде завершено та відновлено.
Ця модель має подвійний відлякуючий ефект. По-перше, він видаляє винагороди за докази валідатора. По-друге, він накладає додаткові штрафи на валідаторів, які не беруть участь, пропорційно часу їхньої бездіяльності. Цей механізм стимулює валідаторів підтримувати активну участь і прискорює відновлення мережі. Це наріжна функція для підтримки цілісності мережі під час великих збоїв.
Відповідно до оцінки, наданої Беном Еджінгтоном, припускаючи, що 65% валідаторів були в автономному режимі під час витоку 8 епохи, витік бездіяльності призвів до знищення приблизно 28 ETH. Це дорівнює втраті ~0,0006 ETH на офлайн-валідатор.
Крім того, під час збою винагороди за докази були зменшені до нуля, що призвело до додаткових втрат у розмірі ~50 ETH, які могли бути випущені іншими способами. Загалом орієнтовна загальна сума збитків для валідаторів, включаючи штрафи за бездіяльність і винагороди за докази втрати, становить приблизно 78 ETH.
Натомість кінцеві користувачі постраждали мінімально. Незважаючи на те, що скорочення доступного блокового простору призвело до зменшення потужності обробки транзакцій, ціни на газ не зазнали різкого підвищення та все ще нижчі за свої внутрішньоденні піки. Більше того, мережа залишається активною протягом цих подій.
Це означає, що Ethereum продовжує обробляти транзакції без серйозних збоїв, демонструючи свою стійкість. У результаті користувачі можуть підтримувати роботу в мережі Ethereum майже безперешкодно, навіть перед обличчям викликів, що підкреслює надійну стійкість системи.
В основі проблеми Prysm лежить відсутність механізму кешування для відтворення блоків. Ця відсутність посилює навантаження на систему, породжує забагато процедур go та збільшує навантаження на ЦП. У деяких випадках нове відтворення починалося до завершення попереднього, що ще більше навантажувало систему.
Ще одним фактором, який загострив проблему, було неправильне поводження Prysm із доказами попередніх епох — даних, які слід було ігнорувати, не було. Ця неефективність у поєднанні з неоптимальним використанням головного стану чинить тиск на систему, особливо внаслідок різкого зростання депозитів і зростання кількості реєстрацій валідаторів.
Ці події також виявили ключові відмінності між стратегіями, які використовують різні клієнти Ethereum. Коли виникає проблема виконання клієнтів, Lighthouse вирішує відкинути докази, щоб зберегти мережу, тоді як Prysm і Teku тощо за замовчуванням використовують старі докази для створення блоків.
Незважаючи на труднощі, ці події мають вирішальне значення для надання розуміння неефективності програмного забезпечення, вибору дизайну та умов мережі, що робить мережу Ethereum сильнішою. Ця послідовність подій не призвела до жодних постійних пошкоджень, а натомість підвищила стійкість і різноманітність дизайну мережі Ethereum.
Під час цих подій стійкість Ethereum Beacon Chain була справді перевірена, і вона показала себе надзвичайно добре. Ланцюжок Ethereum Beacon Chain, здається, живий і відновлюється.
Ключовим фактором успішного відновлення є різноманітність клієнтів у мережі Ethereum. Наявність кількох клієнтів, кожен з яких має унікальний спосіб роботи з мережею, виявилася перевагою. Наприклад, у той час як клієнти Prysm і Teku страждали від навантаження старих доказів, політика Lighthouse щодо відкидання доказів гарантувала, що частина мережі залишалася активною та працездатною.
По суті, стійкість Ethereum походить від різноманітності його клієнтів, фактора, який відіграє ключову роль у допомозі мережі відновити себе, усуваючи будь-яке втручання людини.
Події 11 і 12 травня 2023 року є ключовими моментами в еволюції Ethereum. Вони надають відчутні докази життєздатності Beacon Chain навіть за складних обставин. Оскільки Ethereum продовжує розвиватися, він спирається на цей досвід, щоб стати не тільки більш надійним, але й більш стійким до крихкості — готовим продовжувати свій шлях до децентралізації та далі.