На клиенте Ethereum Prysm произошёл инцидент в основной сети: из-за исчерпания ресурсов массово отсутствуют блоки и свидетельства.
ChainCatcher сообщает, что команда Prysm опубликовала отчет о разборе инцидента на основной сети, согласно которому 4 декабря в период Fusaka на основной сети Ethereum почти все beacon-узлы Prysm столкнулись с исчерпанием ресурсов при обработке определённых attestations, что привело к невозможности своевременно отвечать на запросы валидаторов и вызвало массовую потерю блоков и свидетельств.
Инцидент затронул период с epoch 411439 по 411480, всего 42 epoch, в ходе которых из 1344 slot было пропущено 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 уже реализовано долгосрочное исправление — attestations теперь проверяются с использованием head state, что позволяет избежать повторного воспроизведения исторических состояний.
Prysm отмечает, что после 4 декабря 4:45 UTC проблема постепенно была устранена, и к epoch 411480 уровень участия в сети восстановился до более чем 95%.
Команда Prysm подчеркнула, что этот инцидент продемонстрировал важность клиентского разнообразия: если доля одного клиента превышает одну треть, это может привести к временному отсутствию финализации; если превышает две трети — существует риск финализации недействительной цепи. Также команда признала недостатки в коммуникации по поводу функциональных переключателей и в том, что тестовая среда не смогла смоделировать крупномасштабные несинхронизированные узлы, и пообещала улучшить стратегию тестирования и управление конфигурациями в будущем.
Дисклеймер: содержание этой статьи отражает исключительно мнение автора и не представляет платформу в каком-либо качестве. Данная статья не должна являться ориентиром при принятии инвестиционных решений.
Вам также может понравиться
Анализ: если Банк Японии повысит ставку, bitcoin может откатиться к уровню 70 000 долларов
