Skip to main content
Crypto history & big events

The DAO Hack and the Ethereum Classic Fork

Pomegra Learn

The DAO Hack and the Ethereum Classic Fork

The hack of the Decentralized Autonomous Organization (DAO) stands as one of cryptocurrency's most contentious moments. What began as an attack on a smart contract snowballed into a fundamental governance crisis that challenged core principles of cryptocurrency. The response to the attack—a decision to modify Ethereum's blockchain to reverse the theft—exposed philosophical fractures within the cryptocurrency community and resulted in the network splitting into two competing versions. The DAO hack and its aftermath reveal essential tensions between immutability and governance, between technical rules and human values, and between different visions of what cryptocurrency should be.

The DAO: Ambition and Design

The DAO was conceived as a novel experiment in decentralized governance and investment. Rather than having a company controlled by a board of directors, the DAO would be a smart contract that investors could direct through voting. Participants would send Ether to the DAO smart contract and receive voting tokens in exchange. These tokens could be used to vote on how the DAO should invest its pooled capital.

The project was backed by Slock.it, a blockchain startup led by Christoph Jentzsch and his brothers. Slock.it proposed that the DAO could eventually be used to manage physical devices and resources—a decentralized network of smart locks and digital items that could be rented or shared without central coordination. The DAO itself would be the mechanism through which this ecosystem could self-govern and allocate resources.

In April 2016, the DAO opened its crowdsale to anyone who wanted to participate. Over two months, participants sent approximately 12.7 million Ether to the DAO, making it one of the largest cryptocurrency projects by capital raised. This Ether was worth roughly $150 million at the time, making the DAO larger in capitalization than most cryptocurrency projects. The scale of the project reflected enormous enthusiasm for the concept of decentralized autonomous organizations.

The DAO smart contract was designed to be democratic. Proposals could be submitted by participants, and other participants could vote on whether the DAO should allocate capital to implementing the proposals. If a proposal passed, the DAO would execute the decision automatically. This mechanism theoretically created a system where investors collectively governed how their capital was used.

The Recursive Call Vulnerability

The attack on the DAO exploited a subtle programming error in the smart contract. The vulnerability was related to how the Solidity programming language handled fund transfers. When the DAO contract sent Ether back to an investor (returning their investment), it would call a function in the recipient's smart contract to complete the transfer.

The vulnerability centered on what developers called "recursive calls." When a smart contract transfers Ether to another contract, the receiving contract executes code before the DAO records that the withdrawal has been completed. If the receiving contract itself calls the DAO contract asking for a withdrawal again, the DAO might process this second request even though it shouldn't. An attacker could potentially create a contract that endlessly requests withdrawals from the DAO, with each request occurring before the previous one was recorded as completed.

This is a subtle vulnerability that reveals the challenges of smart contract programming. Unlike traditional software development, errors in smart contracts handle real money and affect thousands of investors. The vulnerability was not a novel security problem in computer science—recursion and state management are well-understood domains—but applying these principles to financial contracts written in Solidity was still a relatively immature field.

The Attack Unfolds

On June 17, 2016, an attacker began exploiting this recursive call vulnerability. Using a custom smart contract, the attacker drained Ether from the DAO. Over several hours, approximately 3.6 million Ether—worth roughly $45-50 million—was transferred from the DAO to the attacker's contract. The attacker had no direct access to the stolen Ether but had placed it in a "split" contract that would release the funds after a delay.

The attack was unusual because the Ethereum community could actually see the entire transaction history on the blockchain. The stolen Ether and the attacker's subsequent movements were perfectly visible to anyone examining the blockchain. Unlike traditional hacking where attackers operate in secrecy, this attack was completely transparent—everyone could watch it happen in real time.

The response was immediate panic. DAO token holders realized they had lost roughly 30% of the DAO's value. The broader Ethereum community faced a crisis. Users who had sent Ether to the DAO to participate in the experiment had lost a substantial portion of their investment. The smart contract code, which was supposed to be secure by virtue of running on a decentralized network, had been exploited due to a programming error.

The Governance Crisis: Immutability Versus Reversal

The DAO hack created an unprecedented governance situation. The attacker had, technically, simply called a function in the DAO smart contract. They had exploited a vulnerability in the code, yes, but the code had executed exactly as written. The Ether moved to the attacker's contract through the same mechanisms that legitimate DAO operations used.

This situation raised a fundamental question: should the Ethereum community modify the blockchain to reverse the theft? On one side were those who argued that the immutability of the blockchain was sacred. In this view, modifying the blockchain to reverse a transaction—even one resulting from a security vulnerability—violated the core principle that no authority could undo transactions. If Ethereum developers could roll back this transaction, they could potentially roll back any transaction. This power to reverse transactions undermined the entire purpose of cryptocurrency.

On the other side were pragmatists who argued that code errors were not the same as legitimate transactions. The attacker had exploited a bug, not designed into the protocol but rather a mistake in the DAO's smart contract. Reversing this specific attack would not create a dangerous precedent of arbitrary blockchain modification; it would simply correct a catastrophic error. The pragmatists noted that the Ethereum protocol itself had never experienced a fundamental vulnerability—only the DAO smart contract had.

Furthermore, the attack had created a unique situation. Because the attacker's Ether was locked in a time-delayed contract, the community had time to respond. The Ether had not been moved to an exchange where it could be cashed out and disappeared. The attack was reversible if the community chose to reverse it.

The Hard Fork Decision

After heated debate within the Ethereum community, the developers and foundation leadership made a controversial decision. They would implement a "hard fork"—a change to the protocol that would retroactively undo the DAO transactions. The hard fork would restore the Ether to the DAO token holders as if the attack had never occurred.

