28.03.2024

В сети Эфириума случился крупный сбой

Вчера блокчейн Эфириума на некоторое время разделился, причём проблема была вызвана давним багом в коде протокола криптовалюты. Недоразумение уже разрешилось без существенного ущерба майнерам или ETH-инвесторам.

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

В данной статьи речь будет идти о нодах. Это узлы сети, которые хранят данные блокчейна, включая транзакции в нём и прочие мелочи. Ноды отвечают за верификацию транзакций и блоков в соответствии с правилами сети. Чем больше нод, тем безопаснее является сеть криптовалюты.

Многие платформы по типу криптовалютных бирж и сервисов используют ноды от сторонних компаний. Для них это удобно, ведь последние занимаются поддержанием работоспособности узла и его обновлениями. Однако как показали последние события, здесь кроется слабое место.

Что случилось с Эфириумом?

По словам тимлида Ethereum Foundation Петера Силадьи, давним багом не занимались более двух лет. Аспирант в Software Platform Lab Джон Ёнгсок Ян заметил баг и получил 20 тысяч баллов (на сумму 20 тысяч долларов США, обычно выплачиваемых в ETH) за обнаружение двух серьезных уязвимостей. При этом сама ошибка затронула клиент сети под названием Go-Ethereum или Geth. Несколько месяцев назад разработчики криптовалюты представили исправление ошибки, и многие узлы с последней версией клиента были защищены от неё. Однако технические детали бага так и не были раскрыты, чтобы предотвратить его использование злоумышленником.

Что более важно, некоторые узлы сети Эфириума не обновились до последней версии клиента. Infura использовала версию Geth 1.9.9, выпущенную ещё 6 декабря 2019 года. И тут баг дал о себе знать.

Эфириум блокчейн криптовалюта

Петер Силадьи, ведущий разработчик Ethereum Foundation

В 7:10 по UTC блокчейн разделился на более длинную и более короткую цепочки. В некоторой степени это происходит постоянно, и узлы придерживаются более длинной версии. Но в данном случае узлы, которые не обновились, остались в более короткой цепочке. Это означало, что они взаимодействовали с разными блоками и не синхронизировались с другими версиями блокчейна. То есть участники сети считали актуальными и правильными разные цепочки.

Последствия инцидента сказались и на обычных пользователях. В частности, крупнейшая криптовалютная биржа Binance заметила проблему и на некоторое время приостановила вывод ETH с площадки. Обозреватель блокчейна Blockchair начал показывать неправильную информацию с меньших цепей блоков, а MetaMask попросту не работал.

Больше всего неприятностей произошло в круге клиентов Infura. Напомним, платформа запускает ноды Ethereum от имени централизованных и децентрализованных проектов, поэтому в некотором роде она является одной из главных составляющих экосистемы криптовалюты. Многие крупные проекты используют Infura: к ним в том числе относятся кошельки MetaMask и Coinbase Wallet, популярное децентрализованное приложение CryptoKitties и кредитная платформа Compound. Когда у Infura случились проблемы, многие из этих сервисов не смогли взаимодействовать с блокчейном. Ну а пользователи MetaMask не могли провести свои транзакции в ETH.

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

Эфириум блокчейн криптовалюта

Сейчас MetaMask уже работает в привычном режиме

Сразу после всего произошедшего Infura резко раскритиковали за излишнюю централизацию. Однако Силадьи поспешил защитить платформу от негативных комментариев, оставив следующий твит. Его приводит Decrypt.

Эй, интернет. Прекратите тыкать пальцем на Infura за использование старых версий Geth. С точки зрения оператора совершенно разумно не просматривать новейшие версии клиентов.

То есть он считает, что обвинять в происходящем компанию можно, но не слишком активно. Всё же у представителей команды было право использовать подходящую версию клиента — просто в данном случае у этого неожиданно появилось много последствий.

Из произошедшего действительно можно вынести пару важных уроков. Во-первых, в экосистеме Эфириума все-таки есть слабые места. К счастью, вчера все обошлось и события никак не отразились на рыночных настроениях. Во-вторых, при выпуске обновлений Ethereum должно быть больше прозрачности, поскольку в данном случае представители Infura явно не осознавали важность апдейта.

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

Вот что по этому поводу думает Петер Силадьи.

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

Виталик Бутерин

Виталик Бутерин

Мы считаем, что ситуация выдалась интересной. Многие пользователи сети Эфириума не могли с ней взаимодействовать — а это далеко от нормы. И хотя всё закончилось хорошо, владельцы криптовалют явно ощутили ограниченность своих возможностей при работе с монетами.

Очевидно, каждая сторона сделает свои выводы из ситуации. К примеру, Infura и прочие провайдеры будут активнее следить за апдейтами и оценивать их важность, а более продвинутые пользователи установят собственные ноды и не будут от кого-либо зависеть. Так что в данном случае произошедшее сделало сеть разве что сильнее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *