⚙️ The Messy Work Of Decentralized Governance — Issue No. 86

In recent weeks, a debate has been reignited amongst members of the Ethereum community over whether or not to change the mining algorithm used on the network. The issue is quite contentious, with some even signaling a willingness to split the network in two rather than go along with the “other side.”

The matter at hand is interesting at a technical level, and technical considerations have certainly contributed to the discussion. More broadly, though, the fierce debate betrays a harsh reality of the world: governance is always messy process, and so-called decentralized governance is messier still.

In this issue, I’ll briefly review the technical details and history of this controversy, take a look at the current state of the debate, and close with some thoughts on what we might learn about decentralized governance.

ProgPoW: A Very Brief History

The new mining algorithm, called ProgPoW, is a modification to the existing Ethash algorithm aimed at limiting the upside of specialized mining hardware. These machines are known as "ASICs," short for Application Specific Integrated Circuits. While Ethash itself was designed to be resistant to ASICs, hardware manufacturers eventually found ways to gain significant advantages over commodity hardware, like GPUs, which can run in any computer. It is now estimated that over 40% of the network is comprised of industrial mining operations running ASIC machines.

Though it ultimately failed, there is no denying that Ethash was constructed in an attempt to thwart the development of ASICs. The original creators of Ethereum felt that large mining farms consisting of specialized hardware represented a centralizing force, and therefore a risk to the network. Enabling commodity hardware to be used for mining was an explicit goal, laid out in the Ethereum white paper, as a means to help the network stay decentralized.

ProgPoW was initially proposed two years ago as a way to “protect” the network from this centralizing force after it became public that Ethash ASICs had been developed. A large part of why this issue has become so contentious stems from the fact that not everyone agrees with that basic premise. While it was largely seen as conventional wisdom several years ago that specialized hardware was bad for network security, a body of research has emerged to suggest that ASICs actually have the opposite effect— that they improve a network's security. Link.

While this fundamental disconnect lies at the root of the ProgPoW debate, there are many more details to consider. For a full blown history of what both sides have argued, check out this excellent post by Hudson Jameson. Link.

The DeFi Difference

Given the contention around this issue, many have asked, why not just have a chainsplit and let the market decide? After all, both Bitcoin and Ethereum have undergone contentious hardforks before. In both cases, a clearly dominant chain emerged after a relatively brief period of time. Both projects continue to succeed despite those incidents.

While this is true, and may still be how things eventually play out, the stakes are much higher for Ethereum in 2020 than they were when the community first split in 2016. Today, the network has nearly $1 Billion held in contracts related to decentralized finance. Just the MakerDAO project, for example, has over $500 Million worth of Ether locked as collateral backing the Dai stablecoin. If the chain were to split— and split the price of Ether on each network along with it— the dramatic shift in price could cause mass on-chain liquidations, or even the collapse of the project altogether.

Of course, there's also a question of which chain various DeFi projects would even choose to support. Would they support both? Could they? While I doubt a chainsplit would spell the end of Ethereum, I do think it would kill a number of high profile DeFi projects. The value destruction caused would completely undermine confidence in an ecosystem still very much in its infancy. That trust could take years to rebuild.

As of yet, none of the teams behind a major DeFi protocol have come out in favor of ProgPoW, while several have come out against it. More than anything, this fact may be what ensures the change remains tabled.

So Now What?

Let's recap the situation. The community is deeply divided on an issue where a clear cut method to weigh the options simply doesn't exist. Both sides are deeply dug in, but no one wants a chainsplit due to the tremendous damage it would do to the DeFi ecosystem now incubating on top of the network. So what comes next?

On an Ethereum core developers call held on Friday, March 6th, it became clear that ProgPoW would not be included in the forthcoming upgrade hardfork, codenamed Berlin. That does not mean it's off the table forever, but the status quo does have a structural advantage here. I would not expect to see ProgPoW move forward unless the situation changes drastically, or some new information becomes available. Link.

That said, such new information surfacing isn't out of the question. It was recently discovered, for example, that a weakness may exist in the Ethash algorithm which enables even more efficient mining machines to be built— perhaps 10x more powerful than what exists today. If the network goes from 40% ASICs to 100% ASICs, will this change the opinions of those who currently stand in opposition? It's unclear. But if this does happen, I would not be surprised to see a tweaked version of ProgPoW rebranded as Ethash 2.0 and brought up as a new EIP sometime in the next year.

For my part, I have proposed a compromise to the community that aims to focus on the shared goals of both sides: maximum network security, decentralization, and protection from any ASIC miners who might attempt to manipulate the network or thwart the transition to ETH 2.0. Rather than activating ProgPoW on the network, I have suggested that it be fully implemented, made available behind a command line switch, and activated on an official Ethereum testnet. Additionally, the community should agree that it will be activated using this switch should any clearly malevolent behavior on the part of ASIC miners be detected. Link.

Zooming Out

It's easy to get bogged down in the specifics of the ProgPoW debate, but it's also important to zoom out and look at what this controversy tells us about the bigger picture. Governance is messy and hard even for top down organizations— for a global decentralized network, it's a total quagmire. No one really knows how to make it work, and it actually may not work at all.

For its part, the Bitcoin project has chosen the path of governance minimization. This means the protocol rarely changes, and does so only in incremental, backwards compatible steps that have overwhelming consensus from the community. This is a very rational approach, but it comes with an obvious tradeoff. Bitcoin is essentially ossified. The base layer is unlikely to change much at all moving forward.

Ossification makes a ton of sense for Bitcoin, since it is aiming to be the best form of digital gold possible. As a general purpose smart contract platform, Ethereum is striving for something that's different, and harder to achieve technologically. To get there, a lot of work is left to be done, so for the time being the community is going to have to muddle its way through governance challenges like this one.

I'm confident the Ethereum community will get past the ProgPoW issue one way or another. It's also increasingly clear, though, that this process can not go on forever. If Ethereum is really going to be the backbone for a global, open, programmable financial system, twenty five stakeholders on a conference call can not be arguing over critical changes to the way it functions. At some point, all serious layer one blockchains have to ossify.

If I'm right about this, it means we're at an exciting moment in history that won't repeat itself. We get to watch, and even participate, as critical new pieces of digital infrastructure get created. The decisions we make today might impact the world for decades, for better or for worse.

This also leads to another question: what about things other than base layers? What will governance for layer 2 networks look like? How about for on chain DeFi protocols like Maker and Compound? If governance minimization is, in the long run, the only way to keep base layers truly decentralized, why should we expect differently for those things built on or above the base layer? Yet many of these systems require active governance in a way base chains do not. How will we square that circle? This is an unanswered question, and one that deserves more attention from those of us who'd like to see a more decentralized future.