Виникла помилка обчислення кореня Prysm, що спричинило збої у ланцюжку основної мережі Ethereum

robot
Генерація анотацій у процесі

За повідомленням PANews, команда Prysm опублікувала детальний аналіз технічних збоїв, що сталися під час роботи основної мережі 14 грудня. Основною причиною інциденту стало те, що вузол Beacon отримав підтвердження від вузла, який не був синхронізований із мережею, що спричинило несподівану помилку під час обчислення кореня. Це перевищило просту помилку клієнта і мало широкий вплив на всю мережу.

Отримання підтвердження від несинхронізованого вузла, запуск реакції ланцюга на обчислення кореня

Проблема виникла через те, що вузол Prysm Beacon отримав підтвердження, яке посилалося несинхронізованим вузлом, що посилався на блоки попереднього епоху. Щоб перевірити це, Prysm намагався реконструювати стан Beacon у відповідності з ланцюгом, який сприймав несинхронізований вузол, але цей процес реконструкції обчислення кореня виявився надмірно ресурсомістким.

Через це блоки попереднього епоху були оброблені дублюючися, а операції переходу між епохами, включаючи обчислення кореня, створили надмірне навантаження. Насправді ця вразливість вже була включена у Prysm PR 15965 і була розгорнута на тестовій мережі за місяць до інциденту, але тоді проблема не була виявлена.

Перевантаження обчислення кореня, швидке виснаження ресурсів, неможливість відповіді валідаторів

4 грудня під час сесії після запуску Ethereum Mainnet у режимі Forsaка, майже всі вузли Prysm одночасно стикнулися з затримками у процесі обчислення кореня. При обробці певних доказових даних ресурси швидко виснажувалися, і вузли не могли своєчасно реагувати на запити валідаторів.

Через цей дефіцит ресурсів почалися ланцюгові втрати блоків і доказів. З 411439 по 411480 епоху, що охоплює 42 епохи, інцидент тривав, і 248 блоків із 1344 пропущено, що становить близько 18,5% критичного рівня пропусків.

Різке падіння участі у мережі до 75%, втрата валідаторами 382 ETH

Наслідки цієї ситуації виходили за межі простої втрати блоків і поставили під загрозу стабільність всієї мережі. Рівень участі у мережі впав до 75%, що свідчить про несправність механізму консенсусу Ethereum.

Валідатори втратили приблизно 382 ETH через втрату блоків і доказів. Це не лише економічна шкода окремих валідаторів через проблеми мережі, а й потенційне зниження довіри до всієї мережі.

Уроки з помилки обчислення кореня, перегляд стійкості мережі

Цікаво, що Віталік Бутерін раніше зазначав, що випадкові “втрати визначеності рішення” у Ethereum не становлять серйозної загрози. Однак цей інцидент з обчисленням кореня Prysm ще раз підкреслив, наскільки вплив може мати помилка одного клієнта на всю мережу. У майбутньому важливим стане різноманіття клієнтів і міцність таких ключових операцій, як обчислення кореня.

ETH0,82%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити