On 8th July, 2011, bitcoin’s first big bubble burst. 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 toward that panicked response.
Ethereum has value for one reason and one reason only – it is the Turing-complete, smart contract protocol. In other words. ether’s value is a direct result of the value of smart contracts and ethereum’s position as the premier protocol for them.
On 17th June, 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 is 100% dependent on the ability of smart contracts 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.
If this is the 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.