On 30th April 2016, a group of developers, mostly coming from slock.it, created the first Distributed Autonomous Organisation on the Ethereum network. They called it “The DAO”.
Through an Initial Coin Offering (ICO), people could buy their DAO token. In 28 days, The DAO raised over 11 million Ether (ETH) which at the time was equivalent to $150m, making this the biggest crowdfunding in history. An ICO is a controversial way to raise money since it is unregulated and it gives buyers no ownership like equity shares would. Ownership of these DAO tokens would grant voting rights to decide what project to allocate the DAO’s capital to.
On 14th June, an attacker managed to take advantage of a bug in the way The DAO was coded and took 3.6m Ether into a child DAO, which had the same rules as the parent DAO, not allowing the attacker to retrieve the money during the first 28 days. The Ethereum foundation had 28 days to defuse this bomb. This created a big controversy in the cryptocurrencies world:
- The attacker argued that that money was rightfully his, since he had taken advantage of a “feature” of The DAO which allowed his action. In the smart contracts world code is law as the smart contract can be understood as a contract written in programming language.
- Part of the Ethereum community was in favour of letting the hacker take the money. They argued that things that happen on the blockchain should be immutable. And that modifying/censoring/corrupting the past would be a slippery slope which would open a door to do it again in the future for other reasons.
- The other Part of the community was against letting the hacker take the money. Their arguments were that the community could have the last word in these cases.
On 17th June Vitalik Buterin proposed a soft fork update in the Ethereum code, which would block the child DAO from allowing funds withdrawal. This would buy more time to decide what to do without the money disappearing. However, hours before its planned release, the developers detected that this would open the possibility for a denial-of-service attack. The update could not be released. The hard fork was the only way left. This hard fork would transfer all balance of the DAO to a new smart contract which would only allow the legitimate owners to withdraw. In order to decide whether to implement this hard fork or not, an online referendum was held where each Ether held gave right to one vote. The outcome of this referendum was in favour of the hard fork by 89% so the hard fork was implemented and a trigger was set in pace for it to activate when reaching block 1920000.
On 20th July, block 1920000 was reached in the Ethereum blockchain. The DAO Hack was reversed. However not all miners agreed to this and kept the previous version running, creating a new cryptocurrency called “Ethereum Classic” (ETC). Both blockchains are identical up to this block, on one, the DAO Hacker was unable to claim his prize, on the other he kept it. At the time I had 200 ETH in my Kraken account, the day after I had 200 ETH and 200 ETC, their valuation in Euros was wildly different as the Market gave higher value to ETH than ETC.
A hard fork is a change in the blockchain protocol which is not backwards compatible. If all users agree to follow, then there is no issue, but if some decide to stay and not accept the change, a new blockchain is created which will run in parallel and compete in the blockchain space against the original.