Комментарии 51
Не "Больше на кону, чем просто % от всего ETH", а "Тогда на кону был больший % от всего ЕТН".
А можно запретить всей системе проводить операции с этим кошельком? Пусть хоть миллиард украдут, воспользоваться все равно не смогут.
Но в случае с The DAO у сообщества было значительное время до того, как хакер смог бы воспользоваться деньгами. Здесь, как Виталик и говорил, хакер может просто перевести деньги (например, через какой-нибудь eth-миксер), так что отследить их дальнейшую судьбу будет невозможно.
долбодятлы сами виноваты, имхо
Если пользователи, то извините, давайте хакер найдет уязвимость в какой-нибудь программе, которой вы пользуетесь, и уведет с вашего банковского счета все ваши накопления. Тоже долбодятлом будете себя считать?
Ну, вообще-то банковские трояны именно этим и занимаются уже очень много лет. И да, долбодятлом, почему-то, при этом принято считать именно пострадавшего — не обновлял ОС, не поставил правильный антивирус, качал из инета игрушки на комп с ДБО, запускал аттачи к письмам, etc. Я не говорю, что случай из статьи идентичен, там всё-таки неясно, что могли предпринять пострадавшие для своей защиты (ну, кроме выделения средств на аудит безопасности этого кода), но определённые параллели между этими ситуациями определённо наблюдаются.
Токены — не децентрализованная криптовалюта, это цифровой актив, с централизованным контролем, а в случае с контрактами — еще и подверженный ошибкам реализации.
p.s. интересно, когда разработчики (платформы типа ethereum или может библиотеку хитрых контрактов разработать) начнут добавлять в контракты механизмы возможности отката транзакций, специально на такие случаи как в статье, т.е. превратив подсистему в полный аналог централизованных банков.
2. И про забалансовые вклады, я так понимаю, вы не слышали?
Именно поэтому у криптовалют большое будущее — больше не будет ненужных вороватых «кровососов» и всяких сервисов типа робокассы с 20% комиссии за оплату.
Ну ошибки разработчиков были и будут. То, что в текущей реализации очень легко наступить на грабли и потерять при этом все деньги — это да.
С этой точки зрения мне нравится разрабатываемый в данный момент блокчейн eos, в котором при необходимости хардфорки можно провести быстро и безболезненно. Одна эфир уже есть и работает а eos пока существует только на бумаге (хотя разработчики уже собрали больше 200 млн. при ожидаемой капитализации под 2 миллиарда долларов).
Нафиг-нефиг.
Не обязательно центральная authority. Возьмём steem/golos с его delegated proof of stake консенсусом. У них там уже под двадцать хардфорков безболезненно прошли. Участники сети выбирают "делегатов", которые решают/поддерживают работу сети.
Один участок кода легче проаудировать, чем каждый контракт, отправленный в сеть.
(запасаюсь попкорном) Ну, расскажите мне про «проаудирование» кода указанных систем, после которых там не остаётся багов.
Если остаются — возвращаемся к вопросу о том, что делать, если в коде хардфорка баг, который эксплуатируется.
Я сомневаюсь что можно доказать что где-то нет багов. Просто по крайней мере утверждать с определенной долей уверенности. Хотя потом могут и найтись, да.
По второму вопросу — представьте, что в консенсусе эфира найден баг, позволяющий одному человеку присвоить себе средства из любого кошелька и он переводит себе абсолютно весь эфир на один адрес. Кому нужен будет такой эфир и сколько он будет стоить? Понятно, что даже при наличии такой возможности злоумышленник этого делать не будет, но мы говорим о гипотетических ситуациях.
Что сделают разработчики блокчейна / владельцы эфира? Они просто найдут новый способ консенсуса и напишут новый код, возращающий сеть в состояние до атаки (подобное и произошло с разделением eth/etc). То есть да, делается новый хард-форк, в данном случае изменяющий код "на самом высоком уровне". Но опять же, что proof of work что proof of stake изучены более-менее хорошо и с определенной долей уверенности можно утверждать что в них нет багов. Я же говорю про систему, которая позволит регулировать систему без вмешательства в код самого блокчейна.
После публикации баг исправляют, но…
С потерянными деньгами-то что делать? Отменять продажу на бирже? Биржи против. Делать хардфорк всех валют, в которые были выведены деньги? Может, сразу вселенную форкнуть?
Это и есть обратная сторона медали. Рано или поздно появятся регуляторы и тут. Будет возможность согласовывать блокировку, делать переводы активов без ключа, но с одобрения сети для возврата украденного, в т.ч. возможность восстановления доступа к активам при утрате ключей в частном случае. Таков естественный процесс развития любой системы.
Я, кстати, всеми руками за. Регуляторы не в смысле регулирующих органов государства, а в смысле регулирования изнутри сети (тот же консенсус DPoS).
На текущий момент с криптовалютой очень просто отстрелить себе не только ногу, но и голову.
В частном случае да. Но тут уже финансовые интересы участников вмешиваются. Кто будет покупать на бирже такой альткоин, в котором с плохой фоткой профайла деньги отнимают.
1. Откуда брались сами кошельки, попавшие под атаку? Не мог же атакующий просто посылать запросы на рандомно, брутфорсом сгенерённые наборы символов — такой перебор занял бы тысячи лет, а не пару часов. Понятно, что тут нужен не приватный ключ, а некий публичный адрес, но всё-таки — откуда ему взяться, если человек сидит дома, примус починяет, а на кошельке живут себе эфирки?
2. Как конкретно посылался вызов функции? В эфире можно послать ноль ETH на чужой кошелёк, если знаешь его адрес, а попутно прицепить вызов функции, который ещё и вызовется? Т.е. система не пересылает просто 0 eth с одного кошелька на кошелёк, она зачем-то ещё и пересылает произвольный код?
Все адреса, с которых либо на которые отправлялись средства, попадают в блокчейн эфира. Блокчейн эфира можно посмотреть и в интернете, например на https://etherscan.io. Там же можно посмотреть весь текст смарт-контракта, если этот адрес — смарт контракт. Найти кошелек с определенным смарт-контрактом можно либо через сам блокчейн, либо, подозреваю, и через поисковые системы. К тому же деньги были выведены с определенных кошельков, используемых в ICO — злоумышленнику не нужно было их искать.
- Каждый может опубликовать в сети эфира смарт-контракт — текст программы, выполняющий определенные функции. То есть да, можно прицепить вызов функции, которая выполнится при переводе средств на данный кошелек (в том числе и с 0 эфира). Произвольный код не пересылается, выполняется код, уже определенный в смарт контракте. В данном случае в нём была ошибка, которая и привела к потере средств.
Неважно будут они её делать или нет, сама возможность уже подрывает всё доверие.
Настоящая криптовалюта должна быть децентрализована, анонимна и без возможности отката.
Что сделано, то должно сохраниться навсегда и никто не может это отменить.
Иначе, в чём отличие от обыкновенных транзакций на сервере с одной БД, кроме супер крутого шифрования, как нам всем рассказывают. И зачем тогда майнинг?
CDN с шифрованием, где все данные берутся с центрального сервера и проверяется их целостность. Но всегда можно сделать откат на центральном сервере.
А уязвимости конкретных сервисов, которые хранят средства в этой криптовалюте касаются только их и их пользователей. Эти уязвимости не подрывают надёжность криптовалюты т.к. не она уязвима, а сервис, которому люди доверили свои кошельки.
Безусловно кража огромного количества средств повлечёт изменение курса.
Если подхватят СМИ, то будет новость про взлом криптовалюты и паника у пользователей.
Но мне кажется стоит задуматься именно над возможностью отката, она и есть главный минус технологии.
Не забудьте ещё про 95 миллионов в токенах эфира. Однако будем надеятся, что это действительно вайт-хэт и деньги вернут владельцам.
А, кстати, они сами себе транзакцию отправили с текстом, там есть дальнейший план действий
I am the author of https://www.reddit.com/r/ethereum/comments/6obofq/a_modified_version_of_a_common_multisig_had_a/
Проходит полгода
Упс, придется форкаться (или не форкаться) в зависимости от процента утекшего бабла
Критическая уязвимость в multisig кошельке Parity, хакерами выведен $31 миллион в ethereum (обновлено)