В пятницу произошло разделение сети ethereum по причине ошибки консенсуса в основной сети.
Ошибка была очень похожа на баг, который привёл к раздвоению сети в ноябре прошлого года, – написал Кельвин Фихтер.
Произошедшее стало результатом уязвимости, связанной со старой ошибкой консенсуса, которая была исправлена в клиенте Geth v1.10.8. Учитывая, что на клиентов Geth приходится 74,6% всех Ethereum-нод, это серьёзное происшествие.
Ethereum разделился как минимум на 2 версии, и только треть нод Geth находится в «правильной» сети», – сказал менеджер по продукту CoinMetrics Лукас Нуцци. – За последние несколько часов сложность нахождения блока упала на 10%.
Чуть позже разработчик Ethereum М.Х. Свенде заявил, что эксперимент по публичному объявлению об атаке и последующее обновление до версии 1.10.8 прошли успешно, так как большинство майнеров обновились заблаговременно, в результате чего подлинная цепочка стала длиннее «неверной».
Но это была действительно опасная ситуация, – сказал он.
Эта рассинхронизация означает, что пострадавшие ноды Geth больше не согласуются с остальной системой Ethereum. Одна и та же транзакция, выполненная на двух разных нодах, произвела два разных состояния. И тут сеть разделилась!
This discrepancy means that these impacted Geth nodes no longer agree with the rest of the system about what Ethereum really looks like. The same transaction executed on two different nodes produced two different states. And boom, you have a chain split!
— God-like Natural Number Creator Person (TM, R) (@kelvinfichter) August 27, 2021
Согласно пресс-релизу, этот баг был обнаружен в ходе аудита Telos EVM и признан «проблемой высокой степени серьёзности». Основные разработчики Ethereum были проинформированы о баге, 24 августа они выпустили патч для его исправления.
Уязвимы все версии Geth, поддерживающие хардфорк «Лондон» (баг старше этого хардфорка), поэтому все пользователи должны обновиться, – заявили разработчики при выпуске патча.
Тем временем основной разработчик Ethereum Тим Бейко отметил, что три пула для майнинга Flexpool, BTC.com и Binance осуществляли майнинг на неправильной версии geth, и их попросили обновиться до последней версии.
Через несколько минут атаке подвергся Binance Smart Chain (BSC), с тех пор все валидаторы BSC были обновлены до версии 1.1.2, а клиентам geth предложили загрузить новое исправление, чтобы избежать DoS-атаки.
BSC в хорошем состоянии, – заявила команда рано утром в субботу.
Теперь, когда эта уязвимость обкатана, её можно воспроизвести в других сетях – Polygon, BSC, xDAI, Görli. Будьте осторожны, старайтесь не совершать каких-либо экономически значимых транзакций до того, как всё будет улажено.
Now that exploit is in the wild, it can be replayed on other networks like Polygon, BSC, xDAI, Görli. Be careful, try not to do any economically significant transactions before things are cleared out.
— banteg (@bantg) August 27, 2021
Разработчики популярного Ethereum-кошелька metamask заявили, что пользователи, подключённые к Infura, не пострадали от бага сети Ethereum.
Команда Infura, комплекта для блокчейн-разработчиков от consensys, также разъяснила своим пользователям, что уязвимость системы безопасности, которая была использована в основной сети Ethereum и затронула версии Geth старше 1.10.8, не повлияла на них.
Infura не подвержена этой уязвимости. Наша инфраструктура была обновлена в момент выпуска исправления 24 августа, – отмечается в сообщении.
После атаки на Ethereum, когда люди перестали пользоваться сетью, на какое-то время количество транзакций в сети упало.
Ethereum tx per second dropping like a rock as the network fights a split pic.twitter.com/TUKhufxFxb
— Will Foxley ? (@wsfoxley) August 27, 2021
Разветвление нового и старого клиента geth в майннет. Воздержитесь от выполнения транзакций какое-то время до разъяснения ситуации, если вы не уверены, что делаете перевод на новый geth, – посоветовал создатель Yearn Finance Андре Кронье после инцидента.
Тем не менее, инцидент не повлиял на цену Ethereum, и в настоящее время валюта торгуется на отметке около $3202, что примерно на 25,7% ниже исторического максимума, показанного в середине мая.