The dao ethereum что это

Захватывающая история The DAO: работа над ошибками

17 июня 2016 года произошла, пожалуй, самая масштабная атака за всю историю криптоиндустрии — из-за ошибки в коде перспективный и очень популярный в то время проект The DAO лишился более 60 миллионов долларов.

Журнал ForkLog решил вспомнить эту дату и попытаться проанализировать, к чему привело это событие.

Немного предыстории

На заре ICO, то есть всего-то около года назад — 28 мая 2016, закончилась распродажа токенов проекта по децентрализованному управлению инвестициями The DAO, который основала команда стартапа Slock.it.

До поры до времени у The DAO дела шли очень хорошо: и сообщество проект полюбило, и Виталик Бутерин стоял за него горой, и краудсейл прошел, мягко говоря, успешно — собрали более 12 миллионов ETH, что на тот момент составляло около 165 миллионов долларов (сегодня — более 4,3 миллиарда долларов!).

13 июня 2016 года, за несколько дней до взлома, журнал Forklog писал:

«за последние сутки The DAO вырос в стоимости почти на 16% по отношению к доллару ($ 0,158) и более чем на 5% по отношению к ETH (0.000228)». (Для справки: биткоин тогда стоил 695 долларов).

Что-то пошло не так…

Однако буквально за неделю до краха The DAO редакция нашего журнала опубликовала несколько занимательных материалов, которые напрямую рассказывали о возможных уязвимостях проекта. Это «Атаки Влада: обзор основных уязвимостей The DAO» и интервью со Стефаном Туалем, сооснователем и операционным директором стартапа Slock.it, который как раз занимался созданием инвестиционного фонда The DAO.

В разговоре с Туалем годичной давности ForkLog интересовался тем, насколько оправданы опасения сообщества насчет возможных атак на проект. Оценивая содержание этого текста сейчас, можно сказать, что команда Slock.it отнеслась несерьезно и к возможным уязвимостям, и даже к честному разговору о них.

«Я спокоен по поводу будущего The DAO. Все произошедшие события сделали его самым большим проектом в истории, финансируемым за счет краудфандинга, и по сути самым крупным венчурным проектом. The DAO позволит появиться компаниям, которые в ином случае никогда бы не существовали», — заявил 10 июля 2016 года Стефан Туаль.

В это же время пользователи GitHub и участники проекта забили тревогу по поводу «ужасной атаки на контракты кошельков». К решению этой проблемы подключился и сам Стефан Туаль, который уже на следующий день опубликовал ссылку на фикс и анонсировал серию апгрейдов ПО. Эту уязвимость Туаль назвал «рекурсивным вызовом» — именно она и привела проект The DAO к краху.

Рекурсивный вызов и крах The DAO

Именно столько в пятницу 17 июня в 9 часов утра стоил ETH:

А примерно в полдень стало известно, в чем причина резкого падения цены токена: The DAO атакована, украдено $50 миллионов.

На рынке началась паника. Под горячую руку попали и основатели The DAO, и Виталик Бутерин, и Ethereum. Многие криптоэксперты и члены сообщества хоронили эти проекты прямо в одной могиле. Кульминацией обширной дискуссии вокруг произошедшего стало эпичное появление непосредственно атаковавшего The DAO.

Представим, что после ограбления банка во время разбирательств между полицией и плачущими вкладчиками внезапно появляется человек в маске и говорит: «Спокойно, ребята! Это моих рук дело, но все законно». Вот примерно это и произошло, правда, в онлайн-пространстве: атаковавший написал открытое письмо, в котором не то что не признавал вины, но и грозил судом в случае, если его лишат «награбленного».

«Я внимательно изучил код the DAO и решил поучаствовать после того, как нашел функцию, при запуске которой разделение вознаграждается дополнительными эфирами. Я задействовал данную функцию и законно получил 3 641 694 эфира. Хочу поблагодарить the DAO за эту награду. (…) Я оставляю за собой право принять любые и все возможные легальные действия против любых соучастников незаконных краж, заморозок или изъятия моих законно полученных токенов ETH, и я продолжаю активно работать с моей юридической фирмой. Все эти соучастники в ближайшее время получат соответствующие уведомления на свои почтовые адреса. Я надеюсь, что это событие станет ценным опытом для сообщества Ethereum, которому я желаю всего наилучшего», — говорилось в письме.

