ПОДЕЛИТЬСЯ

Запуск обновления Constantinople в сети Ethereum снова под вопросом. Разработчики обнаружили очередной баг, затрагивающий ограниченное число смарт-контрактов, которые могут использовать функцию самоуничтожения после апгрейда. Новость сообщает Trustnodes.

Джейсон Карвер, разработчик из Ethereum Foundation (EF), говорит, что новая функция под названием Create2 может позволить технически подкованному пользователю заменить самоуничтожающийся контракт и, таким образом, изменить указанные в нем правила.

«Можно создать довольно безобидный контракт до Constantinople, который имеет два возможных сценария: {‘контракт существует’: ‘обменять токены’, ‘контракт самоуничтожается’: ‘израсходовать определённый объём газа’}. После Constantinople сценарии могут быть следующими: {‘контракт существует’: ‘обменять токены’, ‘контракт самоуничтожается’: ‘израсходовать определённый объём газа’, ‘заменить контракт’: ‘все предварительно одобренные для контракта ERC20-токены украдены’}», — отмечает Карвер.

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

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

В Twitter он даже запустил голосование на тему: смогут ли смарт-контракты неожиданно изменять код после обновления.

На данный момент голосование закрыто с результатом: 76% — против, 24% — за. То есть большинство участников опроса, по-видимому опытных разработчиков, считает, что смарт-контракты не смогут неожиданно изменять код после обновления.

Сейчас разработчикаv предстоит разработать оптимальную стратегию в довольно сжатые сроки, так как обновление назначено на 28 февраля. Будет ли это внедрение дополнительной защиты от повторного воспроизведения в функцию Create2 или другое решение — пока неизвестно. Также остается под вопросом, успеют ли вообще разработчики решить проблему к озвученной дате.

Пользователи решили воспользоваться этой спорной ситуацией и запустили на платформе предсказаний Augur пари: «Состоится ли форк Ethereum Constantinople к 28 февраля 2019 года?».

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here

8 + 19 =