Как в сообществе комментируют «неанонсированный хардфорк» эфириума

Сначала стало известно о проблемах с Infura, серверами под управлением компании ConsenSys, которые обеспечивают синхронизацию большинства приложений децентрализованных финансов (DeFi) в сети эфириума.

Из-за Infura перебои наблюдались в таких популярных эфириум-приложениях, как Metamask, MakerDAO, Uniswap, Compound и MyCrypto. Вскоре после этого биржа Binance приостановила операции в сети эфириума, заметив конфликтующие транзакции в своей ноде. Другие биржи также приостановили операции, после чего стала очевидной реальная проблема: ошибка в клиенте Geth, код которого лежит в основе 80% эфириум-приложений, разделила блокчейн эфириума на две части.

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

Infura, как и другие провайдеры, устранила проблему, обновив свои ноды. Провайдеры использовали старую версию Geth с ошибкой, которую разработчики эфириума молча исправили в недавнем обновлении. Это обновление, среди прочих, проигнорировали Infura и Blockchair.

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

Разработчик эфириума Петер Силадьи в своем посте об инциденте написал, что форк «был (намеренно) запущен в сети эфириума».

Когда произошел форк, он создал две версии реестра транзакций эфириума: одну с транзакциями от обновленных клиентов Geth, а другую ― с транзакциями от старых клиентов Geth (например, Infura).

«Исправление было развернуто несколько месяцев назад, и только сегодня произошла транзакция, которая вызвала этот раскол», ― сказал в комментарии для Coindesk Никита Жаворонков, ведущий разработчик блокчейн-обозревателя Blockchair.

Подумав, что обновление было «незначительным изменением кода», в Blockchair не стали проводить обновление.

«Команда Geth действительно изменила реализацию консенсуса в релизе v1.9.17, однако команда не создавала никаких новых правил, о которых сообщество эфириума не знало или с которыми не соглашалось», ― пишет Силадьи в своем посте, говоря, что эти правила были заложены три года назад в предложении по улучшению эфириума.

«Если вы не считаете случайное введение ошибки “обновлением консенсуса”, вам также не следует рассматривать исправление указанной ошибки через несколько месяцев в “обновлением консенсуса”», ― утверждает он.

Разработчик Geth и эксперт по безопасности эфириума Мартин Свенде сказал, что этот инцидент стал напоминанием о необходимости регулярно обновлять свои ноды. По его словам, разработчики не объявляли о большом изменении, чтобы не привлекать внимание к ошибке.

Тем не менее, провайдеры эфириум-сервисов задаются вопросом, почему об ошибке не сообщили в частном порядке командам, которые разрабатывают на Geth.

«Каждый крупный проект, с которым команда разработчиков тесно сотрудничает, должен иметь контакт по вопросам безопасности, который может координировать плавное обновление. Мы должны работать вместе», ― сказал в комментарии для основатель Thesis Мэтт Луонго.

Жаворонков сказал, что ошибка не была злонамеренной, но «если [разработчики Geth] знали, что такое может случиться, то они должны были подготовить руководство для операторов нод». Луонго сказал, что команда Geth ― «хорошие разработчики», но им не хватает «опыта работы с инфраструктурой» и финансирования.

«Это своего рода серая зона и она требует отдельного обсуждения», ― заключает Силадьи в своем посте. «Мы все согласны с тем, что прозрачность ― это главное и что мы должны стремиться к ней, но в этом вопросе также важно внимательно изучить все детали».

«В случае с эфириумом требуется много времени (недели, месяцы), чтобы заставить операторов нод обновиться даже до запланированного хардфорка», ― добавил он.

По словам Силадьи, даже несмотря на то, что обновление «приняло неожиданный оборот», команда Geth по-прежнему считает, что держать эту проблему в секрете «было правильным решением».

«Я считаю, что самым важным здесь является то, что люди прозрачны в своих рассуждениях и признают любые ошибки», ― сказал Луонго. «Monero хорошо справлялась с ошибками в прошлом, так же как и биткоин и Zcash. Можно привести множество примеров, и, хотя всегда сложно координировать деятельность в индустрии, отказ от какой-либо координации чрезвычайно опасен. Я надеюсь, что этот форк приведет к более тесным отношениям и переосмыслению того, как проекты на эфириуме взаимодействуют с разработчиками клиентов».

Источник: CoinSpot.io



Самые актуальные новости - в Telegram-канале

Читайте также

Вверх