Однако позже эксперты признали это письмо, достойное того, чтобы войти в историю криптовалют, подделкой. И тем не менее точка в этом вопросе пока не поставлена. Возможно, в будущем мы узнаем удивительные и никому не известные подробности произошедшего 17 июня 2016 года.

Читайте также:  Как поставить bitcoin core

Возвращаясь к атаке, нужно напомнить, что кража была совершена как раз из-за уязвимости под названием «рекурсивный вызов» — она позволяла бесконечно снимать средства The DAO и переводить их в дочернее ДАО посредством многократного разделения ДАО, повторно собирая ETH в рамках одной транзакции.

Однако окно для создания дочернего ДАО составляло ровно 27 дней, и средства с кошелька все это время нельзя было вывести. Сообщество начало искать пути «восстановления справедливости» и в конце концов остановилось на во всех смыслах жестком предложении Виталика Бутерина.

Утешительные итоги

Год спустя можно с уверенностью сказать, что атака на The DAO не погубила ничего, кроме непосредственно The DAO, и подарила сообществу Ethereum Classic, вокруг которого собралось пусть и небольшое, но влиятельное сообщество. Взлом The DAO наоборот показал, что криптовалютный мир весьма устойчив к подобным потрясениям, даже в том зачаточном состоянии, которое было год назад.

Хотелось бы отметить, что в самом начале огромного бума ICO, начавшегося после провала The DAO, на Forklog вышел материал под названием «Уроки DAO: куда приводят мечты». Сейчас эти уроки можно назвать основами успешного выбора ICO в качестве инвестиций. Они не потеряли своей актуальности и сейчас, поэтому их можно процитировать целиком.

  1. Внимательно анализируйте ICO. Важно понимать, что вы покупаете и с какой целью. Жадность и погоня за быстрой наживой рано или поздно приводят к финансовым потерям. Безусловно, даже самые провальные в своей сути криптовалютные проекты в среднесрочной перспективе могут иметь колоссальный спекулятивный потенциал. И если как инвестор вы рассчитываете именно на это, не стоит вкладывать больше денег, чем вы готовы потерять.
  2. Отложенный релиз лучше небезопасного кода. Разработчики The DAO, по всей видимости, не ожидали такого финансового успеха, и это сделало проект привлекательным не только для инвесторов, но и для злоумышленников. Тем не менее, ничто не мешало на некоторое время заморозить проект, ограничив возможность работы с основным контрактом. И только после проведения тщательного тестирования при поддержке сообщества и специалистов по блокчейну и безопасности — запускать основной функционал проекта. То, с чем мы столкнулись в реальности, — непозволительная халатность программистов. В результате репутация отдельных разработчиков пострадала если не окончательно, то очень сильно.
  3. Здесь львы. Идеализм и благие намерения, которыми переполнено криптовалютное сообщество, опьяняют и отвлекают от реального положения дел. В то время как количество новых криптовалют и проектов растет почти экспоненциально, пора обратиться к истории фондовых рынков, чтобы не повторять ошибок прошлого.
  4. Эмоции и паника никогда не приводят к конструктивному решению проблемы.

О том, что произошло после атаки на The DAO, читайте в материале ForkLog, который будет опубликован 20 июля — в день годовщины хардфорка Ethereum.

И не забывайте следить за нашими новостями в Twitter, тем более что он теперь стал, как говорят, такой красивый!

Источник

Рекурсивный вызов: The DAO на грани смерти и хардфорк Ethereum

Ethereum Foundation во главе с Виталиком Бутерином пошли на спасение фондов the DAO в пользу инвесторов. Однако, последние будут иметь возможность только вывести средства — похоже, the DAO пришел конец.

Как сообщил Бутерин в записи на блоге проекта, устранение последствий атаки потребует сначала софтфорка, а потом и хардфорка сети Ethereum:

«Сообщество разработчиков предлагает софтфорк, (без отката; ни одна транзакция или блоки не будут «аннулированы»), который сделает так, что любые транзакции, использующие команды call/callcode/delegatecall и исполняющие код с хэшем 0x7278d050619a624f84f51987149ddb439cdaadfba5966f7cfaea7ad44340a4ba (т.е. The DAO и дочерние ДАО) приведут к недействительности транзакции (не только команды, но и транзакции), начиная с блока номер 176000 (точный номер блока, с которого изменения вступят в силу до момента выпуска кода), предотвращая возможность вывода эфиров после 27-дневного окна. После этого будет осуществлен хардфорк, который позволит держателям токенов забрать свои эфиры», — разъяснил ситуацию Бутерин.

Хронология событий

В пятницу 17 июня произошла атака на The DAO — первый децентрализованный венчурный фонд на базе Ethereum. Сообщения об этом появились в официальном блоге проекта The DAO, в slack-сообществах и в социальных сетях. В течение последующих нескольких часов события развивались очень стремительно и драматично.

Читайте также:  Майнинг криптовалюты не прибыльно

В официальном блоге the DAO был опубликован предполагаемый план действий для устранения последствий атаки. В частности, пользователям предлагалось осуществить спам атаку на Ethereum-адрес проекта, чтобы приостановить утечку средств.

Монеты ETH плавно перетекали на адрес злоумышленника, и на момент публикации новости баланс контракта превышал 3 641 694 ETH или свыше $64 млн. Однако злоумышленник не сможет вывести монеты из созданной дочерней DAO в ближайшие 27 дней (окно создания дочерней DAO).

Реакция рынка

Токен DAO очень быстро потерял в цене порядка 60%, в какой-то момент упав до 0.00007100 BTC за 1 DAO.

Ethereum также отреагировал на атаку, в определенный момент цена криптовалюты упала ниже отметки в 0.02000000 BTC

В свою очередь Виталик Бутерин в связи с атакой на The DAO призвал руководство криптовалютных бирж приостановить ввод и вывод средств, а также заморозить торги. Реакция не заставила себя ждать, и спустя некоторое время в официальном твиттере биржи Kraken появилось сообщение:

«Вывод средств временно приостановлен до появления отчета от @ethereumproject относительно утечки ETH из The DAO. Средства Kraken в безопасности»

Withdrawals temporarily suspended pending report from the @ethereumproject on The DAO ether leak. Kraken funds safe. https://t.co/dmh6V5NB79

Ликвидация атаки и конец The DAO

Позже Виталик Бутерин опубликовал подробный пост о произошедшей атаке, в котором рассказал о сути задействованной уязвимости и дальнейших планах сообщества.

На данный момент, утверждает Бутерин, атака успешно идентифицирована. По его словам, атака на The DAO все ещё продолжается с помощью разновидности «рекурсивного вызова». Это позволяет бесконечно снимать средства The DAO и переводить их в дочернее ДАО посредством многократного разделения ДАО, повторно собирая эфиры в рамках одной транзакции. Тем не менее, адрес дочернего ДАО, куда уходят похищенные средства установлен, а у сообщества есть около 27 дней (окно для создания дочернего ДАО, в рамках которого вывести средства невозможно), чтобы устранить проблему.

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

На текущий момент, по словам Бутерина, майнеры могут спокойно продолжать подтверждение транзакций в нормальном режиме, потом дождаться софтфорка и установить его, если они согласны на такое развитие событий.

Отдельно он отметил, что использованная хакерами уязвимость касается только The DAO:

«Это проблема, которая влияет конкретно на The DAO; Ethereum в полной безопасности», — заявил Бутерин.

Держателей DAO-токенов лидер Ethereum призвал «сидеть смирно и не переживать», а биржи продолжать торги эфиром (не упомянув, однако, о токенах DAO).

Кроме того, Бутерин предостерег создаталей контрактов на Ethereum от создания контрактов на сумму более $10 млн и призвал к осторожности при разработке, чтобы не создать баги, позволяющие многократно снимать средства в рамках одной транзакции. Во избежание подобных багов в будущем сообществу — ориентировочно в течение недели — будут представлены рекомендации по созданию контрактов. Также Бутерин напомнил, что создатели удобных инструментов для разработки безопасных контрактов на Ethereum являются основными кандидатами на получение грантов.

Примечательно, что данная уязвимость была обнаружена примерно неделю назад, и ранее разработчики сообщали об её устранении. Тогда сооснователь Slock.it Стефан Туаль подробно рассказал об особенностях данной уязвимости и анонсировал релиз обновлений, устраняющих её. По всей видимости, что-то пошло не так.

«The DAO должны были больше времени уделить тестированию и работе в тестовой сети, но слишком всё быстро происходит, и сообщество постоянно ждёт продуктов на blockchain «завтра». Стефан [Туаль — прим.ред] все равно молодец. […] The DAO стали второй по значимости организацией, которая рассказала, что такое децентрализованные автономные организации, и своим появлением создала рынок моделей ДАО на платформе Ethereum и её аналогах”, — прокомментировал ситуацию лидер команды разработчиков проекта Aira Сергей Лоншаков.

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

Несмотря на завершение эксперимента The DAO, такое использование принципа too big to fail со стороны Ethereum Foundation привело ко вздоху облегчения со стороны участников организации, что отображено в заголовке соответствующей записи в официальном блоге:

Читайте также:  Источники финансирования реальных инвестиции инвестиционных проектов

«Краткое резюме по атаке #theDAO: форки и координация с [Ethereum] Foundation позволят вернуть все похищенные средства. Те же форки позволят передать эфиры из токенов DAO в умный контракт, который содержит только функцию выведения средств. Так как никакие деньги в The DAO не были потрачены и ничего не было украдено, ничего не пропало», — прокомментировал редакции Forklog сооснователь Slock.it Стефан Туаль.

Несмотря на сложившуюся ситуацию, представители Slock.it считают её только временной преградой к успеху концепции ДАО, однако о дальнейших планах сообщать, очевидно, пока не готовы.

Комментарии экспертов

Даниэль Надь, разработчик в проекте Ethereum:

«Суть бага в том, что единовременность (атомарность) вывода средств и уничтожения права голоса была нарушена, и при хитром инициировании раздела [на дочернюю DAO — прим.ред] образовался промежуток, куда можно было впихнуть запуск еще одного раздела. Таким образом, злоумышленники могут вывести все средства из DAO. Медленно, но верно. Этот конкретный контракт DAO — мертв, все вложенные в него эфиры потеряны вкладчиками и достанутся злоумышленнику. Хотя потратить он их сможет только через три недели. Тех, кто не вкладывались в DAO, проблема затронула лишь косвенно, путем влияния на цену эфира. Осталось два важных вопроса: Кто виноват? Что делать?»

Сергей Лоншаков, лидер команды разработчиков проекта Aira:

«Данная атака — хорошее испытание для сообщества и должна отрезвить тех людей, кто думают, что создать ДАО — это просто. The DAO первые, кто сделали на Ethereum, то о чем мы много говорили, как о перспективе — организации, которая имеет запрограммированные правила. Но предусмотреть всего сразу и когда ты первый — практически невозможно, нужно быть Сатоши, наверное. Я уверен, что решение будет найдено, возможно, оно не будет всех устраивать, но оно будет. Хоронить The DAO рано, скорее всего этот прецедент откроет возможности для других команд показать свою модель ДАО на фоне текущих проблем. Так что, мне кажется, всё к лучшему».

Андрей Хаврюченко, hacking distributed systems since 1998:

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

Панические настроения в сообществе с одной стороны заставляют инвесторов нервничать и продавать имеющиеся на руках монеты, с другой — открывают большие спекулятивные возможности. Вероятно в ближайшие несколько дней торговля ETH будет идти очень неспокойно. Напомним, что совсем недавно Ethereum установил новый ценовой рекорд — стоимость одной монеты превысила $21.

«Мы инвестировали в данный проект, как и в Ethereum, понимая риски, что подобное может произойти, но нам эта инвестиция была интересна в том числе как эксперимент децентрализованного управления. Жаль, что он так быстро закончился. Что касается инвестиций, все эфиры инвестированные в the DAO будут возвращены, то есть можно будет обменять токены DAO на ETH. Сейчас на Poloniex премия за риск, если вдруг что-то пойдет не так, около 20%. Поэтому те, кто держит эфиры могут подзаработать. Что касаемо самого Ethereum, ликвидация The DAO отразится негативно на его цене, так как проект собрал 14% эфиров, и теперь они снова возвращаются на рынок. Многие инвесторы в связи с увеличением в портфеле ETH (поскольку они поменяют токены DAO обратно на ETH) будут продавать их. Плюс негативный фон также отразится на цене, так как инвесторы будут чуть менее оптимистичны. Долгосрочная рекомендация по Ethereum — buy and hold», — рассказал ForkLog сооснователь Cyber.fund Константин Ломашук.

Уже через несколько часов после начала атаки было заявлено о будущей ликвидации уязвимости посредством софтфорка в спокойном режиме, так как по правилам разделения ДАО злоумышленники не смогут вывести средства в течение 27 дней. При этом, как сообщил Виталик Бутерин, никаких откатов транзакций или блоков не будет. Прежде всего потому, что откат транзакций сделает недействительными доказательства, ведущие к злоумышленнику.

ForkLog продолжает следить за развитием событий.

Источник

Оцените статью