За последние несколько месяцев стоимость Ethereum выросла более, чем в 10 раз, и это привлекает любителей легкой наживы



Пару дней назад администрация блокчейн-платформы Ethereum заявила о выводе неким злоумышленником токенов блокчейнов Ethereum на сумму в $53 млн (по курсу на момент взлома системы). Неизвестный, используя особенности работы протокола платформы, совершил атаку на фонд Decentralized Autonomous Organization (DAO). У этой организации есть значительные резервы криптовалюты Ether, что и позволило злоумышленнику вывести такое большое количество токенов блокчейнов.

Благодаря тому, что система Ethereum открыта, разработчики и участники системы могут видеть, кто и сколько вывел виртуальных денег. Кроме того, по условиям системы выведенную с кошельков DAO криптовалюту нельзя будет потратить в течение 27 дней. Тем не менее, неожиданно успешные действия злоумышленника оказывают давление на курс Ethereum и снижают уровень доверия пользователей и инвесторов к системе.

А что, собственно, произошло?


Для того, чтобы понять суть проблемы, которая стала причиной вывода большого количества единиц криптовалюты со счетов DAO, нужно понимать, что собой представляет Ethereum. Это платформа для создания децентрализованных онлайн-сервисов на базе блокчейна (Dapps, Decentralized applications, децентрализованных приложений), работающих на базе умных контрактов. Такие контракты — это специфический электронный алгоритм, описывающий набор условий, влекущий за собой некоторые события как в реальном мире, так и в цифровых системах.



Являясь открытой платформой (open source), Ethereum значительно упрощает внедрение технологии блокчейн. Технология Ethereum дает возможность регистрации любых сделок с любыми активами на основе распределенной базы контрактов типа блокчейн, не прибегая к традиционным юридическим процедурам. Эта возможность является конкурентной по отношению к существующей системе регистрации сделок. По мнению некоторых специалистов, технология «умных контрактов» знаменует собой новую эру в финансовых технологиях. Система считается экспериментальной, но ей удалось привлечь внимание крупных компаний, таких, как Microsoft и IBM. На платформе Ethereum можно эмитировать и собственную криптовалюту, для чего не требуется особых навыков программирования.

DAO является новым типом организации, которая работает с технологиями Ethereum. DAO можно охарактеризовать как цифровую компанию, которая не привязана к определенному юридическому лицу. Управляется она группой инвесторов, которые вложили в нее средства в виде токенов (на их основе и работает Ethereum). Эти токены инвесторы изначально обменяли на специальные DAO-токены. Организация позволяет всем инвесторам управлять общим фондом средств. Система управления является децентрализованной.

И здесь как раз кроется проблема. Реализация «умных контрактов», основы Ethereum, включает баг, позволяющий сторонним лицам выводить токены с эскроу-счетов, используя механизм проверки баланса. Ранее на эту проблему обращали внимание некоторые независимые исследователи. Но разработчики не посчитали проблему слишком серьезной, хотя и знали о ней.



После случившегося баг решили исправить, но вопрос возврата токенов системы в эквиваленте $53 млн остается открытым. Средства до сих пор находятся в системе. Как уже говорилось выше, их нельзя будет вывести в течение ближайших трех недель. Но если сообщество проекта ничего не будет предпринимать, злоумышленник, совершивший атаку, сможет вывести все. А это означает значительное падение курса Ethereum и туманное будущее самой системы. А ведь самом начале года криптовалюта Ether на платформе Ethereum прибавила всего за три месяца около 1200%, выйдя на второй место по рыночной капитализации после Bitcoin. Сейчас курс этой криптовалюты стремительно падает, и вряд ли он вырастет в течение ближайших нескольких месяцев.



Преступник или легальный пользователь?


Статус процедуры выведения токенов блокчейна со счетов DAO сейчас под вопросом. Злоумышленник Пользователь Ethereum, воспользовавшийся багом для выведения средств, опубликовал открытое письмо, где сообщает, что использовал только легальные функции DAO, поэтому ни о каком возврате средств или преследовании его представителями закона не представляется возможным.

