The DAO (Decentralized Autonomous Organization) was one of the most ambitious experiments in decentralized governance and venture funding powered by smart contracts on the Ethereum blockchain. However, just two months after its launch, The DAO was exploited for over $50 million worth of Ether, leading to much debate and Ethereum’s most controversial hard fork to date.
Origins of The DAO
The DAO was created by the Germany-based startup Slock.it, led by founders Simon Jentzsch and Stephan Tual. Slock.it planned to build a “Universal Sharing Network” for renting out properties and objects on Ethereum using smart locks connected to the Internet of Things.
To fund their project, Slock.it decided to launch The DAO – a decentralized venture capital fund that would allow investors to vote on funding proposals for Ethereum projects through smart contracts running on the blockchain. This would remove middlemen and gatekeepers, making project funding more transparent and democratic.
The DAO officially launched in April 2016, with a 28 day crowdsale to fund The DAO by selling DAO tokens to investors in exchange for Ether (ETH).
Hype and Funding Frenzy
In the bull market of early 2016, the crypto community was filled with optimism around Ethereum and its ability to support decentralized applications like The DAO using smart contract programming.
The DAO was seen as a milestone proving that complex financial transactions and governance could happen transparently on the blockchain through code alone without centralized control.
Over 11,000 investors participated in The DAO crowdsale, sending over 12 million ETH (worth over $150 million USD at the time) to The DAO’s smart contract address in exchange for DAO tokens. This accounted for 14% of all Ether in circulation at the time.
Slock.it had delivered a proof-of-concept for a decentralized venture capital fund governed completely by smart contracts and the wisdom of the crowd. Or so it seemed…
Discovery of Critical Vulnerability
Just before The DAO crowdsale completed in May 2016, several blockchain experts began warning about vulnerabilities in The DAO’s code that could lead to the theft of investors’ funds.
Most prominently, Peter Vessenes publicly described a “re-entrancy attack” flaw that he reported privately to Slock.it. Unfortunately, the vulnerability was not addressed in time before the launch.
On June 17, 2016, an attacker began quietly exploiting the re-entrancy vulnerability identified by Vessenes to start siphoning off funds from The DAO into a “Child DAO” under their control.
They took advantage of the fact that when The DAO smart contract recursively called itself to transfer Ether to the attacker’s account, the smart contract balance was not updated until after the funds were withdrawn. This meant they could repeatedly request the same Ether over and over again before their balance was deducted.
By June 18, the attacker had managed to drain over 3.6 million Ether into their Child DAO account – roughly $50 million USD at the time and a third of The DAO’s total funds.
Crisis and Proposed Solutions
With investors’ funds now locked in the attacker’s Child DAO, the Ethereum community urgently mobilized to discuss potential solutions:
- A soft fork was proposed by Ethereum co-founder Vitalik Buterin and the Ethereum Foundation to blacklist the attacker’s Child DAO on the network, preventing them from accessing the funds. This involved a quick change that only required a majority of Ethereum miners to upgrade their nodes.
- A more controversial hard fork solution was also put forward – this would entail making a breaking change to reverse and erase the hack from the Ethereum blockchain history by moving the funds back into The DAO’s original smart contract. This would fully refund investors’ Ether by sacrificing the immutability and “code is law” ethos of blockchain.
Heated arguments ensued between hard fork supporters and opponents both on moral/ethical grounds and technical implementation details throughout June 2016 leading up to the fork decision.
The Ethereum Hard Fork
Ultimately the hard fork proposal received overwhelming support, passing with near unanimous support from miners and the community. Ethereum conducted the hard fork on July 20, 2016 at block height 1,920,000. This moved funds from The DAO (along with the hacker’s Child DAO and other child DAOs) into a “WithdrawDAO” smart contract to facilitate refunds back to investors.
However, a vocal minority objected to the hard fork on ideological grounds related to blockchain immutability or technical risks. They continued running versions of Ethereum software that did not include the hard fork code. This effectively split Ethereum into two parallel blockchains:
- Ethereum (ETH) – The forked chain with the hacked funds removed and existing as the mainstream Ethereum most people use today.
- Ethereum Classic (ETC) – The original pre-fork blockchain where the record of The DAO hack still exists and the hacked funds may still be retrievable.
This marked Ethereum’s most controversial and divisive event in its early history – the repercussions of which are still felt today with the split Ethereum ecosystem of ETH and ETC.
Refund Process for Investors
With The DAO’s funds moved by the ETH hard fork into a refund contract, withdrawal processes were opened up for investors to claim back their initial ETH contributions:
The DAO to ETH Refund
A simple smart contract was deployed to let investors withdraw 1 ETH for every 100 DAO tokens they held. This allowed investors to get back their original ETH contributions at the DAO token crowdsale rate.
The DAO Extra Balance Refund
Some contributors had also paid additional ETH to The DAO’s “ExtraBalance” account in the chaotic last 2 weeks of the crowdsale. A separate refund smart contract was created to return these extra ETH amounts to their respective contributors.
The DAO to ETC Refund
Since The DAO hack also existed on the ETC chain, “White Hat Group” hackers intervened to drain remaining funds from The DAO into a separate Child DAO for safekeeping. These recovered ETC funds were made available for refund too at a rate of about 0.73 ETC for every 100 DAO tokens held.
Withdrawal of refunds from both ETH and ETC has continued over the years, but some amounts still remain unclaimed in the refund contracts.
The whole DAO saga and refund process was a formative growing pain for the Ethereum ecosystem. It sparked debate about blockchain governance, smart contract security, and handling crisis situations without centralized intervention. The lessons around writing resilient smart contracts and decentralized decision-making learned from The DAO continue to inform Ethereum’s ongoing progress.