Hard Forks and the Myth of Crypto Immutability

Last November, a hacker exploited a vulnerability in the Ethereum’s Parity wallet to steal $32 million. EIP-999 proposes to initiate a hard fork on Ethereum to recover the lost funds. In doing so, it’s caused predictable scorn from Bitcoin maximalists, recalling the earlier 2016 DAO hard fork, when the Ethereum network split into two to recover funds lost from a buggy smart contract.

As Ethereum has grown into the second-largest cryptocurrency by market cap in the world, it’s met a lot of opposition from die-hard Bitcoin maximalists. To the Bitcoin camp, Ethereum’s tendency to hard fork — namely, in the “DAO fork bailout” — represents a moral failing that goes against the idea that the blockchain should be an immutable, permanent record of every transaction on the network.

But while these critics like to prop up the immutability of Bitcoin, their argument doesn’t hold up if you look at the history of the network.

In March 2013, an accidental hard fork nearly split the fledgling Bitcoin network in two.

Typically, the network reaches consensus around the “longest chain,” or the chain with the most work done. But because of a bug in the new 0.8 update, nodes running the new software were producing blocks that weren’t considered legitimate by nodes running the older, 0.7, version.

As soon as the Bitcoin core developers realized what was happening, they began to flood the Bitcoin IRC channel to figure out what to do. Within 25 minutes, they put together a plan and started reaching out to major miners, requesting that they shift hashing power back to the 0.7 version of Bitcoin. That way, they could quickly overtake the newer 0.8 chain and head off a destructive hard fork.

Although the developers agreed that this was the best solution, it was controversial because it ran against one of the ideas laid out in Satoshi Nakamoto’s white paper:

The majority decision is represented by the longest chain, which has the greatest proof-of-work effort invested in it.

At the time, the longest chain was the newer version of Bitcoin, and one of the lead Bitcoin core developers pointed this out in IRC:

23:22  Gavin Andresen the 0.8 fork is longer, yes? So majority hashpower is 0.8....23:22
  Luke Dashjr Gavin Andresen: but 0.8 fork is not compatible
                earlier will be accepted by all versions
23:23  Gavin Andresen first rule of bitcoin: majority hashpower wins

Had the developers and miners followed this principle to the letter, they should have pushed nodes on the network to switch over. But since miners are typically the most active participants on the network, the majority of nodes running 0.8 were miners. It was much easier to get a couple of miners with a lot of hashing power to switch back to 0.7, than to convince many more 0.7 nodes to upgrade to 0.8. Miners vote with their hashing power, and in this case, the network operators convinced them to roll the update back.

In theory, the longest chain with the most proof-of-work invested wins, preventing accidental forks when two miners add valid blocks at the same time, guaranteeing the immutability of the blockchain. In practice, miners vote on forks with their hash rate, providing a governance mechanism that can be used to update the network. To preach that the blockchain is absolutely immutable and unchangeable ignores how the governance process actually works.

Code ≠ Law

The March 2013 fork sheds light on one of the most contentious debates in cryptocurrency governance between two camps. One camp maintains the absolute immutability of the protocol and “code as law.” The other supports more pragmatic decision-making.

What’s interesting is that this is the same debate we saw nearly 100 years ago in legal governance between two schools of thought: formalism and realism.

  • Formalists hold that the law is derived logically by examining the relevant facts, case law, and nothing else. Formalists believe that the law stands separate from social and political institutions. Like geometry, the law should derive from absolute principles — much like die-hard Bitcoin advocates who cling to immutability.
  • Realists believe that the law is nothing more than the decision of the courts, including any historical and social phenomena that influence that decision. In this view, anything that influences a judge is law, including what they ate for breakfast. Realists believe that the law is a moving target, not inflexible dogma.

The Realists were making the point that the law isn’t an inflexible set of rules but is influenced by the interests and even the whims of real people. It’s the same with cryptocurrency governance. “Code as law” isn’t a useful way to think about things. Code is buggy and messy. People write it.

The value of immutability in the blockchain is that transactions can’t be changed or reversed after they’ve been validated. If a cryptocurrency hard forks every time something goes wrong, no one would trust it. But that doesn’t mean that hard forks are categorically bad.

It’s important to recognize that immutability is incentivized economically through the participation of nodes on the network. The record of transactions is ultimately what the majority of hashing power agrees that it is. Immutability exists as long as nodes are properly incentivized to secure the network, or alternatively as long as nobody accumulates enough hashing power on the network that they can destroy it. In other words, it’s a function of the governance process, and not an abstract principle. The governance model of a protocol is far more important than pure immutability.

