the DAO hack

lore

cryptography

The 2016 drain of the largest crowdfunded smart contract, answered by the hard fork that split Ethereum in two.

The DAO raised a record crowdfund as an investor-directed venture contract; in June 2016 an attacker used a reentrancy flaw to siphon about 3.6 million ether, then worth roughly 50 million dollars. Ethereum's July 20 hard fork rewound the theft, and dissenters who held that code is law kept the original chain alive as Ethereum Classic. It is smart contracts' founding disaster and the permanent case study in what immutability costs when the immutable thing is a bug.

The DAO was an investment fund governed by smart contracts on Ethereum, which raised a very large sum in 2016 and was then drained through a reentrancy flaw: the withdrawal function sent funds before updating the balance, so an attacker's contract could call back into it repeatedly before the accounting caught up.

The technical lesson became foundational. Checks-effects-interactions, the pattern of validating first, updating state second and calling out last, is now taught as basic practice precisely because of this, and reentrancy is the first vulnerability class any smart contract auditor looks for. The code did exactly what it said; the specification was wrong.

The governance consequence was larger. Ethereum resolved it by hard-forking the chain to reverse the theft, which contradicted the immutability the platform claimed, and the minority who refused continued as Ethereum Classic. That split is the clearest illustration available that code is law works only until the consequences are unacceptable, at which point a human community decides, and the interesting question is not whether they should have but what it revealed about where authority actually sat.

All glossary entries