Он сообщил о тщательно проведенной предварительной работе: «Я очень внимательно изучил код DAO, после чего нашел функцию вознаграждения дополнительными единицами криптовалюты при разделении. Я использовал эту функцию, законно получив 3641694 единиц криптовалюты. Хотел бы сказать спасибо DAO за это вознаграждение. Я думаю, что в исходный код эта функция добавлена для популяризации децентрализации [Ethereum, — прим. ред.]».

«Я не согласен с тем, что использование такой функции оценивается, как воровство. Мои юристы заявляют о полной правомерности моих действий в рамках законодательства Соединенных Штатов», — говорит виновник происшедшего. Он также сообщил, что обратится в суд, если разработчики изменят программный код Ethereum, и это приведет к невозможности вывода денег: «Я считаю необходимым принять любые возможные легальные действия против любых участников незаконных краж, заморозок или попыток изъятия моих законно полученных токенов Ether, и я продолжаю активно сотрудничать с моей юридической фирмой. Все соучастники уже в ближайшее время получат соответствующие уведомления на свою почту».



Многие специалисты по технологии блокчейн согласны с тем, что действия хакера полностью соответствуют правилам организации. Специалист по криптографии из Корнельского университета Эмиль Гюн заявил, что вся эта ситуация — «хорошо проделанная работа», которая вовсе не обязательно будет рассматриваться, как нарушение законодательства.

Для тех пользователей системы, которые вложили собственные средства и сейчас их потеряли, взлом (или использование бага) системы Ethereum является проблемой. Что бы там ни говорили специалисты по информационной безопасности и криптографии, но терять деньги не нравится никому. И сейчас те, кто вложил реальные деньги в Ethereum и потерял их, не очень довольны. Возможно, создателям системы удастся заблокировать «украденные» средства и вернуть их прежним владельцам. Но в этом случае возникает вопрос, можно ли считать Ethereum действительно открытой и независимой системой. Ведь если описанную выше транзакцию (или их серию) можно отменить, то не станет ли администрация ресурса поступать аналогичным образом и в отношении других сделок в будущем?
Поделиться с друзьями
-->

