Разработчики Ethereum Foundation обнаружили проблему при тестировании кода хардфорка Constantinople. Она затрагивает контракты с возможностью самоуничтожения.
Баг заключается в следующем: функция Create2 способна заменить самоуничтожившийся смарт-контракт и одновременно изменить правила, которые в нем указаны. Это может привести к потере средств.
Разработчик Ethereum Foundation Джейсон Карвер отметил:
Функция самоуничтожения не несет дополнительных рисков в текущей версии протокола, но после обновления код может быть использован для кражи всех выделенных токенов смарт-контракта.
Карвер посоветовал пользователям изучить коды смарт-контрактов, чтобы понять, есть ли в них функция самоуничтожения без определенного периода неактивности. Если такая функция найдена, взаимодействовать со смарт-контрактом не стоит.
Эксперты отмечают, что проблема с Create2 вряд ли повлияет на дату хардфорка Constantinople, который состоится ориентировочно 27 февраля (точный момент зависит от времени добычи блока). Но разработчики, скорее всего, включат в код функции дополнительную защиту от повторного воспроизведения.