Блокчейн Ethereum разделился на две конкурирующих цепи. Об этом в 17:17 по Москве объявил один из ведущих разработчиков криптовалюты Мартин Холст Свенде.
A consensus bug hit #ethereum mainnet today, exploiting the consensus-bug that was fixed in geth v1.10.8. Fortunately, most miners were already updated, and the correct chain is also the longest (canon)
PSA: Update to v1.10.8!
— M H (((Swende))) (@mhswende) August 27, 2021
По его словам, причиной разделения стала эксплуатация бага, о котором было объявлено ранее. Во вторник разработчики самого популярного Ethereum-клиента Geth, используемого 75% нод сети, выпустили срочный фикс и призвали всех операторов к скорейшему переходу на актуальную версию ПО. Разработчики не стали раскрывать детали уязвимости, чтобы дать возможность обновиться всем пользователям, однако хакер, зная о наличии проблемы, смог обнаружить ее. На это, в частности, указывает сообщение Свенде:
В ноябре 2020 года в Geth тоже был исправлен серьезный баг, но тогда разработчики не стали акцентировать на нем внимание, чтобы не привлекать потенциальных злоумышленников. В результате многие операторы нод проигнорировали обновление, что впоследствии привело к масштабному сбою в работе сети Ethereum. Разработчиков тогда обвинили в том, что сбой стал результатом их действий, поскольку они не подчеркнули критичность обновления.
Свенде также отмечает, что в последнем случае большинство майнеров использовало актуальную версию ПО, а «правильная» цепь оказалась длиннейшей, то есть пользователи по правилам консенсуса должны были продолжить следовать за ней.
Тем не менее, данные Ethernodes свидетельствуют о том, что на момент сегодняшнего сбоя 73% нод Geth использовало старое ПО. Другими словами, уязвимость по-прежнему затрагивает свыше половины всех существующих нод Ethereum. До стабилизации ситуации пользователям не рекомендуют совершать никаких транзакций, причем проблема затрагивает все сети, совместимые с виртуальной машиной Ethereum (EVM).
UPD: Операторы нод Binance Smart Chain тоже сообщают о проблемах с синхронизацией. Это может быть свидетельством того, что баг уже был запущен в еще одной сети.
Основатель yearn.finance Андре Кронье поясняет, что сейчас допустимо осуществлять транзакции только в том случае, если пользователь уверен, что он находится в цепи, поддерживаемой последней версией Geth.
Также проблема наблюдается в старых версиях клиента Erigon (ранее Turbo-Geth).
Разработчик Тим Бейко назвал три майнинг-пула Ethereum, которые продолжили добавлять блоки в неправильную цепь. Это Flexpool.io, BTC.com и Binance Pool.
Update on this: 3 pools seem to be have been mining on the wrong Geth version: @flexpool_io (who reported the issue 🙏), @btccom_official and @binance.
We are getting in touch with the two latter ones. https://t.co/Sfq8YJywF7
— Tim Beiko | timbeiko.eth (@TimBeiko) August 27, 2021
Аналитик Игорь Игамбердиев подтвердил факт использования бага в сети Binance Smart Chain и выразил уверенность в том, что в сети Polygon он не применялся.
And this is BSC exploit txhttps://t.co/dlcw6VYbsR pic.twitter.com/WlUCrqkEIv
— Igor Igamberdiev (@FrankResearcher) August 27, 2021