Комментарии (41)


  1. Intercross
    19.06.2016 15:49
    +3

    Эх, не хватает в законах какого нибудь Статья 0: не быть мудаком. Хотя нет, многие будут нарушать эту статью, пользуясь этой статьёй. Надо бы подумать над этим.


    1. EuHex
      19.06.2016 16:15

      Если это не намеренная провокация.


    1. HappyLynx
      19.06.2016 23:42

      Хорошо забытое старое:
      https://www.youtube.com/watch?v=l33x3td5gfg


  1. Exaybachay
    19.06.2016 15:58

    https://www.reddit.com/r/ethtrader/comments/4ot3vi/warning_another_successful_attack_recursive_split/

    Там ещё одна «атака» была, уже на 7,913,177 ETH…


    1. vicnaum
      19.06.2016 23:46

      Это баланс :) Т.е. 7.913.177 в ДАО осталось


  1. grokinn
    19.06.2016 16:00
    +12

    Если администрация не заблокирует сделку, то инвесторы потеряют деньги, но если администрация заблокирует сделку, то цена этой криптовалюты упадет и инвесторы все равно потеряют деньги, дело труба.


    1. Mad__Max
      19.06.2016 19:47

      Цугцванг.
      Остается только хорошенько подумать и выбрать меньшее из зол.


    1. alexykot
      21.06.2016 11:52

      Если они заблокируют сделку — то потеряют не только эти деньги, но и всё остальное что было вложено в Etherum как систему в целом. Можно признать факап вселенских масштабов в коде The DAO, наказать ответственных и двигаться дальше, но нельзя переписывать историю блокчейна.


  1. QWhisper
    19.06.2016 16:06
    -1

    Я не совсем понимаю логику тех кто защищает хакера. Там была проблема в том что, вывод и уничтожение токена были не одновременны, это сложно назвать правомерными действиями. Таким атакам подвержены и структуры в реальности… например набрать миллион кредитов, пока базы данных не синхронизированы. И как то такую атаку в реальности никто не назовет законной.


    1. thatsme
      19.06.2016 16:46
      +2

      Вы неправы. Рекурсивный сплит, это часть контракта. Идиоты из The DAO просто позволили это сделать. Как результат, — вывод денег из The DAO в sub-DAO.

      Вот пример:

      http://etherscan.io/address/0xfe24cdd8648121a43a7c86d289be4dd2951ed49f#internaltx

      Это уже 2-й сплит. Он на ~7 миллионов ETH. Кол-во монет в The DAO уменьшилось ровно на эту сумму.

      То есть, транзакции по сути легитимные, т.к. позволены контрактом. Автоматическое вознаграждение за сплит… Вывод этих монет будет возможен только ч-з 27 дней.

      Им кстати говорили о том, что рекурсия в данном случае это зло.


      1. fidewu
        19.06.2016 20:08

        Ага.
        Технически же возможно?
        И можно ставить нелицензионное ПО, если авторы не предусмотрели жесткой защиты от этого.
        И людей убивать.
        И пр. и пр.


        1. Calvrack
          19.06.2016 20:51

          Да нет же! Можно и дело завести и человека посадить, только потом ни одного либертарианца в этой сети не будет. И очень интересно кто там останется? Как в реальном монетарном мире? Юристы сажающие друг-друга по кругу?


          1. fidewu
            19.06.2016 22:56

            Будут. Халявщики никогда не переведутся.


          1. QWhisper
            19.06.2016 23:13

            А биткоином одни либертанцы занимаются? прям вот миллионы долларов вкладывают в ДЦ, скупают разработчиков асиков, это все либертанцы?


            1. Mad__Max
              20.06.2016 00:50

              А речь не про биткоин, а про Эфир(иум). Там его основа/привлекательность весьма забористая идеология круто замешанная как раз на либертарианстве.


              Ну а биткоин сейчас по меркам таких альтернатив уже довольно "консервативная" и стабильная система. Потому туда и пришли "серьезные дяди, чтобы рубить деньги", а не только идеями и перспективами гоняться.


          1. kkktnxbye
            20.06.2016 17:45

            Нельзя, хакер не нарушил законов. Пруфы сами найдете если интересно.


    1. lain6
      19.06.2016 17:04

      Вы можете объяснить, пожалуйста, что имел в виду хакер, когда утверждал, что возможность «кражи» легальна? Судя по тому, что написано в статье — это настоящий баг: можно перевести на свой счет чужие средства, правильно выполнив функцию проверки баланса.


      1. thatsme
        19.06.2016 17:55

        Здесь хорошо расписано:

        https://www.reddit.com/r/ethereum/comments/4os7l5/the_big_thedao_heist_faq/

        What happened? 3,641,694 ETH where splitted out of theDAO. The attacker found a loophole in the regular splitDAO function so that they could reuse the same DAO tokens over and over again.

        По простому: Используя тот-же самый токен «The DAO», производится сплит этого DAO в саб-дао, однако возврата из функции сплита не происходит, она выполняется рекурсивно (то-есть 1- сплит ещё не завершён, но уже начат 2-й, и так рекурсивно).

        >>The following calls are done in a state before the balance of the attacker is set back to 0. This allowed the attacker to split 20 times (have to look up the exact number) per transaction.

        Как можно было позволить рекурсивный сплит в контракте? Хотя конечно это теперь всем ясно, но на момент создания, The DAO и компания получившая от них 6-ти значную сумму, аудит безопасности, посчитали, что это нормально, хотя их предупреждали (ссылки можно найти на reddit)


      1. Here_and_Now
        19.06.2016 18:02
        +4

        Суть кроется в переводе его открытого письма. Прежде чем инвестировать в ДАО он проанализировал Открытый код программы, а так же контракт, который они ему предлагали, в котором черным по белому было прописано, что все что может делать код контракта — легально. Проконсультировался со своими юристами по поводу законодательства США и только после этого принял решение вступить в ДАО.

        Т.е. они ему предложили условия, на которые он согласился и которыми он воспользовался. Как если бы банк вам предложил кредит со ставкой -100%.


        1. thatsme
          19.06.2016 18:14

          Кстати сигнатура письма «злоумышленника», фейковая.


        1. QWhisper
          19.06.2016 20:10

          Ага, был такой товарищ, пытался банк Тинькофф нагнуть. Потом сам же на попятную пошел. Но он там договор изменил, который затем принял банк. А тут это уровня, я посмотрел интернет-банк, этого банка, понял что он полная лажа, и заключил договор, затем воспользовался дыркой и перевел себе 10млн на счет. Да прогеры ДАО оказались так себе, но это не делает законным эксплуатацию эксполойта.


          1. Here_and_Now
            19.06.2016 21:02
            +6

            Мне так же вспомнился случай с Тинькофф и вот что мне принесли несколько минут в гугле «Сам Дмитрий Агарков в интервью интернет-изданию slon пояснил, что высказывания предпринимателя Олега Тинькова вынудили его покинуть пределы страны.» В более цивилизованной стране, где в твиттере нельзя позволить себе угрозы своему клиенту, думаю клиент выиграл бы суд, ведь банк, который _не_читает_ контракты, всё таки его подписал. Мо мнение: не хотите читать контракты — закладывайте это в риски)

            Я бы согласился с вами, но у кейса с интернет-банком есть одна особенность. Есть контракт, который оговаривает ваши отношения с банком и возможные транзакции между вами, а есть софт, который позволяет вам совершать те или иные транзакции. Так вот в случае с нахождением эксплойта в софте интернет банка, вы можете им воспользоваться, но по контракту вы не имеете на это права. Банк даже может вам сделать отдельную форму, через которую вы сможете начислять себе деньги, но вот воспользоваться ей вы не сможете, поскольку это будет противозаконно.

            В случае с DAO договор звучал примерно так: «Условия работы The DAO Creation установлены в коде smart contract, существующем на блокчейне Etherium по адресу 0xbb9bc244d798123fde783fcc1c72d3bb8c189413. Ничто в текущем тексте или в любом другом документе или сообщении не может изменить или добавить гарантии или обязательства, помимо тех, которые прописаны в коде DAO». (Взято из письма)

            Т.е. они прямо пишут. Всё что может делать наш код — легитимно и не может быть изменено в будущем никаким другим способом)


          1. vikarti
            20.06.2016 08:24

            тут еще дело в том что на сайте DAO прямо сказано что всякие разьяснения как все работает — это именно — разьяснения а код смарт контракта — имеет приоритет перед ними. Ну вот и получили. Если код смарт контракта имеет приоритет перед описанием как этот смарт контракт должен работать то багов в нем не может быть по определению.


            1. QWhisper
              20.06.2016 09:01
              +1

              Ну если им хватило ума, назвать код программы правилами. То вы правы. Тут законы то пишут столетиями, переписывают и выпускают разъяснения.


    1. herr_kaizer
      19.06.2016 17:35
      +2

      А по какому закону набор миллиона кредитов неправомерен?


      1. Here_and_Now
        19.06.2016 18:07

        Принцип инвариантности скорости света.

        Просто банки пока не выдают кредитов с такой скоростью, потому и проблема такая у них не стоит. Но _принципиально_ ничего не мешает)


  1. Barnaby
    19.06.2016 16:15

    Чего не сделаешь ради защиты The DAO.
    Возможность контроля обсуждалась давно, наверное с того момента как добыча биткоинов перешла на пулы.
    Если 51% по мощности пулов согласится, можно создать реестр запрещенных адресов и не включать транзакции с их участием в блоки.
    Увы, но это вполне возможный сценарий для любой крипты. Подконтрольную крипту государство примет с радостью.


  1. thatsme
    19.06.2016 16:15
    +4

    Вся ситуация очень проста, — в коде смарт контрактов ДАО, позволена рекурсия чем и воспользовался вполне себе легитимный участник DAO. Сплит из DAO несёт вознаграждение за этот сплит. Никто в ДАО не подумал о том, что-бы убрать рекурсию. В итоге рекурсивный сплит привёл к тому, что сеть вознаграждает данного участника и его под-дао также рекурсивно, но в том-же объёме что и за 1-й сплит.

    Это The DAO было изначально мёртвой организацией, т.к. никаких конкретных целей у неё не было. И эта организация обанкротилась, — она мертва. Неверно прописанный контракт привёл к тому, что человек сумел получить около 3 миллионов ETH вознаграждений. The DAO — банкрот. Все кто в него вложился потеряли свои средства. Кстати 75% участников уже вывели свои средства из DAO.

    Будет значительно хуже, если форкнут (неважно софт или хард). Это будет означать манипуляцию контрактом. Кому нужны такие smart contracts ??? Их смысл в том, что-бы они соблюдались, независимо от желаний разработчиков или сторон контракта.

    Ethereum должен дистанцироваться от «The DAO». Вообще разработчики Ethereum, не должны были в нём участвовать.


    1. Exaybachay
      19.06.2016 16:56

      Кстати 75% участников уже вывели свои средства из DAO.

      BBC?

      сколько читал, нигде такой инфы нету, даже самые большие хейтеры такое не пишут.
      на полоне «24hr Change 19.10%» было недавно для ДАО.


      1. thatsme
        19.06.2016 17:04
        -1

        Со вчерашней ночи выводят в Bitcoin. Посмотрите сюда: http://coinmarketcap.com/assets/the-dao/


        1. Exaybachay
          19.06.2016 17:22

          Я не совсем в этой теме, но по графику я вижу что упала их цена, да в связи с паникой и тем что народ начал выводить ДАО в ВТС.
          Но означает это что вывели 75%?
          Просто хочу понять, спс.


          1. thatsme
            19.06.2016 18:12
            -1

            75% цифра из головы, не продиктованная расчётами. И да кто-то же покупал инфлировавышие токены, так-что признаю что я не прав. Там теперь новые владельцы, которые скупали инфлировавшие токены. Кол-во беглецов должно как и всегда оказаться ~60-70% (нормальное распределение). Но это-же можно сказать и о том что The DAO приобрело новых стэйк-холдеров. А объём торгов вырос почти в 3.5 раза относительно пика роста перед самым падением (суточные объём $3.4миллиона на пике роста, против $12.8 миллионов в пике падения 17:19 время по coinmarket.cap)


            1. rPman
              19.06.2016 18:38

              Торговля на бирже это не 'выход инвесторов' а их смена! т.е. если кто то продал, то кто то другой стал инвестором, купив!


    1. semmaxim
      19.06.2016 22:29

      Будет форк: https://blog.ethereum.org/2016/06/17/critical-update-re-dao-vulnerability/


  1. eugzol
    19.06.2016 17:29
    +6

    «Злоумышленник, атаковавший Ethereum» — а текст про взлом Chrome назывался бы «Злоумышленник атаковал Windows 10».


    1. thatsme
      19.06.2016 18:16

      Угу, с больной головы на здоровую. Однако, если Виталик решит форкнуть, то это уже будет «злоумышленник» в Ethereum.


  1. rPman
    19.06.2016 18:39

    Пожалуйста поправьте в статье — проблемы у The DAO! взломали DAO! Ethereum тут страдает только опосредованно, и только если будет хард и софт форки, отменяющие последствия 'взлома' хакером.


    1. RubyFOX
      19.06.2016 20:29
      -1

      Ага, вот тоже читаю и вижу уже в комментариях пишут: — что делать? С моего кошелька могут украсть деньги!
      Ну как так можно новости писать? В лучших традициях первого канала и НТВ?


      1. JtHermit
        20.06.2016 17:45
        -1

        Остаётся лишь порадоваться, что до гиктаймс ещё не добрались новости в стиле: «Очевидцы заявляют, что злоумышленники были одеты в одинаковые чёрные футболки, выглядели технически грамотными и трезвыми. По мнению экспертов, данный взлом мог быть осуществлен внештатными сотрудниками Роскомнадзора в интересах предпринимателя Аркадия Ротенберга».


  1. Vnuchok
    20.06.2016 07:00

    27 дней это не три недели, а почти 4


  1. OnelaW
    20.06.2016 13:48

    Какой странный подход, прям дети. Ушами хлопали в компании, а он такой злодей.