After the exit door a vulnerability known as “Recursive call bug” which allowed the attacker to drain the Ether from the DAO’s account. If one wished to exit the DAO, then they could do so by sending a request. The splitting function would then follow the following two steps:
– Give the user back his/her Ether in exchange of their DAO tokens.
– Register the transaction in the ledger and update the internal token balance.
So how does the hack happen? the hacker implements a recursive function in the request, and then this is how the splitting function goes:
– Take the DAO tokens from the user and give them the Ether requested.
– Before the blockchain could register the transaction, the recursive function made the code go back and transfer more Ether for the same DAO tokens… and so on.
The attack on 17th June 2016 was based on this very loophole in the DAO. It was used to siphon away one-third of the DAO’s funds. That’s around $50 million dollars. The price of Ether dropped from over $20 to under $13.
The hack happened because of the recursive function vulnerability present in the DAO not because of any issues in the Ethereum itself or its blockchain. Its important to understand that Ethereum runs in the background, while DAO runs on top of it.
Aftermath of The DAO Attack
The stolen Ether worth 50 million dollar was present in the Child DAO but the community couldn’t access them yet, because the DAO smart contract explicitly stated that any of the invested ether taken out of the DAO wouldn’t be accessible for 28 days.
With this in mind the Ethereum community and the team decided to take action, and the usual three potential solutions were pointed out:
1.- Nobody Does Anything.
2.- Soft Fork.
3.- Hard Fork.
Some people argued that making any changes will go against the underlying philosophy of Ethereum itself. After all, it is supposed to be immutable and “code is law.” However a lot of people weren’t happy with this and the majority voted on going with a Soft Fork.
The Ethereum Soft-fork
The idea was to completely lock down the ether that was stolen by the hacker by ignoring and segregating any blocks that contain a transaction which will help the hacker move around their stolen ether. But implementing a soft fork would result in a “Denial Of Service” (DoS) attack vector. So, the next step is the Hard fork.
Hard Fork Proposal
The way the hard fork in Ethereum is supposed to work is that it’s branch separates from the main blockchain at a particular point (in this case right before the DAO attack). Immediately after the hard fork, the two chains become completely different entities. The new chain was named “Ethereum” or “ETH” for short.
So, ETH was formed for one reason and one reason alone – to return the funds stolen by “the DAO attacker” back to the rightful owners via a refund smart contract, which had the sole function of “Withdraw”. For every 100 DAO, 1 ETH would be given to the DAO token holders.
Ethereum Classic (ETC) and Ethereum (ETH)
Some people opposed it because the formation of ETH goes against the idea of the immutability of the Blockchain, and the philosophy of “code being law.” You cannot make major decisions like that unless the majority of the people agree to it. Main reason for success its that it keeps the core of the original community.
This proposal caused a huge controversy in the community, and there was a split. The people who were “Anti-Hard Fork” refused to change to the new Blockchain and decided to remain in the old Blockchain naming it “Ethereum Classic” or “ETC”.
Therefore, Ethereum Classic is the original Ethereum blockchain and ETC is its native token. Ethereum (ETH) is the blockchain that resulted from a hard fork of the network that happened in July 2016. ETH and ETC share the same blockchain record prior to a hard fork.
Market cap for ETC stands at this moment a little over $1 billion; the 12th largest crypto. It stays true with the philosophy of the “Immutability of the Blockchain”.
The new Ethereum ETH result of the hard fork was then considered the “new Ethereum”, which started with a mkt cap of about $28 billion: 2nd largest crypto behind bitcoin.