Замороженные Parity Multi-sig кошельки
(как разворачивались события)
То, что начиналось как невинная issue на GitHub, оказалось катастрофой эпических масштабов.
Пользователь github под ником devops199 открыл проблему №6995 — “anyone can kill your contract”(любой может убить ваш контракт). Сам пользователь утверждает, что он случайно убил контракт 0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4. Ссылка Txn: здесь
Пользователь вызывал функцию initWallet по указанному выше контракту, а затем сам стал владельцем контракта. Как только пользователь стал владельцем, он убил этот контракт (a.k.a. suicide). Пользователь смог вызвать функцию initWallet и стать владельцем контракта, потому что он не был инициализирован и переменная only_uninitialized не была установлена.
Когда разворачивается новый multi-sig wallet (который технически является контрактом), код который присутствует в Github от Parity, по существу используется в качестве шаблона смарт-контракта. Multi-sig wallet, который деплоится вызывает упомянутый выше адрес контракта, используя функцию delegateCall.
Поскольку этот контракт был уничтожен, multi-sig wallet стал непригодным, так как вся логика кошельков зависела от библиотеки контракта. Доступ к Эфиру в этих кошельках был безвозвратно потерян.
В сущности, все Partiy Mulit-Sig wallets имели одну точку отказа и это был адрес в коде wallet library solidity
constant _walletLibrary = 0x863df6bfa4469f3ead0be8f9f2aae51c91a907b4
Parity выпустил на своем веб-сайте предупреждение о безопасности, и их проблеме в Github присвоен знак P0-dropeverything.
Эти проблемы возникают после того, как в июле 2017 года произошел взлом, с которым столкнулись Partiy.
- согласно reddit пользователю ItsAConspiracy, причина того, что кошелек с несколькими сигами, был разработанный таким образом (с одной точкой отказа), для экономии стоимости газа.
События и реакции:
Пользователи из Gitter подсчитали, что в этих multi-sig wallets заморожено примерно 500 тыс. ETH. Ориентировочная стоимость этого составляет $ 150 миллионов долларов США. (При 300 долл. США / ETH)
PolkaDot признал, что их multi-sig wallet среди замороженных.
Скрин экрана твиттера Parity:
А вот какие реакции были в мире Крипто :
Вы можете увидеть некоторые события здесь:
Некоторые реакции в Reddit здесь: