Blockchains store digitized truth, distributed across thousands of nodes in locations across the world. They act as an immutable ledger that – for nearly 10 years – have resisted attack and secured data worth as much as $750B. Blockchains are valuable because of their immutability; and it is this property that separates itself from decades’ old databases. Or at least that’s how it’s sold.
Immutability is a controversial subject. Enforcing that a blockchain cannot be changed under any circumstance is not necessarily desirable. In June 2016 a project named The DAO was exploited for 2.6M Ether resulting in a massive transfer of Ethereum’s overall money supply to the hands of a malicious individual/group. Given that the Ethereum project was in its early stages, it was decided that the exploit be reversed with the stolen funds being returned to their rightful owners. By breaking the immutability of Ethereum, users were made whole with no long-term negative consequence, and those who disagreed with the decision were free to use the original blockchain, which was named Ethereum Classic.
Yet immutability remains a controversial topic in Ethereum today. In November 2017, a user by the name of “devops199” Tweeted to say that they “accidentally killed it“, in reference to an exploitable bug in an Ethereum smart contract deployed by Parity Tech. In tampering with its code, devops was able to find an exploit that allowed him to brick the contract, freezing the 513,774.16 ETH (~$320M in today’s prices) residing in its associated wallets. Their initial Tweet was jokingly followed up with “So, we hard forking or what?”, and 6 months later it looks like that may well be the case.
The idea that a hard fork might be implemented to recover these frozen funds has provoked an emotional response from those both for and against the move. Ethereum Improvement Proposal (EIP) #999 was published on April 16th 2018 and outlines the steps, motivation and rationale behind restoring those frozen funds. A vote was quickly put up on Etherchain.org and it ended with 55% against and 39.4% in favor of the recovery proposal – although the validity of such a vote has been contested by both sides.
Another contentious hard fork?
With the split in sentiment highlighted above, EIP 999 could result in a contentious hard fork and the subsequent creation of another Ethereum chain. Such a split would have major implications for the dApps currently running on the network as their code will be duplicated across both chains; a rare cryptokitty on Ethereum A will have an equally rare cryptokitty on Ethereum B. More seriously, tokenized gold (see Digix DAO) will also be duplicated, leading to a great deal of confusion for both users and the issuers. Avoiding a contentious hard fork and achieving consensus either for or against would be most desirable; in a blockchain world, consensus trumps everything and that includes immutability. The problem is that consensus is going to be extremely challenging due to the parties involved:
There are plenty of users who would sooner see a project fail than face the reversal of a single blockchain transaction. To an idealist, EIP 999 amounts to nothing more than a “bailout” for the bank of Parity (an emotionally charged term that has been the war cry of crypto-anarchists since January 3rd 2009 – “Chancellor on brink of second bailout for banks”). For the record, it is this author’s opinion that the unfreezing of funds does not amount to a bailout, and that the word is used largely for its emotional appeal.
Gavin Wood, the founder of Parity Tech and co-founder of Ethereum is responsible for the specification bug which allowed for the few hundred million dollars to become stuck in perpetuity. While much of the Ether frozen was owned by 3rd parties, a significant amount was tied to Polkadot, a blockchain startup also owned by Gavin Wood. Parity are also the authors of EIP 999, however in a statement published today, they also made it clear – “we have no intention to split the Ethereum chain”.
The 500M Ether locked up in the Parity contract bug accounts for roughly 0.5% of the entire coin supply of Ethereum. For many holding Ether, the idea that these 500M tokens be effectively burned for eternity seems to make a great investment opportunity – “it’s simple supply-side economics!”. Unfortunately, Ethereum price movements are not quite so simplistic, and withholding funds from one of the most important development teams in Ethereum and a number of pioneering projects (see the statement linked above) may not be the smartest move long-term.
Opportunists sit on the sidelines with a major incentive to create a second chain. As has been seen with Bitcoin Gold ($1.2B), Bitcoin Cash ($23B), Ethereum Classic ($1.9B) and – to some extent – Litecoin Cash ($100M) among others, a huge amount of money can be made by successfully maintaining a fork of a major cryptocurrency. It would not be difficult to maintain enough publicity to have investors rush to Ethereum in a bid to grab hold of the newly hard forked coins.
Will EIP 999 be successful?
With $320M at stake it is unlikely that this problem is simply going to go away. If Parity were to recover their frozen funds, idealists will happily stick with the existing “immutable” chain and opportunists and many holders will welcome the split despite the confusion and likely setback to further adoption. Critics of EIP 999 certainly seem to be more outspoken than those looking for reasonable discourse, and without generating traction towards any meaningful consensus, the opportunity to implement the recovery will dwindle. Parity are going to have to work hard to convince the community that unfreezing these funds is desirable for everyone, and that immutability isn’t some sacred property of the blockchain, but a grey area that should be considered on a case by case basis.
Somewhere along the line the word “immutability” became taboo. There has been a running theme that if you don’t believe in the immutability of a blockchain then you might as well be running a public database on some centralized server. Immutability is certainly a very important aspect of blockchains, however in the case of Ethereum – which requires enormous competency of developers, users and auditors – mistakes are guaranteed. As Bitcoin developer Jameson Lopp puts it, “When you’re writing safety critical code, every arithmetic operation is potentially catastrophic. Smart contract developers should think less like web developers and more like aerospace engineers”. Unfortunately this transition will take time, and lessons can only be learned along the way.