Хардфорк Ethereum отложен из-за обнаруженной критической уязвимости

Hardfork ETH

Запланированный апгрейд сети Ethereum под названием Constantinople был отложен на неопределенное время после обнаруженной критической уязвимости в одном из улучшений, сообщает CoinDesk.

Речь идет об уязвимости в EIP-1283, которая, как выявила компания по аудиту смарт-контрактов ChainSecurity, давала хакерам возможность похитить пользовательские средства.

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

В частности, во встрече приняли участие Виталик Бутерин, разработчики Хадсон Джеймсон, Ник Джонсон и Эван ван Несс, а также релиз-менеджер Parity Афри Шоедон. Обсуждая выявленную уязвимость, они согласились с тем, что устранить ее до назначенного времени хардфорка (около 04:00 UTC 17 января), будет невозможно.

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

«Представьте, что мой контракт имеет функцию вызова другого контракта. Если я хакер и могу запустить эту функцию в то время как предыдущая по-прежнему выполняется, я получаю возможность вывода средств», — объяснил CTO аналитической фирмы CoinDesk Джоанес Эспаньол.

По его словам, это во многом напоминает уязвимости, которые летом 2016 года были обнаружена в The DAO.

Представители ChainSecurity также отметили, что до хардфорка Constantinople операции хранения данных в сети стоили 5000 единиц газа, что превышает 2300 единиц, обычно необходимые для вызова функций «передачи» и «отправки». После апгрейда «грязные» операции хранения будут стоить 200 единиц газа, и атакующий контракт может использовать 2300 единиц газа, чтобы успешно манипулировать переменными уязвимых контрактов.

Новая дата хардфорка пока не определена.

Крупнейшие клиенты сети Ethereum, включая Go-Ethereum (Geth) и Parity, представили новые релизы программного обеспечения после того, как хардфорк Constantinople был перенесен на неопределенное время в связи с выявленной критической уязвимостью в одном из планировавшихся обновлений.

Новые релизы были выпущены с целью предотвращения хардфорка, который должен был состояться на блоке 7,080,000 ориентировочно в ночь на 17 января.

Так, разработчики Geth выпустили аварийный патч (версия 1.8.21), в то время как клиент Parity был обновлен до бета-версии 2.3.0.

Одновременно с этим представители обоих клиентов отметили, что пользователи, которые не хотят обновляться до новой версии, могут откатить существующие клиенты до более старых версий (1.8.19 у Geth или 2.24 у Parity).

Также у пользователей Geth и Parity есть возможность продолжить использование текущих версий при условии коррекции параметров конфигурации.

Источник