On the 8’th of July 2011, Bitcoin’s first big bubble burst and it would go on to lose an astounding 94% of its value, eventually dropping from $31 to a mere $2. As you may have noticed, it has since recovered quite nicely. Ethereum is now in a moment of crisis. The DAO has been hacked, destroyed and a big chunk of funds have been stolen. Like Bitcoin did, Ethereum can recover — but a panicked response could kill it forever. Unfortunately, we seem to be heading towards that panicked response.
Ethereum has value for one reason and one reason only — it is the turing complete, smart contract protocol. In other words. ETH’s value is a direct result of the value of smart contracts and Ethereum’s position as the premier protocol for them. On June 17'th, The DAO, a smart contract running on Ethereum was savaged. We must now choose to respond in one of two ways:
- We can learn a lesson and build better smart contacts in the future
- Or, we can reverse the flawed smart contract and pull the rug out from under Ethereum forever
There is something far bigger than The Dao, or even Ethereum, at stake here: the very idea of immutable smart contracts. The core promise of smart contracts was brilliantly articulated by The DAO. They are designed to operate “solely with the steadfast iron will of unstoppable code.” The core idea here is that the code is the contract, and that it does not require or allow human intervention or interpretation. It is automatic and “autonomous”. Deterministic outcomes based on code — that is the value.
This value, of deterministic outcomes is 100% dependant on being able to run on a protocol that can be trusted to operate according to deterministic rules known in advance. That is what Ethereum must be. What is being now suggested is to go and change the protocol level rules, retroactively, because of an exploit discovered in one contract on the application level. To do so, would destroy the very trust that makes all contracts on the application level possible.
A lot of people have been pointing out that Bitcoin also forked in the early days. This is true but also very misleading. Bitcoin only forked when the protocol was broken. Never when the protocol worked as intended but the results were uncomfortable.
Another argument made in favor of forking is that consensus is created “by the community”. That “the miners can vote”. This is even more subtle and misleading. Miners are not meant to be the final arbiters of transactions and contracts. By design, they are supposed to be dumb slaves of the protocol rules. A dumb lottery validating transactions according to deterministic rules. If they need to employ good judgment, we are at the mercy of their good sense.
It comes down to is this:
- If smart contracts must be interpreted by humans for their “intent” instead of by code for their programming
- Then smart contracts cannot be autonomous and automatic
- And instead can be retroactively reversed by the community, the courts or governments
- In which case it’s hard to see what value smart contracts actually have
- Which means that it’s hard to see that Ethereum should have any value at all
The only way for Ethereum to be able to recover from this event and thrive in the future is for it to stick to its principles. This is the hard choice. And it is the only choice.
Comments? Tweet them to @EdanYago. I am indebted to many others for helping me form these thoughts and look forward to continuing the conversation.