To understand how protocols work, you have to be realistic about the governance process behind them. There’s a whole world of people involved in decision-making, and a lot of it happens off-chain.

For example:

  • During the 2013 Bitcoin fork, the accidental hard fork was first called out and discussed on the #bitcoin-dev IRC channel, which was open for anyone to join. The developers planned a course of action and enlisted the support of a key miner via IRC. After they reached consensus, they posted to the BitcoinTalk forum to update the broader Bitcoin community.
  • In 2017, Ethereum community members on Reddit raised concerns about the increased issuance of Ether due to an upcoming network upgrade. This led to the Ethereum Improvement Proposal #186 to slow down the issuance of Ether. After the proposal passed a community vote, the proposal led to a network upgrade via hard fork.

We’re just starting to witness the birth of decentralized governance. It is not perfect and is often messy. That’s why it’s crucial that the community be realistic about how governance actually works.

How the DAO Fork Really Happened

In July 2016, Ethereum initiated the controversial “DAO fork” that split the network in two. In doing so, the Ethereum community traded the immutability of the blockchain for the greater good of the network.

The DAO, a decentralized autonomous organization, had raised $150 million worth of Ether earlier that year, which represented nearly 14% of all Ether. Due to a bug in the DAO’s smart contract code, hackers were able to siphon off 3.6 million Ether — roughly $50 million.

Ethereum faced a dilemma: They could proceed as though nothing had happened, maintaining the immutability of the protocol. Or they could institute a hard fork in the Ethereum protocol that closed the loophole in the DAO smart contract and turn back the clock.

This led to a vote on whether to hard fork via a community-generated tool called Carbonvote:

(Source: Carbonvote)

While the results of the vote showed that an overwhelming number of voters favored a hard fork, only 4.5% of coin holders participated. Further, the vote skewed to favor those who held large amounts of Ether, as demonstrated by this graph:

Source: Elaine Ou)

While the vote was far from perfect, it was enough for the Ethereum developers to code and implement a hard fork, which was then adopted by about 85% of miners.

Bitcoin maximalists often point to the DAO fork as evidence of centralized decision-making that is misguided or even morally wrong. To this camp, reversing the DAO hack violated the immutability of the protocol, setting a dangerous precedent for reversing future transactions.

But in principle, it’s not so different from the 2013 Bitcoin fork. That fork was able to happen because a single miner had enough hashpower to sway the decision. Although the Ethereum community voted on the DAO fork, only a tiny fraction of coin holders participated. The big difference between the two is that the DAO fork was done explicitly to remove transactions from the chain, where the .7 fork was to roll back a bad deployment of code.

In both situations, however, the developers had a limited time to talk to the community and implement a fix. Rather than maintain the absolute immutability of the protocol, they decided to act. Today, Ethereum’s market cap is 34x higher then Ethereum Classic — the pure, “immutable” chain.

As Ethereum founder Vitalik Buterin commented:

Immutability by itself is pretty worthless if all that you’re making immutable is running off a cliff. In order for principles to be valuable, they have to serve some kind of social purpose.

The DAO fork continues to bother those who maintain the absolute immutability of the protocol. But the law has never been immutable, whether in the courtroom or on the blockchain. While it’s easy to pay lip service to “code as law” and immutability decentralization, that’s not a realistic way of understanding how these protocols work.

Realism in Crypto Governance

With the 2013 Bitcoin fork and the Ethereum DAO fork, the Bitcoin and Ethereum communities had to quickly react and reach decisions for the good of the network. In both cases, the result was counter to the immutability principle of the blockchain. They were able to happen because the community came together and reached a compromise on how to move forward for the good of the network.

For crypto networks to survive and thrive, the underlying governance process needs to be realistic around where the network is in the present.

The above references an opinion and is for informational purposes only. It is not intended as and does not constitute investment advice, and is not an offer to buy or sell or a solicitation of an offer to buy or sell any cryptocurrency, security, product, service or investment. Seek a duly licensed professional for investment advice. The information provided here or in any communication containing a link to this site is not intended for distribution to, or use by, any person or entity in any jurisdiction or country where such distribution or use would be contrary to law or regulation or which would subject SFOX, Inc. or its affiliates to any registration requirement within such jurisdiction or country. Neither the information, nor any opinion contained in this site constitutes a solicitation or offer by SFOX, Inc. or its affiliates to buy or sell any cryptocurrencies, securities, futures, options or other financial instruments or provide any investment advice or service.