A deep dive into the rise and fall of “The DAO” which caused the hard fork of Ethereum
"The DAO" was created on the Ethereum platform by a company called Slock.it which is now “BC Development Labs”. It was meant to let people invest in and manage new businesses directly on the Ethereum blockchain. The idea was that because everything was backed by Ethereum and recorded on a public ledger, there was no need for human negotiation. The DAO was launched on April 30, 2016, and quickly raised a record amount of money for crowdfunding. But shortly after, someone exploited a flaw in the code and stole millions of dollars worth of cryptocurrency. The project was disbanded and the supposedly "immutable" ledger was changed. This article explains how The DAO was supposed to be managed, compared to how it was actually managed during and after the "exploit".
Visions of DAO
In Vitalik Buterin's proposal for decentralized autonomous organizations, a DAO is run by both human and "robot" participants. The robot participants are algorithmic rules that run on the Ethereum blockchain and respond automatically to inputs according to programmed rules. Inputs can come from various sources, such as fully autonomous sensors (like a digital thermometer), online inputs (like a change in stock price), or real-world decisions made by humans. Using these inputs and pre-programmed logic stored on a distributed blockchain, a DAO would automatically take action in an irreversible way (all changes would be written into an immutable distributed ledger). Some potential actions a DAO could take include distributing cryptocurrency (like ETH) or triggering software or electromechanical devices.
The DAO was a decentralized investment platform funded by the public and built on the Ethereum platform. It was run through a direct-democracy system, making it the first large-scale example of a DAO of that time. Other DAOs exist with different features, markets, and governance structures. The DAO was launched as an alternative to centralized systems like Kickstarter and aimed to fund projects using decentralized crowdfunding. Many "initial coin offerings" were launched, raising large amounts of investment from unvetted and amateur investors.
To raise funds for a pool of investment controlled by DAO token-holders, The DAO had a 28-day funding period from April 30 to May 28, 2016. During this time, anyone could exchange ETH cryptocurrency for DAO tokens. Tokens would then be used to fund and control "proposals" on The DAO platform. Anyone with a minimum token deposit could create a proposal to be voted on by token holders. Projects could choose to have all decisions voted on by members, or only major decisions. The members holding the most tokens would have more influence over decisions.
Before the exploit
Before the launch of The DAO, many people were worried about how safe and well-run it would be. Some people released a paper listing eight possible security risks, but these were mostly about how people might try to cheat the system, not actual problems with the code. Still, because these people were respected in the field, many others in the community agreed that The DAO should wait before starting. The people in charge of The DAO said that they would fix any problems and that everyone should stay calm. But later, some of these people admitted that they were worried about the situation because The DAO was so successful but also hard to control.
Between June 5 and June 9, 2016, a technical bug called a “race to empty” attack was found. This was just days before The DAO was supposed to start (2016). To make things safer and reassure the public, Tual said on June 13 that they had made a 1.1 update to The DAO. They had been working on this for “over a month”. It was supposed to fix game theory issues found by Mark, Zamfir, and Sirer, as well as technical fixes for other problems, like the “race to empty” attack. Tual made it clear that Slock.it didn't “own” or “run” The DAO. This was important because The DAO was big and rich, and Slock.it wanted to stay separate from the DAO framework. Because of how the governance worked, Tual said the technical fixes (mostly made by Slock.it) couldn't be used until:
The DAO's token-holders voted for the update (after two weeks), and
Ethereum miners approved and made the change.
Meanwhile, while the Slock.it team was working on updating version 1.1, there was a serious security risk called the "race to empty" attack. This exploit allowed someone to exit the DAO and withdraw funds multiple times before the balance could be updated. A similar project called "MakerDAO" had already confirmed that the attack worked and warned The DAO developers about the risk. On June 12, just before Tual's statement about the version 1.1 update, he issued a statement about the security risk. He said that "no funds were at risk" (which was technically true but he later regretted it) and that the update would fix the problem.
The Slock.it teams continued with The DAO's original schedule, even though they didn't have much control over the platform yet and there was no money at risk. They said they might wait until they fixed security issues before adding new features. Slock.it and community members checked the code carefully for bugs, but they didn't find any. The DAO had built-in periods for proposals and creating new child DAOs, and a seven-day delay window for the withdrawal-like "split" action. This meant that even if token-holders were malicious, they couldn't take their money out of The DAO right away. The earliest date for them to get their money back was July 15, 2016. The DAO launched with the 1.0 framework and an upgrade path to 1.1 software, which needed community approval and review.
On June 17, 2016, an unknown person used a trick to steal a lot of money from The DAO (3,689,577 ETH, or about 30% of the total). Someone on Reddit named "ledgerwatch" first noticed and said, "I think TheDAO is getting drained right now" . Soon after, a group of important people working on Ethereum got together on a chat app called Slack to discuss what to do. They knew the thief would want to change the stolen money into regular money, so they asked big money trading places to stop trading with ETH. Some trading places did not want to stop trading because they thought it would be bad for business, but they finally agreed to stop trading because they knew it was important. With no place to go and other people trying to stop the thief, the thief gave up and the stolen money was not being used (because of a safety feature of The DAO). After this, they talked more about what to do and who was to blame (many people were angry with Slock.it and Tual), and they started a clock to find a way to fix the problem.
After the exploit
During the next month, Buterin debated solutions publicly. These solutions included immediate counterattacks, complicated "soft forks," and clean and severe "hard forks." Christoph Jentzsch, the founder, and CTO of Slock.it apologized publicly, and The DAO funds continued to be attacked and blocked through technical countermeasures. The value of ETH dropped, and it was rumored that an unknown individual had shorted the price of ETH before the exploit and made millions in the aftermath. This fueled the belief that the true purpose of the attack was to devalue ETH and make money by short-selling. Debates over solutions raged online, driven by ideologies that saw any kind of "hard fork" as existential deceit. A hard fork would erase the event from the collective and supposedly immutable ledger. A letter purportedly written by the attacker circulated, arguing that since The DAO was defined by its code, the "exploit" was nothing more than a clever and legal loophole. The letter writer and a vocal minority in the community argued that "code is law," echoing Lawrence Lessig's influential slogan. Therefore, they argued that any effort to block the "attacker" would be morally wrong and against the very spirit of decentralized autonomous organizations.
In the following weeks, Buterin and the Ethereum Foundation used their influence to create a new version of the Ethereum software, which they called a "hard fork". This update moved all tokens to a special "withdrawal-only" contract on the Ethereum blockchain. Most miners accepted this change, and the blockchain was updated. As a result, The DAO and its political goals were removed from the blockchain.
The hard fork caused a split in the Ethereum community. Some people called "moderates", thought the hard fork showed how flexible and practical Ethereum is. Others, called "ideological", saw it as censorship by a powerful group or as proof that blockchain technology couldn't live up to its idealistic promises. A few miners refused to update their Ethereum software and split from the main blockchain. This new blockchain, called "Ethereum Classic", was still vulnerable to attacks like The DAO. However, it gained a small following and was traded on exchanges. Eventually, the Ethereum community moved on from The DAO experiment.
The rise and fall of The DAO marked a turning point in the Ethereum community's view of decentralized autonomous organizations. The DAO was intended to be a revolutionary investment platform that could bypass centralized systems like Kickstarter, but it ultimately failed due to a serious exploit. The hack led to a hard fork in the Ethereum blockchain and a split in the community. Although The DAO was disbanded, the experiment left a lasting impact on the blockchain community and sparked important debates about the role of centralized control in decentralized systems.
Quinn DuPont. “Experiments in algorithmic governance: A history and ethnography of “The DAO” a failed decentralized autonomous organization”. In: Bitcoin and Beyond. Routledge, 2017.