Из-за использования неизвестным ошибки масштабное обновление Ethereum отложили из-за использования неизвестным ошибки
Блокчейн-сеть Ethereum столкнулась с техническими проблемами во время крупного обновления Pectra, которое было развернуто в тестовой сети Sepolia 5 марта 2025 года. Неизвестный злоумышленник обнаружил уязвимость, которая заставила разработчиков внести «частное исправление», чтобы стабилизировать работу сети.
Почти после запуска начались ошибки в geth-узлахЭто ноды в сети Ethereum, которые работают на одном из самых популярных клиентов Geth (Go Ethereum). Geth позволяет запускать полноценный узел Ethereum, синхронизироваться с сетью, выполнять смартконтракты и взаимодействовать с блокчейном.]. Также возросло количество пустых блоков, которые добывали майнеры.
По словам одного из разработчиков Ethereum Мариуса ван дер Вейдена, проблема заключалась в том, что контракт депозита отправлял непредсказуемое событие — перевод вместо депозита. Это заставляло узлы отклонять транзакции и генерировать только пустые блоки. Эта ошибка была связана с EIP-6110 (Ethereum Improvement Proposal 6110, упрощающее депозиты валидаторов Ethereum), который требовал унифицированной обработки всех логов контракта депозита. Команда geth выпустила исправление, которое игнорировало все ложные логи, но разработчики пропустили особый случай, который касался стандарта ERC-20. Он не запрещает переводы нулевого количества токенов, что позволяет любому (даже без наличия токенов) отправлять такие транзакции. Неизвестный злоумышленник воспользовался этим, чтобы многократно отправлять нулевые переводы на контракт депозита, что вызвало повторяющиеся ошибки и привело к добыче пустых блоков.
Добыча пустых блоков снижает эффективность сети, поскольку они не содержат полезных транзакций, а только заголовок и служебную информацию. Но сеть тратит ресурсы на их обработку без фактического прогресса в выполнении транзакций. Пустые блоки также увеличивают задержку их подтверждения. А майнеры и валидаторы теряют комиссионные сборы.
Разработчики обнаружили, что виновником стал новосозданный аккаунт, пополненный через публичный кран. Чтобы остановить атаку, они развернули «частное исправление» для выбранных DevOps-узлов, которые контролировали около 10% сети.
После внедрения исправления узлы возобновили производство нормальных заполненных блоков, и цепочка начала нормально функционировать. Проблема затронула только тестовую сеть Sepolia.
Из-за обнаруженной уязвимости обновление Pectra отсрочили, чтобы продолжить дальнейшее тестирование и устранение возможных уязвимостей.
Pectra должна улучшить стейкинг ETH, масштабируемость проектов второго уровня и общую пропускную способность сети. Обновление включает 11 предложений по улучшению сети Ethereum (EIP) и является первым крупным обновлением после Dencun, которое запущено в марте 2024 года.
Изначально разработчики планировали развернуть Pectra в главной сети Ethereum 8 апреля, при условии успешного обновления тестовых сетей Holesky и Sepolia. Однако первый запуск Holesky 24 февраля тоже прошел с техническими проблемами.
Источник: Marius van der Wijden