This decision reflected a utilitarian calculation: the harm caused by allowing the attack to succeed outweighed the philosophical cost of modifying the immutable blockchain. The alternative—leaving the stolen Ether in the attacker's possession—would damage Ethereum's reputation and potentially undermine user confidence in the network. The hard fork would allow Ethereum to move forward from this crisis.

However, not all community members agreed with this decision. Some Ethereum participants, particularly those who valued immutability as a core principle, believed that the hard fork violated the fundamental promise of cryptocurrency. If the blockchain could be modified to reverse this transaction, what transactions would be reversed in the future? What authority would decide when reversal was justified?

The Ethereum Classic Fork

The disagreement over the hard fork's appropriateness led to a genuine network split. On July 20, 2016, the majority of the Ethereum community implemented the hard fork, restoring the DAO's Ether and returning it to token holders. However, a minority of participants chose not to accept the hard fork. Instead, they continued running the original Ethereum software, which did not reverse the DAO transaction. This minority chain became known as Ethereum Classic (ETC).

Ethereum Classic continued as a separate blockchain with the same history as Ethereum up to the hard fork, but thereafter diverged. In Ethereum Classic, the attacker still possessed the stolen Ether. The Ethereum Classic community consisted of those who had voted against the hard fork and those who believed in absolute immutability as a core cryptocurrency principle.

The fork highlighted that consensus in cryptocurrency is ultimately social. The blockchain itself is just data and code. When a significant community disagreement emerges, the minority can choose to run the previous version of the software, creating a separate network. Both Ethereum and Ethereum Classic were valid blockchains—the difference lay in which version of the protocol they followed and which community maintained them.

Initially, Ethereum Classic had minimal support and value. However, it attracted a community of users who valued its immutability principle. Over time, Ethereum Classic developed its own ecosystem of applications and exchanges. Some viewed ETC as a philosophical statement and remained committed to it despite its smaller size. Others saw it as a less valuable copy of Ethereum. The reality was more nuanced—Ethereum Classic represented a different choice about what mattered most in a blockchain system.

Implications for Smart Contract Security

The DAO hack accelerated maturation of smart contract security practices. The attack revealed that writing correct smart contracts was extraordinarily difficult. Vulnerabilities that would be readily apparent in traditional code audits were subtle in smart contract development. The recursive call issue was a known computer science concept, but many smart contract developers lacked the security expertise to identify such vulnerabilities.

In response, the Solidity programming language was updated to make recursive vulnerabilities more difficult to introduce unintentionally. New patterns like the "pull" pattern (where users withdraw funds rather than the contract pushing funds) emerged as safer alternatives to vulnerable code patterns.

The DAO attack also prompted development of formal verification techniques for smart contracts. Researchers and developers began working on methods to mathematically prove that smart contracts would behave correctly rather than merely testing them. This approach, borrowed from airplane and spacecraft engineering, offered a way to increase confidence in critical financial code.

Institutional investors took the DAO hack as a cautionary tale about smart contract risks. Many major companies decided to build their own blockchain infrastructure rather than rely on smart contracts developed by external parties. Others created security assessment services that audited smart contract code before deployment.

The Philosophical Divide

The DAO hack and its resolution exposed a fundamental philosophical divide within the cryptocurrency community. Bitcoin was designed with immutability as an essential principle—once transactions were final, no authority could reverse them. This immutability was one of Bitcoin's key features. Ethereum's founders had emphasized protocol flexibility and the ability to improve the system through governance.

The DAO hard fork made explicit what had previously been implicit: Ethereum viewed protocol governance and harm prevention as more important than absolute immutability. This reflected different founders' and communities' values. Bitcoin, under its conservative leadership, resisted protocol changes even when they might improve the system. Ethereum's more pragmatic approach accepted that governance and community consensus could sometimes outweigh strict immutability.

Both approaches had merit and drawbacks. Strict immutability protected against arbitrary reversals but meant that errors and attacks could not be corrected. Flexible governance enabled corrections but potentially created risks if governance mechanisms became corrupted or captured by bad actors.

Long-term Outcomes

In the years following the DAO hack and hard fork, Ethereum became the dominant smart contract platform while Ethereum Classic remained a minor alternative. The value of ETC never approached that of ETH, reflecting market judgment about the relative merits of the two networks. However, Ethereum Classic persisted, maintaining its distinct community and maintaining the unmodified blockchain history.

The DAO itself was largely abandoned. Token holders recovered their Ether, but confidence in decentralized autonomous organizations was damaged. It would take years for the DAO concept to be reconsidered, and subsequent implementations would incorporate far more extensive security review and conservative programming practices.

The DAO hack became a watershed moment in cryptocurrency history comparable to the Mt. Gox collapse. Both events tested the resilience of cryptocurrency systems and revealed limitations in early implementations. Both led to significant changes in how the community approached security and governance. The DAO hack, in particular, demonstrated that philosophical disagreements about fundamental principles could cause blockchain networks to split.

For Ethereum, the hard fork decision enabled the network to move past the crisis and continue development. Whether the decision was correct remains debated by thoughtful people on both sides. What is undeniable is that it shaped Ethereum's identity as a network willing to use governance to address catastrophic errors, rather than strictly adhering to immutability even when doing so would cause massive losses to innocent parties.

For deeper understanding of how the DAO hack emerged from Ethereum's capabilities, see What is Ethereum. The hack also relates to broader cryptocurrency governance questions explored in Crypto Regulation Timeline.

The DAO hack was one of several major crises in cryptocurrency history. For additional context on market disruptions, see The 2017 ICO Boom, which discusses the explosion of smart contract-based token projects that followed the DAO's emergence.

Understanding the DAO hack provides crucial context for The Genesis of Ethereum, which explains the smart contract platform's design that enabled this vulnerability.

External Resources