Некоторые разработчики эфириума выразили озабоченность в связи с потенциальными уязвимостями безопасности в новом типе смарт-контрактов, который будет интегрирован в исходный код в грядущем обновлении хардфорка Constantinople.
В ответ на это сооснователь эфириума Виталик Бутерин в ходе встречи разработчиков 15 февраля сообщил, что запланированные модицификации программного кода не создадут уязвимостей на блокчейне эфириума.
Согласно заявлениям других разработчиков эфириума, характеристика Skinny CREATE2, которая является частью улучшения (EIP) 1014, потенциально может представлять угрозу безопасности сети. Skinny CREATE2 позволяет пользователям взаимодействовать со смарт-контрактом, который ещё не был выпущен на блокчейне Ethereum. Как объясняют разработчики, Skinny CREATE2 позволяет взаимодействовать с «адресами, ещё не существующими ончейн, но впоследствии способными содержать код».
По словам нескольких разработчиков, этой характеристикой могут воспользоваться злоумышленники, поскольку смарт-контракты можно запрограммировать на изменение адреса после выпуска. Независимый исследователь Ethereum и специалист по кибербезопасности Раджив Гопалакришна заявил, что CREATE2 может негативно сказаться на степени защиты сети Ethereum. По словам Гопалкришны, в известных случаях использование функции CREATE2 может позволить атакующему заменить невинный смарт-контракт вредоносным. Ранее в этом месяце Гопалкришна задал следующие вопросы:
«Разве CREATE2 не изменяет основную постоянную величину, принятую сегодня пользователями, и не представляет потенциально опасный вектор атаки? Означает ли это, что любой пост-Constantinople контракт с вызовом функции саморазрушения теперь вызывает больше подозрений, чем прежде?»
Отвечая на вопросы, разработчик Ethereum Джефф Колуман заметил:
«Один из доводов против CREATE2 состоит в том, что теоретически реорганизация может изменить промежуточный код контракта, поскольку адрес привязан только к коду инициализации. Люди должны знать, что код является частью аудирования, [...] и что недетерменированные коды суть проблема».
По мнению разработчика блокчейна Ноэля Мерска, саморазрушающаяся функция сама по себе может и не угрожать безопасности. Мерск также считает, что добавление недетерминированного кода инициализации в смарт-контракты, выпускаемые на блокчейне, работающем на CREATE2, может потенциально привести к возникновению векторов атаки.
Больше того, Коулман указал на то, что разработчики, планирующие подвернуть ревизии код, написанный другими программистами, должны ожидать «странного феномена… особенно, если комбинировать CREATE2 с CREATE1, поскольку в последнем случае, каким ни был случайный код, идентичность адреса действительно слабо защищена». По словам Коулмана, «отказ от идеи случайного кода контракта» возможен в том случае, если CREATE2 устанавливается в качестве «стандарта», а «функция саморазрушения полностью устраняется».