Prysm виявила, що помилка, яка виникла в тестовій мережі за місяць до оновлення Fusaka Ethereum, стала причиною проблеми перевірки вузла Ethereum, яка вплинула на її клієнт на початку цього місяця.
Розробник Ethereum Теренс Цао в неділю опублікував посмертний матеріал, у якому докладно описав інцидент з основною мережею Fusaka Prysm, який вплинув на мережу 4 грудня.
Вузли Prysm зазнали «виснаження ресурсів» під час обробки атестацій від несинхронізованих вузлів. Це призвело до того, що Prysm відтворював блоки минулих епох і повторно обчислював дорогі переходи станів, що призвело до значного впливу на продуктивність через надмірне навантаження.
Посмертний аналіз показав, що помилка була присутня в тестових мережах протягом місяця до інциденту, але не була запущена.
«Помилка була представлена в Prysm PR 15965 і розгорнута в тестових мережах за місяць до інциденту без запуску».
Тестові мережі призначені для виявлення помилок, але вони не є надійним методом.
У травні 2023 року — через місяць після хардфорку в Шанхаї — розробники Ethereum прийшли в божевілля, коли мережа тимчасово втратила завершеність транзакцій приблизно на 25 хвилин, потім знову більше ніж на годину наступного дня, перш ніж блокчейн відновився самостійно.
Prysm виправлено
Замість того, щоб використовувати поточний головний стан, Prysm регенерував попередні стани з нуля, створюючи величезне обчислювальне навантаження.
За більш ніж 42 епохи мережа спостерігала 18,5% пропущених слотів із зниженням участі до 75%, тоді як валідатори втратили приблизно 382 ефіру (ETH) у якості винагороди за атестацію.
За темою: Віталік Бутерін каже, що Ethereum може впоратися з тимчасовою втратою остаточності
Операторам вузлів було наказано розгорнути тимчасове рішення, поки розробники працювали над оновленням патча для клієнтів Prysm.
Різноманітність клієнтів врятувала ситуацію
За словами розробників, інцидент міг бути набагато гіршим, якби він вразив домінуючий консенсус-клієнт Ethereum, Lighthouse.
За даними ClientDiversity, Prysm від Offchain Labs є другим за величиною клієнтом Ethereum з часткою 17,6%.
“Різноманітність клієнтів запобігла помітному впливу на користувачів Ethereum. Клієнт із понад 1/3 мережі спричинив би тимчасову втрату остаточності та більше пропущених блоків”.
Однак інцидент підкреслив, що Lighthouse небезпечно близький до порогу у дві третини, де одна помилка клієнта може завершити недійсний ланцюжок.
Наразі частка клієнтів Lighthouse становить 52,6% порівняно з приблизно 56% на момент інциденту.









