Долгожданное обновление эфириума Constantinople отложено после того, как разработчики обнаружили критическую уязвимость кода одного из запланированных изменений.
15 января компания ChainSecurity сообщила, что протокол EIP-1283, который был предложен для улучшения способов монетизации изменений для хранящихся данных, может предоставить лазейку для злоумышленников и привести к краже средств пользователей. Учитывая это, разработчики эфириума и связанных проектов решили временно отложить хардфорк с тем, чтобы правильно оценить проблему и решить её.
Среди участников совещания были создатель эфириума Виталик Бутерин, разработчики Хадсон Джеймсон, Ник Джонсон и Эван Ван Несс, а также менеджер по выпуску продуктов компании Parity Афри Шёдон. Новая дата хардфорка будет определена во время очередного совещания разработчиков в пятницу.
Разработчики проекта пока пришли к выводу, что исправление ошибки займет слишком много времени, в то время как хардфорк, как ожидалось, должен был произойти около 04:00 по всемирному времени 17 января.
Как сообщается, уязвимость позволила бы злоумышленнику «повторно входить» в одну и ту же функцию несколько раз, никак не обнаруживая себя перед пользователем. По словам технического директора аналитической компании Amberdata Джонаса Эспанола, злоумышленник, по сути, мог бы «выводить деньги навсегда».
Он объяснил:
«Представьте, что в моём смарт-контракте есть функция, которая позволяет вызвать другой смарт-контракт. Если я хакер, то я на некоторое время мог бы активировать на нём другие функции, пока не выполнились предыдущие, и снять денежные средства».
Кажется, это очень похоже на одну из уязвимостей, которая была использована в атаке на DAO в 2016 году.
Ранее предполагалось, что Constantinople будет активирован в 2018 году, однако он был отложен из-за проблем, выявленных при тестировании в сети Ropsten.