Запланированное на 17 января обновление Ethereum Constantinople экстренно отложено

6 лет назад

Найденная специалистами занимающейся аудитом смарт-контрактов компании ChainSecurity уязвимость в Ethereum Improvement Proposal (EIP) 1283, позволяющая повторно выводить средства при вызове другого смарт-контракта, стала причиной очередной задержки дальнейшего развития всей платформы Ethereum.

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

Классифицированная в терминах «атаки повторного входа» проблема описана следующим образом:

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

Это перекликается с историей The DAO, случившейся летом 2016, когда были использованы похожие уязвимости.

В результате, по итогам видеоконференции с участием ключевых представителей Ethereum — Хадсона Джеймсона, Эвана ван Несса, Ника Джонсона и Виталика Бутерина, в связи с невозможностью устранения проблемы до объявленного ранее срока имплементации Constantinople (17.01.2019 04:00 UTC), разработчики приняли решение отложить запуск обновления. Новые данные об ожидаемом времени апдейта обещают сообщить в пятницу.

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

Ранее разработчики Ethereum заявляли о «сдержанном оптимизме» по поводу имплементации предстоящего обновления.

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

Ethereum (ETH) впервые обогнал Bitcoin Cash (BCH) по стоимости за монету

Команда Ethereum назвала дату активации обновления Constantinople