АРСИБ представляет вашему вниманию статью к.т.н., члена Ассоциации Николая Носова «Атака на The DAO: выдержит ли блокчейн испытание реальностью?». Оригинал был опубликован 24 июня 2016 года на сайте журнала PC Week/RE.
Прошлая пятница стала черным днем в истории The DAO — самого амбициозного проекта на технологии блокчейн, который позиционировался как «первый в мире полностью автономный инвестфонд». Когда хакеры начали массированную кражу денег из проекта, капитал The DAO оценивался в 32,7 млн. долл., и эти деньги оказались под угрозой. Новость вызвала панику в блокчейн-сообществе. Стоимость токена DAO сразу упала на 60%, цена одного эфира — более чем на 20%. Основатель Ethereum Виталик Бутерин обратился к криптовалютным биржам с просьбой приостановить торги, пользователи DAO начали спамить адрес кошелька, на который выводились ворованные средства с надеждой затормозить процесс. На настоящий момент из DAО уже выкачена сумма, превышающая 45 млн. долл. Но после разъяснений Бутерина, что злоумышленник реально сможет вывести деньги только через три недели — таков срок формирования дочерней организации, и его обещания за это время решить вопрос и вернуть похищенные деньги, ситуация на рынке стабилизировалась.
Немного о ДАО
Децентрализованные автономные организации (ДАО, DAO) — одна из самых обсуждаемых тем, связанных с блокчейном. Сама идея выглядит очень революционно и привлекательно. Нет директора, правления, сотрудников. Есть набор самостоятельно функционирующих приложений, которые без человеческого участия осуществляют задачи по работе организации. То есть если работу организации можно запрограммировать — описать как набор умных контрактов, то по большому счету и люди в ней не нужны. Все это выглядит очень перспективно, особенно с точки зрения возможности использования в Интернете вещей.
В настоящее время The DAO — самый крупный проект в области ДАО, намного обогнавший по популярности своих менее раскрученных собратьев, например, Bitshares. Его можно рассматривать как подборку умных контрактов, составленных на блокчейне Ethereum. В The DAO вложено 20% средств Ethereum, а сам Бутерин входит в число кураторов проекта. Возможно поэтому он так близко к сердцу принял проблемы The DAО. Ведь сама платформа Ethereum скомпрометирована или взломана не была. А за построенные на ее базе проекты создатели платформы не отвечают.
Немного об атаке
Временной разрыв между тратой денег и отражением этого события на счете в банке — стандартная проблема для финансовой сферы. Когда человек много говорит с домом, находясь за рубежом, то часто удивляется, почему на его счете в мобильнике по прежнему есть деньги. Отрезвление часто наступает уже дома, когда все счета доходят до оператора и баланс стремительно становится отрицательным.
Этот лаг между снятием денег и отражением на счете The DAO и был использован атаковавшим систему злоумышленником. В системе есть функция, порождающая дочерние организации, в которые могут инвестироваться (выводиться) деньги (эфиры) родительской организации с целью дальнейшего получения доходов от их деятельности.
С помощью умных контрактов можно создать любой документ, и любой, кто купил жетоны The DAO за эфиры (ETH), голосует за решения, выбирая, куда вложить ресурсы. Причем все происходит анонимно. Злоумышленник внес 258 монет эфира в The DAO, а потом, получив право голоса, внес предложение о создании дочерней организации. В составленном им умном контракте этой организации в цикле, до подведения «баланса», посылались команды на перевод еще не обнуленной суммы в 258 монет. При этом полученные лишние деньги еще и перечислялись на другой кошелек, так что в итоге баланс «сводится». А выведенные деньги использовались для умножения эффекта в следующем цикле атаки. Так 258 монет эфира превратились в 3,5 млн., что по нынешнему курсу и составляет 45 млн. долл. Причем атака еще продолжается, и итоговая сумма будет больше.
Атаковавший выступил с заявлением, в котором утверждал, что не нарушал правила системы, не ломал код, и угрожал прибегнуть к помощи судебных органов, если кто-то попытается отнять его деньги. Впрочем, в подлинности этого заявления есть основания сомневаться, как и в том, что злоумышленник рискнет огласить свое имя, что будет неизбежным в судебном процессе. Люди, потерявшие миллионы долларов, могут прибегнуть и к внесудебным разбирательствам.
Выдвигались и другие версии атаки. Мол, злоумышленники с самого начала не верили, что с такими деньгами им дадут уйти, и вся эта история — способ обвала курсов криптовалют, на чем и сработала вполне легальная монетизация атаки. Ведь рухнул не только курс токенов The DAO, но и эфира и даже биткоина, и зная об этом заранее, можно было бы хорошо заработать на резких скачках наиболее популярных криптовалют.
Ликвидация последствий
Бутерин внес предложение о проведении софтфорка — небольших изменений, в результате которых можно будет заморозить счета злоумышленника без возможности отката транзакции, чтобы никто не смог вывести токены, например, продать их на бирже. Затем последует хардфорк — откат всех транзакций, включая кражу и всех после нее, который принудительно вернет средства их бывшим владельцам.
Сейчас предложения по софтфорку вынесены на голосование, и судя по всему (сейчас его поддерживает примерно 85% майнеров) будут приняты.
Кроме того, Бутерин предостерег от создания контрактов на Ethereum на сумму более 10 млн. долл. и призвал к осторожности при разработке, чтобы не создать баги, позволяющие многократно снимать средства в рамках одной транзакции. Во избежание подобных багов в будущем сообществу — ориентировочно в течение недели — будут представлены рекомендации по созданию контрактов.
В связи с успехом рекурсивной атаки было принято решение о вероятном закрытии проекта The DAO. Проект будет переведен в обычный контракт, используя который инвесторы смогут вернуть вложенные в проект монеты ETH.
Возникающие вопросы
Решение о проведении софтфорка и хардфорка вызвало неоднозначную реакцию в блокчейн-сообществе. Понятно, что теряющие огромные деньги участники The DAO ее одобрили. Но многими отмечалось, что это может нанести большой репутационный ущерб блокчейну Ethereum. Неоднократно заявлялось, что блокчейн — неизменяемый объект, который может работать без посредников. Это доверенная среда, которая ни от кого не зависит. И вот теперь выясняется, что записи поменять можно. А что если мошенники устроят другую успешную атаку на другой проект на платформе Ethereum — для пострадавших тоже сделают откат блоков? Чем они хуже The DAO? А если какое-то правительство окажется недовольным и пришлет судебную повестку, требующую изменить блокчейн? Или отменить транзакцию в неугодную страну? Виталик опять поставит вопрос на голосование майнеров, которые теперь будут выполнять и полицейские функции?
Жизнеспособна ли вообще система умных контрактов? Существующие бумажные контракты — постоянное поле борьбы юристов, которые ищут лазейки и часто смягчают в суде несовершенство формулировок. Как быть с умными контрактами? Как проверить правильность их бизнес-логики, зная, что исправить ошибку потом будет невозможно? И как их проверить на наличие ошибок в самой программе?
Последний вопрос совсем не праздный. Бывший председатель совета Bitcoin Foundation Питер Вессенес сделал обзор смарт-контрактов Ethereum, доступных для просмотра на dapps.ethercasts.com, в котором оценил вероятный коэффициент ошибок как 100 на 1000 строк кода. Это очень много. В среднем по криптовалютной отрасли число ошибок на 1000 строк кода где-то в диапазоне 15-50. Microsoft выпускает код с 0,5 ошибок на 1000 строк. Лучше всего налажена работа в НАСА — 0 дефектов в 500 000 строках кода.
В смарт-контрактах на платформе Ethereum ошибки опасны вдвойне. Ведь если в биткоине используется примитивный скрипт, который сильно ограничивает действия злоумышленников, то системе Ethereum выполняется тьюринг-совместимый код. Это значит, что в принципе в системе могут работать любые программы, в том числе вирусы и программы с встроенными ошибками. То есть потенциально она менее безопасна.
Оценки по горячим следам
Оценки происшедшего разные и зачастую прямо противоположные. Как, впрочем, и оценки самой The DAO.
«К технической стороне, то есть самой платформе Ethereum никаких претензий нет. Если конкретный фонд или люди будут собирать деньги на инвестиционную компанию через токены Ethereum — это нормально. Но в The DAO упор сделан на автомномный заработок, это — пирамида. Да и реальная польза от использования Ethereum очень мала, так как число транзакций в ней незначительно, а капитализация уже 1 млрд. долл. Сравните — у биткоина около 7 млрд. долл., но биткоин используется намного чаще и все его блоки под завязку забиты транзакциями. Вопрос — что из этих двух явлений похоже на раздутый пузырь? — заявил нам Дмитрий Ермолаев, управляющий инновационного потребительского общества „Польза“, основатель проекта DATACHAINS.World. —
Eсли будет откат транзакций, то доверие к Ethereum резко упадет. Но это даже к лучшему — Ethereum уже давно превратилась в пузырь, который кто-то должен сдуть».
Другие эксперты не так категоричны.
«Это прививка, а не эвтаназия. И думаю, что не последняя. О возможных опасностях в умных контрактах говорилось и раньше, было бы наивно ожидать, что с первого раза будет создана система без ошибок. В мире нет пока ничего подобного с тьюринг-полным языком. Это все еще экспериментальный проект, и даже инвестиции в сотни миллионов долларов этот факт не отменяют», — поделился с нами Иван Тихонов, член правления блокчейн-сообщества, основатель компании Bit Media.
«Ethereum — это R&D-проект, который изящную технологическую идею реализовал на практике. И столкнулся с первыми проблемами реального мира. Правильной реакцией будет подождать, как все будет развиваться. Как будет проходить взрослении. Чтобы технология блокчейн созрела и стала массовой, требуется еще много чего сделать. Нужно найти баланс между гибкостью, приватностью и безопасностью каждого из участников этого процесса», — сказал на форуме rASIA.com директор по криптотехнологиям QIWI Алексей Архипов.
ДАО и государство
Тема атаки на The DAO стала центральной в обсуждениях на круглом «Блокчейн и Интернет вещей» в рамках форума rASIA.com. Участники круглого стола отмечали, что сами покупатели The DAO поддерживали приватность, но как только потеряли деньги — сразу бросились за помощью к государству и к основателю системы. Причем в рамках нашего законодательства они бы никакой поддержки не нашли — никакие «умные» контракты и ДАО в них не отражены, что есть большая проблема.
Ее осознают и на самых высоких уровнях власти. «Сегодня активно развиваются технологии блокчейн, умные контракты. С их помощью формируются автономные от государства саморегулируемые системы, которые начинают жить по своим неписанным законам. Для правоведов — исключительно интересные задачи. Сделки по передаче имущества, по удостоверению прав на имущество заключаются и исполняются в автоматическом и полуавтоматическом режиме. Взаимодействие в сети идет не между людьми, а между электронными устройствами. Такие устройства обмениваются данными, осуществляют действия от имени своего владельца. Распространяется Интернет вещей. Эта ситуация требует от всех нас напряжения творческих сил, новых эффективных решений, которые могут стать основой для новой области права», — сказал на ПМЭФ’2016 премьер-министр Дмитрий Медведев.
***
Похоже, что The DAO заканчивает свое существование. Но это не значит, что ущербна сама идея децентрализованных автономных организаций, работающих без участия людей. Этот вопрос пока открыт. Путь ДАО не прост и мы находимся еще в самом начале этого пути.
Автор статьи — к.т.н., член АРСИБ.