How a hard fork works: (I already know how a fork works, skip to the bitching)
Ethereum is a network of nodes, all running the same client protocol. Starting yesterday, many nodes began running a new version of the client. This version implements a hard fork. The nodes that choose the fork are colored blue.
On Wednesday, a predetermined block number triggers the fork. The blue nodes then query all their peers for blueness. Blue peers respond affirmatively and remain connected. Red nodes ignore the query, and thus are dropped.
The blue nodes then update their state of the universe to move all ether associated with the DAO to a refund contract.
Nothing changes for the red nodes: In their version of the world, the DAO is still a fecked-up mess. The only difference is that maybe some of their buddies are gone.
As long as the blue nodes never speak to the red nodes ever again, they can each maintain their separate realities of the universe.
Ideally, the nodes will converge on a single chain. Maybe a few blue nodes will leave, see that no one joined them, and return to being red. Or maybe a majority of nodes will take the blue pill, leading the final red holdouts to give up and go blue.
The other possibility is that both sides are sufficiently stubborn that both chains continue to exist, forever.
Why is this even an option?
The DAO controlled $150M worth of ether, and an attacker exploited a bug to extract $60M of that. This current reality is unacceptable to many people.
The only way to get the ether back is to create an alternate reality where the attacker does not have anything.
“Invent a new version of the universe” is normally not permitted by the software protocol, which is why this involves a client update and a hard fork.
Democracy in Action
An informal vote showed that the Ethereum community was overwhelmingly in favor of a fork to restore the DAO funds.
Haha, no. Most people didn’t know, didn’t care, or couldn’t figure out how to vote. Carbonvote is a poll that weighed user votes by their ether account holdings. Only 5.5% of the total ether holders bothered to vote. A quarter of the DAO-Fork votes came from a single account.
Just like a real democracy, the loudness of your voice is a function of your bank account balance. The results of this vote determined the default behavior of the new client software. Ethereum Foundation members call it social consensus.
Another word for this process is Politics.
A decentralized computing platform is a terrible structure for politics. And a blockchain is a horrible way to manifest social consensus. Blockchains are designed to be resistant to human arbitration, hence the proof of work requirement.
Earlier, I said I want the DAO attacker to keep my ether. Self-enforcing contracts are supposed to turn us into sovereign individuals. That means we accept the consequences of our actions, not escape to some alternate reality.
And even if the current reality is totally unacceptable, why on earth would we create an alternative that rewards people for stupidity??
Innocent People Lost Money
Yesterday, I spoke to someone who worked closely with Slock.it, the team that built the DAO. Lots of people hate these guys right now. Slock.it put together insecure code and cut corners when it came to audits and testing. They jeopardized all of Ethereum with poor risk management.
But they were just some guys who did what they could with their own money. They never expected the DAO to reach $152 million. It was entirely possible that the DAO might receive nothing at all, in which case it would have all been for naught.
Okay, wait. When they saw the DAO crowdsale creep up to a million, then tens of millions, then $150 million…why were they still hyping it??? Why didn’t they say, Whoaa fellas, this is untested code! Careful with your life savings over there!
Because MASSIVE PILES OF MONEY is the best validator in the world. The amount of wealth contained in the DAO was a proxy measure for its security*. With $152 million, the DAO was an invincible economic machine, “operating solely with the steadfast iron will of unstoppable code.” It was reinventing the corporation! Move over, Ronald Coase and Oliver Williamson, your Nobel prize belongs to THESE GUYS.
I previously said that I had more sympathy for ETH investors than the DAO tokenholders who enabled this mess. But now I feel bad for the DAO creators too. A happenstance windfall can make the shittiest piece of shit believe they’re the paradigm of meritocracy. Just look at Donald Trump.
If there truly was “social consensus” – and I mean the actual definition of “consensus”, which is unanimous consent – there would be no problem with the fork. It wouldn’t even be a fork, simply a mass migration. Just don’t expect anyone to take your “unstoppable computer” very seriously after that.
*Wisdom of the crowds, man.
The Ethereum fork wipes out all the childDAOs. I split most of my DAO tokens after the crowdsale. Those were insulated from the DAO attack, but they become collateral damage in the hard fork. It’s an edge case. There are a lot of edge cases.
There will be about $6 or $7 million in leftover ether, after refunds are claimed. A group of trustees will decide how to redistribute this to the edge cases. In the age of trustless computing, trustees manage wealth redistribution.
27 thoughts on “Stick a Fork in Ethereum”