BTC 77845.2$
ETH 1858.49$
Tether (USDT) 1$
Toncoin (TON) 2.48$
telegram vk
telegram vk Х
Russian English
"

Неизвестный злоумышленник атаковал обновление Pectra в тестовой сети Ethereum Sepolia

Дата публикации:10.03.2025, 16:04
121
121
Поделись с друзьями!

Неизвестный злоумышленник вынудил разработчиков Ethereum выпустить «частное исправление», поскольку сеть столкнулась с техническими проблемами во время обновления Pectra в тестовой сети Sepolia.

В отчёте о происшествии, составленном после инцидента, разработчик Ethereum Мариус ван дер Вейден рассказал, что злоумышленник воспользовался упущенным из виду «крайним случаем», неоднократно вызывая ошибки путём отправки нулевых токенов на депозитный контракт, что ещё больше усложнило и без того проблемное развёртывание.

Что случилось?

5 марта обновление Pectra было запущено на Sepolia, но почти сразу же разработчики начали получать сообщения об ошибках на своих узлах geth, а также увеличилось количество добываемых пустых блоков.

По словам ван дер Вейдена, проблема возникла из-за того, что контракт на депозит вызвал неожиданное событие — событие перевода вместо необходимого события депозита, — из-за чего узлы отклоняли транзакции и создавали только пустые блоки.

Ошибка была связана с EIP-6110, который требовал единообразной обработки всех журналов из депозитного контракта.

Команда geth выпустила исправление, которое «игнорирует все ошибочные записи, поступающие из депозитного контракта», но, как сообщается, разработчики упустили из виду конкретный пограничный случай в стандарте ERC-20.

«Стандарт ERC20 не запрещает передачу 0 токенов, это позволяет любому (даже если у него нет токенов) передать 0 токенов на другой адрес, что приведёт к возникновению события», — объяснил ван дер Вейден, добавив, что «злоумышленник» воспользовался этим, неоднократно отправляя переводы с нулевым количеством токенов на депозитный контракт.

Это вызвало ту же ошибку и заставило сеть продолжить майнинг пустых блоков.

Вам также может понравиться: обновление Pectra от Ethereum на Sepolia вызывает проблемы

Изначально разработчики подозревали, что доверенный валидатор допустил ошибку, но в ходе расследования выяснилось, что проблема связана с недавно пополненным аккаунтом с общедоступного крана.

Чтобы остановить атаку, разработчикам нужно было отфильтровать транзакции, взаимодействующие с депозитным контрактом. Однако они подозревали, что злоумышленник следит за их чатами, и это побудило их внедрить «частное исправление» для выбора узлов DevOps, контролирующих около 10% сети.

Как только исправление было внедрено, узлы возобновили создание полных блоков, что позволило сети нормально функционировать к 14:00 UTC. Через несколько блоков транзакция злоумышленника была успешно добыта, что подтвердило, что все операторы узлов обновились.

Несмотря на сбои, Ethereum «никогда не терял возможности финализации», и проблема была ограничена Sepolia, поскольку её контракт на депозит с использованием токенов отличался от контракта на депозит в основной сети Ethereum, по словам ван дер Вейдена.

Тем не менее разработчики решили отложить обновление Pectra для дальнейшего тестирования и отладки.

Что такое обновление Pectra для Ethereum?

Форк Pectra предназначен для улучшения стейкинга ETH, повышения масштабируемости второго уровня и увеличения пропускной способности сети. Он включает 11 предложений по улучшению Ethereum (EIP) и является первым крупным обновлением после Dencun, который был запущен в марте 2024 года.

Как ранее сообщал crypto.news, разработчики планировали запустить Pectra в основной сети к 8 апреля при условии, что тестовые сети Holesky и Sepolia успешно завершат обновление.

Обновление было впервые реализовано в тестовой сети Holesky 24 февраля, где также возникли технические проблемы, которые помешали завершить работу.

Подписывайся на наш Telegram канал. Не трать время на мониторинг новостей. Только срочные и важные новости

https://t.me/block_chain24