Для решения проблемы с критической уязвимостью кошелька Parity придется проводить хардфорк сети Ethereum. Это единственный способ воссоздать код, заявил представитель отдела безопасности Ethereum Foundation Мартин Хольст Cвенде. Проблема в том, что хардфорк коснется не только Parity: обновиться придется всем участникам сети Ethereum. Но по мнению Хольст Свенде, другого способа вернуть средства пользователей нет. Несмотря на все проблемы, эфир растет, особенно на фоне новости об отмене хардфорка SegWit2x. Сегодня его цена $313, позавчера он стоил — $290.

Что случилось?

В понедельник, 6 ноября, один из разработчиков случайно удалил смарт-контракт, возможно, чтобы исправить свою ошибку, тем самым заморозив средства пользователей Parity. Разработчик BitClave Антон Буков предположил, по какой причине это произошло: «Он вызвал несколько методов у библиотеки и сперва сделал себя ее владельцем, а потом и вовсе удалил ее. Следующая проблема обнаружилась, когда владельцы кошельков захотели поубивать свои мультиподписные кошельки, чтобы вернуть сбережения — метод kill их кошельков оказался защищен модификатором onlymanyowners, код которого находился в удаленной ранее библиотеке».

Кроме того, Буков добавил, что при делегировании вызова библиотеки работают не со своими переменными, а с переменными вызывающего их контракта — так они устроены. «Поэтому в коде библиотеки были предусмотрены те же переменные что и в контракте, но они не были инициализированы. Никто до сих пор не обращался к этой библиотеке напрямую, а разработчики просто не предусмотрели такой случай», — сказал он.

Вместе со всеми был заморожен кошелек со средствами проекта Polkadot, который недавно провел ICO. Всего на этих кошельках находится около 500,000 ETH или примерно $154 млн. Parity порекомендовал пользователям временно не создавать новые кошельки с мультиподписью.

История взломов

В июне 2016 года крупномасштабной атаке подвергся уникальный инвестиционный проект DAO, построенный на базе блокчейна Ethereum. Тогда, используя лазейку в коде, со счетов украли 3,6 млн ETH, то есть $43,9 млн (по курсу на 19 июня 2016). После этих событий эфир упал в цене на 20%. Тогда, чтобы сохранить сеть и вернуть средства пользователям, пришлось провести хардфорк, в результате которого образовались две сети: Ethereum и Ethereum Classic.

В июле этого года под атакой хакеров уже оказался Parity, во время которой им удалось украсть ETH в эквиваленте $30 млн. На следующий день после атаки команда опубликовала новую версию смарт-контракта, но в ней также была найдена уязвимость, которая привела к сегодняшней проблеме.

Что говорят блокчейн-эксперты

Создатель Litecoin Чарли Ли назвал Ethereum «раем для хакеров» и добавил, что язык Solidity совсем не подходит для написания смарт-контрактов.

А блокчейн-эксперт Киран Мюррей уверен, что пользователи будут подавать иски на разработчиков смарт-контрактов в связи с потерей средств, и тем самым создадут правовой прецедент.

Создатель Ethereum Виталик Бутерин воздержался от комментариев. Он только выразил поддержку всем разработчикам контрактов для электронных кошельков