Комментарии 11
Вот так просто. Если в обычном банке отказала автоматизация, то люди исправят положение вручную. Если же подобное случается в блокчейне, то исправить ничего нельзя. Поэтому я не верю, что криптовалюты в обозримом будущем заменят фиатные деньги.
0
Можно, есть практики обновления контрактов. Другое дело это нужно предусмотреть заранее
0
Почему до сих пор нет средств статического анализа кода на Solidity? (неиницилизированная переменная — ну как можно?
Почему нет фаззеров для тестирования?
Почему нет фаззеров для тестирования?
0
> Почему до сих пор нет средств статического анализа кода на Solidity? (неиницилизированная переменная — ну как можно?
Будут появляться, нужно время. Сначала и code-completion и подсветки синтаксиса не было. Да и функция уничтожения контракта в целом обычная практика, поможет ли тут статический анализ?
Будут появляться, нужно время. Сначала и code-completion и подсветки синтаксиса не было. Да и функция уничтожения контракта в целом обычная практика, поможет ли тут статический анализ?
0
Статический анализатор тут бы не помог. Технически с кодом все хорошо. А вот с головой плохо…
0
Скрин сейчас приложить не могу, но один из команды парити в телеграме довольно уверенно писал, что в одном из следующих запланированных хардфорков Виталик все поправит :)
Так что увидим весной, так ли необратимы транзакции в эфире :)
Так что увидим весной, так ли необратимы транзакции в эфире :)
0
Разговоры о форке связаны вот с этим предложением Виталика, но он в текущем виде не позволяет сделать такой вывод средств.
Ну и кстати можно без отмены той транзакциии все починить, разрешив тому кто создал контракт делать на нем suicide всегда, но это еще более некрасивый вариант
Ну и кстати можно без отмены той транзакциии все починить, разрешив тому кто создал контракт делать на нем suicide всегда, но это еще более некрасивый вариант
0
Полагаю, что проблему можно было бы легко избежать, если бы Parity убрала функцию kill при публикации смарт-контракта библиотеки.
Полагаю, что проблема случилась несколько раньше, чем вызов kill — юзер не должен был стать владельцем контракта, что бы он не вызывал.
В результате вызов initWallet позволил devops199 стать владельцем контракта (при вызове initWallet по адресу смарт-контракта библиотеки, она превратилась в обычный кошелек с владельцем msg.sender, то есть devops199).
0
Проблема случилась еще раньше, когда разработчики parity решили разнести нормальный код multisig кошелька на два контракта тупой копипастой породив сначала баг что initWallet был публичен и доступен для вызова неограниченное число раз, а теперь и вот этот.
0
Так инит же был доступен для вызова только 1 раз. Они просто забыли его вызвать
0
Я говорил про их летний баг, когда можно было просто любой чужой кошелек повторно переинициализоровать добавив себя во владельцы
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ошибки в смарт-контрактах или новый Security Alert от Parity