Pull to refresh

Comments 11

Вот так просто. Если в обычном банке отказала автоматизация, то люди исправят положение вручную. Если же подобное случается в блокчейне, то исправить ничего нельзя. Поэтому я не верю, что криптовалюты в обозримом будущем заменят фиатные деньги.
Почему до сих пор нет средств статического анализа кода на Solidity? (неиницилизированная переменная — ну как можно?
Почему нет фаззеров для тестирования?
> Почему до сих пор нет средств статического анализа кода на Solidity? (неиницилизированная переменная — ну как можно?
Будут появляться, нужно время. Сначала и code-completion и подсветки синтаксиса не было. Да и функция уничтожения контракта в целом обычная практика, поможет ли тут статический анализ?
Статический анализатор тут бы не помог. Технически с кодом все хорошо. А вот с головой плохо…
Скрин сейчас приложить не могу, но один из команды парити в телеграме довольно уверенно писал, что в одном из следующих запланированных хардфорков Виталик все поправит :)

Так что увидим весной, так ли необратимы транзакции в эфире :)
Разговоры о форке связаны вот с этим предложением Виталика, но он в текущем виде не позволяет сделать такой вывод средств.
Ну и кстати можно без отмены той транзакциии все починить, разрешив тому кто создал контракт делать на нем suicide всегда, но это еще более некрасивый вариант
Полагаю, что проблему можно было бы легко избежать, если бы Parity убрала функцию kill при публикации смарт-контракта библиотеки.

Полагаю, что проблема случилась несколько раньше, чем вызов kill — юзер не должен был стать владельцем контракта, что бы он не вызывал.
В результате вызов initWallet позволил devops199 стать владельцем контракта (при вызове initWallet по адресу смарт-контракта библиотеки, она превратилась в обычный кошелек с владельцем msg.sender, то есть devops199).
Проблема случилась еще раньше, когда разработчики parity решили разнести нормальный код multisig кошелька на два контракта тупой копипастой породив сначала баг что initWallet был публичен и доступен для вызова неограниченное число раз, а теперь и вот этот.
Так инит же был доступен для вызова только 1 раз. Они просто забыли его вызвать
Я говорил про их летний баг, когда можно было просто любой чужой кошелек повторно переинициализоровать добавив себя во владельцы
Sign up to leave a comment.

Articles