В сети Ethereum была обнаружена ошибка сразу после хардфорка Berlin
Сегодня в сети Ethereum состоялся плановый хардфорк Berlin на блоке 12 244 000. Вскоре после этого были зафиксированы сбои в синхронизации нод с версией программного обеспечения OpenEthereum.
Сегодня в сети Ethereum состоялся плановый хардфорк Berlin на блоке 12 244 000. Отныне действуют новые алгоритмы расчета цены газа (EIP-2565 и EIP-2929) и новые типы транзакций (EIP-2930 и EIP-2718).
Вскоре после этого были зафиксированы сбои в синхронизации нод с версией программного обеспечения OpenEthereum. Как позднее отметили в Etherscan, на блоке #12 244 294 случился баг с консенсусом, затронувший исключительно ноды OpenEthereum.
Отметим, что наиболее популярным клиентом на текущий момент является Geth с 82,6% всех нод. В свою очередь, OpenEthereum чаще всего используют аналитические ресурсы по типу Etherscan и Coin Metrics.
Уязвимость была связана определенным типом транзакции после хардфорка. Клиенты Open Ethereum рассчитывали цену транзакций иначе, чем остальные ноды сети, в результате чего целый блок был признан ими недействительным.
Позднее ошибка была обнаружена и исправлена — разработчики подчеркнули, что такой баг оказался настолько незаметным, что с ним даже не сталкивались в рамках тестирования сети Ropsten.
We are pleased to release v3.2.3 which includes a fix for the Berlin Upgrade consensus error. https://t.co/h5B1bzrGA5
— OpenEthereum (@OpenEthereumOrg) April 15, 2021
Комментарии: