What happened to the DAO — and was it good for us? / Печальный конец DAO — и как мы все остались в выигрыше {ENG + RUS}

SmartValley
8 min readApr 12, 2018

{ENG}

Do you still remember the DAO? No, we don’t mean “a DAO” — that is, a decentralized autonomous organization — of which there are so many these days. We are talking about the DAO, the original organization, the largest ICO of its time, which collapsed in June 2016, changing the blockchain community forever. If you are new to this space, then perhaps it is useful to remind you of what happened then — as part of our history lesson series (read previous installments here and here .

Talking about the DAO, we have to remember that it appeared in the time when the idea of self-governing decentralized communities was still new and exciting. The DAO was designed as a blockchain-powered crowdfunding platform where token could decide which projects they wanted to invest it. It was all consensus-based, independent from any central authority — it had an air of freedom to it. The founder expected to raise circa $5 million, but ended up raising $150 million, making the DAO the most successful ICO to date.

Even before the DAO went live, there were voices expressing concern about its code. You see, all token holders could demand for a return of their money if they no longer wished to participate in the DAO. This rule was in line with the general self-governance philosophy. You had to submit a refund request, wait 28 days, then reconfirm it — and you did it through the system itself, it wasn’t a procedure of selling tokens at an exchange

As we now know, the smart contract code had a bug. The system would update a token holder’s ETH balance AFTER the withdrawal — there was a tiny delay between the transaction and the updated state when the system didn’t really know how much ether you had. This could be (and eventually was, as we’ll see) exploited via a so-called recursive call — nesting one withdrawal request within another within another, and so on, to keep draining ether before the account balance could be updated. Once again, there were people who tried to warn the DAO team, and for a while it seemed like a solution had been found — a memo was even published saying that token holders’ funds were not in any danger. How wrong they were!

Finally, on June 17, 2016, the attack came. The hacker (whose name is still unknown!) used recursive calls to drain $70 million in ether — today this amount of ether would be worth around $1.2 billion. Eventually it was possible to block the attack, but the money had been drained — what was the community to do? Considering that 15% of all the ether in existence was in the DAO, the solution would have a strong impact on the whole blockchain community.

Remember that you had to wait 28 days before confirming the withdrawal? It applied to the attacker, too, so that the community had 27 days to do. Two solutions quickly emerged. The first was a “soft fork” — blocking all withdrawals from the DAO and any child DAOs created by its users. That is, sealing all the ether held by the DAO members wherever it was at that moment. Mining and the rest of the operations could go on as normal. The soft fork would not restore stolen funds, but it would give the community time to design another soft fork to return the ether to its owners.

The second solution was a hard fork. A new smart contract would be implemented, replacing the previous one, with a single function — withdraw. All the ether would be returned to the token holders (meaning that if you held any DAO tokens at the moment of the hard fork, you would get your money back, but if you had sold them at some point, you wouldn’t get anything). It would be a complete rollback — leaving the thief without the ether but essentially ending what many considered the founding organization of the new global economy.

As you can imagine, a heated debate ensued, mostly centering on the issues of independence from censorship and on self-governance. The hard fork especially seemed like a very centralized way to solve the question. Many even though that nothing should be done at all: indeed, if the DAO had to be run by the smart contract only, then no authority should interfere; and if the smart contract had a bug, well — that’s life.

Finally, the hard fork option was chosen and implemented. A minority of users chose not to do the upgrade and stayed back as the ETC — Ethereum Classic (which is still alive and quite well). Those who accepted the hard fork became the new ETH community. Of course, ether took a plunge, and many though that would be the end of it. But now, a year and a half later, we see that nothing terrible really happened.

In fact, some say that the DAO disaster was actually great for the market — the community showed its ability to solve problems and improve the system. One proof is that ETH is worth around $400 today, while ETC is traded below $14, while the original ether was worth $20 just before the attack. A x20 growth is quite a proof that the system can defend and repair itself, isn’t it?

The DAO story teaches us yet another lesson — that you have to be very thorough in your checks before releasing your project. That is why now all smart contracts of worthy projects are subjected to audit in order to identify possible bugs. Finding a good smart contract expert can be challenging, but Smart Valley will make it much easier. In our global expert community, project founders will be able to contract or hire all the professionals they need for their ICO — not just developers and coders, but also specialists in finance, law, marketing, HR, and more. Smart Valley begins accepting prior applications for tokens on April 11 — visit our website now and find out how you can participate!

{RUS}

Помните организацию DAO? Нет, речь не об аббревиатуре DAO — “децентрализованная автономная организация” — как себя нынче величают половина всех ICO. Речь о том самом DAO, которое провело крупнейшее ICO на тот момент, а потом обрушилось в июне 2016 года, в процессе изменив ход блокчейн-истории. Если вы в то время еще не интересовались крипто-индустрией, то вам будет полезно узнать о тех событиях (предыдущие эпизоды наших уроков истории можно прочесть здесь and здесь).

Говоря о DAO, нужно помнить, что этот проект появился в те (уже кажущиеся далекими) времена, когда самоуправляемые децентрализованные сообщества были всем в новинку. DAO создавалось как краудфандинговая платформа на блокчейне, не зависящая ни от каких властей и авторитетов — от проекта веяло духом свободы. Основатели рассчитывали собрать около 5 млн долларов, а в итоге собрали 150 миллионов — больше, чем любое другое ICO до них.

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

Как впоследствии стало известно, в коде смарт-контракта был баг. Система обновляла ETH-баланс счета владельца токенов уже ПОСЛЕ вывода средств, то есть между транзакцией и обновлением счета был крошечный промежуток, когда система не знала, сколько у пользователя осталось денег. Этим можно было воспользоваться (и именно это в итоге и сделал хакер, как мы вскоре увидим) при помощи так называемого рекурсивного запроса — вставляя один запрос на вывод внутрь другого, как матрешку, чтобы безостановочно выводить эфир, не давая системе опомниться и обновить баланс. Подчеркнем: многие пытались предупредить команду DAO о баге, причем в какой-то момент даже казалось, что решение найдено и основатели опубликовали меморандум о том, что токены участников были в полной безопасности. Как же они ошибались!

Роковой час пробил 17 июня 2016 года. Хакер (имя которого до сих пор неизвестно) вывел 70 миллионов долларов в эфире по тогдашнему курсу — на сегодняшний день сумма бы равнялась 1,2 миллиарда! В итоге атаку удалось заблокировать, но деньги уже ушли со счета. Что было делать сообществу? Учитывая, что 15% всего эфира, находившегося тогда в обращении, было вложено в DAO, любое принятое решение стало бы знаковым для всей индустрии.

Помните, что перед подтверждением вывода нужно было ждать 28 дней? Это правило относилось и к хакеру, так что у сообщества было 27 дней, чтобы принять меры. Было предложено два варианта. Первым был софт-форк с блокировкой выводов средств из DAO и любых дочерних DAO, созданных пользователями; таким образом, весь эфир участников DAO оказался бы заморожен, при этом майнинг и остальные операции могли бы продолжаться в нормальном режиме. Софт-форк не вернул бы украденный эфир автоматически, но зато дал бы передышку, нужную, чтобы спланировать новый софт-форк для собственно возврата средств.

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

Нетрудно представить, какие ожесточенные дебаты за этим последовали: речь шла о вопросах самоуправления, свободы и цензуры. Хард-форк казался уж слишком централизованным решением, а многие вообще считали, что лучше не предпринимать ничего: если с самого начала было решено, что DAO будет управляться только смарт-контрактом, а контракт этот оказался дефективным, то так тому и быть и вмешиваться нечего.

Наконец был выбран и внедрен вариант хард-форка. Меньшинство пользователей решили отказаться от апгрейда и остались в старой сети, получившей название

ETC — Ethereum Classic (которая до сих пор жива и вполне здорова). Те же, кто согласились на хард-форк, стали новым сообществом ETH. Разумеется, цена эфира упала, и некоторые даже верили, что криптовалюте пришел конец. Но сейчас, полтора года спустя, ясно, что ничего особенно страшного не произошло.

Существует даже мнение, что катастрофа с DAO на самом деле очень помогла рынку: сообщество показало, что может решать проблемы самостоятельно. Доказательство этому — тот факт, что ETH на момент написания этой статьи стоит около 400 долларов, а ECT — всего 14, при том что перед атакой на DAO оригинальная версия эфира стоила 20 долларов. Двадцатикратный рост — это ли не знак того, что система очень даже жизнеспособна?

История DAO учит нас еще кое-чему: перед выпуском проект на рынок необходимо все очень тщательно проверить. Вот почему смарт-контракты всех стоящих проектов ныне обязательно проходят аудит. Найти хорошего эксперта по смарт-контрактам может быть непросто, но со Smart Valley эта задача значительно облегчится. В нашем глобальном сообществе экспертов основатели проектов смогут подобрать всех профессионалов, нужных для хорошего ICO: не только разработчиков, но также финансистов, юристов, маркетологов и так далее. Smart Valley уже принимает заявки на покупку токенов — посетите наш официальный сайт и узнайте, как принять участие!

--

--