На клієнті Prysm для Ethereum сталася аварія в основній мережі, через вичерпання ресурсів відбулося масове пропущення блоків і атестацій.
ChainCatcher повідомляє, що команда Prysm опублікувала звіт про аналіз інциденту на основній мережі, в якому зазначено, що 4 грудня під час періоду Fusaka в основній мережі Ethereum майже всі вузли маяка Prysm зіткнулися з вичерпанням ресурсів при обробці певних attestations, що призвело до неможливості своєчасно відповідати на запити валідаторів і спричинило масову відсутність блоків та свідчень.
Інцидент охопив періоди з epoch 411439 по 411480, всього 42 epoch, у 1344 слотах було відсутньо 248 блоків, що становить близько 18,5% від загальної кількості; рівень участі мережі тимчасово впав до 75%, а валідатори втратили близько 382 ETH винагороди за свідчення. Корінь проблеми полягав у тому, що Prysm отримував attestations від вузлів, які, ймовірно, були не синхронізовані з основною мережею, і ці attestations посилалися на корінь блоку попереднього epoch.
Для перевірки їхньої легітимності Prysm неодноразово відтворював стан попереднього epoch і виконував ресурсоємний перехід epoch, що призводило до вичерпання ресурсів вузлів при високому навантаженні. Відповідний дефект виник у Prysm PR 15965, який був розгорнутий на тестовій мережі ще місяць тому, але не викликав аналогічної ситуації.
Офіційне тимчасове рішення — активувати параметр --disable-last-epoch-target у версії v7.0; у наступних версіях v7.1 та v7.1.0 вже реалізовано довгострокове виправлення, яке використовує head state для перевірки attestations, уникаючи повторного відтворення історичних станів.
Prysm зазначає, що проблема поступово зменшувалася після 4:45 UTC 4 грудня, і до epoch 411480 рівень участі мережі відновився до понад 95%.
Команда Prysm підкреслила, що цей інцидент демонструє важливість різноманітності клієнтів: якщо частка одного клієнта перевищує одну третину, це може призвести до тимчасової неможливості досягнення фіналізації; якщо ж перевищує дві третини — існує ризик появи невалідного фіналізованого ланцюга. Також команда визнала недоліки у комунікації щодо функціональних перемикачів і в тому, що тестове середовище не змогло змоделювати масову десинхронізацію вузлів, і пообіцяла вдосконалити стратегії тестування та управління конфігураціями.
Відмова від відповідальності: зміст цієї статті відображає виключно думку автора і не представляє платформу в будь-якій якості. Ця стаття не повинна бути орієнтиром під час прийняття інвестиційних рішень.
Вас також може зацікавити

