За две недели до хардфорка в Constantinople нашли очередную уязвимость

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

Новая функция под названием Create2 может заменить самоуничтожающийся смарт-контракт, изменив тем самым правила, пояснил разработчик из Ethereum Foundation Джейсон Карвер. Это позволит украсть все токены ERC20, предварительно одобренные для контракта.

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

По его мнению, предупредить всех потенциальных жертв до обновления не удастся. Есть способы обойти подобные атаки, но большинство из них требует соответствующего образования. «Определённо, это не получится сделать до Constantinople», – считает он.

В своем твиттере Карвер запустил опрос на тему: «смогут ли смарт-контракты неожиданно изменять свой код после обновления?». На данный момент большинство голосов – 76% – получил ответ: «не смогут».

Trustnodes прокомментировало: вероятно большинство участников опроса высокотехнологические разработчики, однако 76% из них не правы. Добавив, что шанс узнать об «уловке самоуничтожения» не-разработчику минимален.

По словам релиз-менеджера Parity Афри Шедона, уязвимость не должна повлиять на дату хардфорка. Однако на вопрос о том, могут ли самоуничтожающиеся смарт-контракты похищать средства пользователей ответил: «Я бы тоже хотел знать ответ».

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

Напомним, что очередной хардфорк Ethereum должен был состояться 16 января, однако был отложен из-за критической уязвимости. Ранее разработчики объявили новую дату обновления – его активируют на блоке 7 280 000 или 7 290 000, предположительно 27 февраля.