5 Arguments Against a Freeze Fork (and one silver lining)
In the immediate aftermath of today’s accidental (or “accidental”) Parity multisig bug, some in the Ethereum community began calling for a hard fork to unfreeze the millions in digital wealth that appear to be permanently locked.
At first blush, this seems like a reasonable proposition. There’s already a precedent for forking in order to restore lost or stolen funds. The fix would be relatively easy to implement, and could even be included in the upcoming Constantinople hard fork. And the sum of money is not insignificant; estimates range between $180-$300 million.
Why should these ETH holders be subjected to massive losses simply because of a small Solidity error? And wouldn’t fixing the error would show the rest of the world that the ecosystem is pragmatic and focused on moving the platform forward, rather than sporting a slavish devotion to immutability and the bedrock principle that “code is law?”
The above logic echos much of the reasoning around the DAO fork. Many in the community, myself included, wholeheartedly supported that fork. Yet I believe the situation is vastly different in this case; these circumstances don’t warrant a fork, and the benefits of a fork are outweighed by the costs. Here’s why:
#1.) The Parity bug is not an existential threat to the ecosystem.
At the time of the DAO hack, the stolen funds represented a substantial portion of Ethereum’s outstanding value. A large concentration of wealth in the hands of a malicious actor was seen by the community as untenable — especially in light of the longstanding plans to switch to Proof Of Stake, which many viewed as problematic due to the misperception that the hacker would have inordinate control over the consensus algorithm.
This cannot be said of the Parity deep freeze. The locked-up ETH represents something on the order of 0.5% of the overall market cap, and is not in the hands of a hacker. Even the project that’s most directly impacted, Parity’s Polkadot, has stated that development will not be substantially impacted.
I humbly suggest that the paramount question to ask when considering a hard fork to recompense ETH and ERC-20 holders who lose money to hacked or buggy code: is the ecosystem at risk by not acting? While individual ETH holders (and those who invested in Polkadot) appear to have suffered financial losses, there is clearly no threat to Ethereum itself. In my mind, this makes the fork a much harder sell.
#2.) A relatively small number of actors were impacted by the fork.
While the dollar-equivalent losses from the Parity freeze far exceed those of the DAO, the number of impacted entities and individuals is far lower. This relatively narrow impact makes it less likely that the freeze will negatively impact the overall ecosystem. The same can’t be said of the DAO hack, which victimized a proportionally much larger segment of the community.
#3.) Immutability still matters.
In the wake of the DAO fork, did we relegate the “code is law” paradigm to Ethereum Classic? I would argue not.
While a mindless devotion to immutability is akin to dogmatic religion, it’s also a mistake to set aside this principle so flippantly. Immutable smart contracts are what Ethereum is all about; it’s the central value proposition. Should we ignore this principle whenever funds are lost? And if so, where’s the line in sand for what constitutes a forkable event?
And here we encounter the slippery slope. Parity Bug Part 1 was not deemed worthy of a fork. Do we only fork when losses exceed $100 million? If fixes are easy to deploy, why not fork even when there are relatively small losses? Will we, as a community, need to have a debate every time money is lost to code gone awry?
#4.) Caveat Emptor!
Should Ethereum be a safe playground where actors can fall from great heights and not even skin their knees? Or should it more closely emulate the legacy financial system, which rewards risk-taking but is equally unforgiving when mistakes are made?
I would argue it’s the latter — especially now that the platform has made its first steps into the Brave New World of Metropolis. This is not Frontier. Using blockchain technology is an inherently risky proposition, particularly when one is trusting their funds to a multi-sig wallet that suffered a catastrophic failure just months before.
Taking the sharp edges off of systemic risk also brings to light the moral hazard argument. In an ecosystem where it’s absolutely crucial to write secure, thoroughly-vetted code, forks can act as a subtle disincentive to conduct thorough code reviews. Why bother when the community will fix it? This line of thinking isn’t conducive to moving the platform forward.
Like the majority of the Ethereum community, I have no financial exposure to the Parity freeze. Would I feel different if I had ETH locked in those contracts? Quite possibly. For someone facing large losses, it may seem almost cruel to not provide a fix when one is available. But why, then, should Parity freeze victims suffer no consequences for their arguably risky behavior, while those who were dealt losses by the first Parity bug were not made whole? Where do you draw the line?
5.) Time is our ally. Contentious forks are not.
Unlike the DAO, there is no ticking timebomb that’s forcing our hands. Perhaps over time we’ll find innovative ways to reclaim the funds or deal with the issue. Moving slowly and deliberately will increase our chances of finding a better solution. At the very least, perhaps the community will embrace the idea of adopting a variant of EIP 156 to prevent future freeze bugs.
On the other hand, a hastily arranged and contentious hard fork — either as part of Constantinople or as a standalone effort — could temporarily divide the community and impede much-needed progress toward scaling and other projects.
Here Comes the Sun…
Regardless of how the Freeze Fork debate proceeds, it’s crucial that the Ethereum community maintains the calm, deliberate, and academic discourse that has already spawned so much innovation. If your Twitter feed becomes overridden with people wearing hard-fork hats and sporting usernames that end in [NO-EIP156], something has gone horribly wrong.
Ethereum’s greatest strength is its community. Regardless of how this debate proceeds, there is no doubt in my mind that we’ll continue to innovate, evolve, and build awesome things. There’s also a potential silver lining in this cloud: a fresh impetus to create an effective governance system for Ethereum. Let’s use this opportunity to have a fresh and constructive debate not just about immutability, but over how to reach consensus and make decisions in this decentralized environment.
Governance has been overshadowed by scaling over the past year. Yet the current debate brings the point back home: Ethereum is in need of voting mechanisms and ways to measure community sentiment. Carbonvote provided an interesting, albeit imperfect measure of sentiment during the DAO hack. How can this be improved upon? What other tools can we develop to tackle the problem of decentralized governance?
Following the DAO hack, some of the more vocal Ethereum critics were enraptured with schadenfreude. Much to their surprise, Ethereum has grown by leaps and bounds since then. In a year’s time, will we look back on this incident as another successfully dealt-with challenge? I think our odds are good. So long as this community maintains its strong tendency to remain constructive and science-based (paraphrasing Emin Gün Sirer at Devcon 3), the fork decision itself may very well be less significant than how we collectively reach that decision, and what we learn from the debate.
Bitcoin has proven itself to be anti-fragile. In the face of a fresh challenge, let’s work to ensure the same is true of this thriving platform.