What do we talk about when we talk about progressive proof-of-work (ProgPoW) on Ethereum?
On the surface, ProgPoW is a proposed update to the mining algorithm of the world’s second-largest blockchain by market cap that would theoretically favor less well-resourced miners.
At its core, though, ProgPoW has become a flashpoint for how Ethereum makes big decisions. The developers have effectively become the legislative body of the decentralized nation-state that is Ethereum. And if they make a decision that makes enough miners angry, it could split the chain (again).
The ProgPoW debate reignited on Friday, Feb. 21 in the Ethereum Core Developers call when Ethereum Improvement Proposal (EIP) 1057 – the code change involving ProgPoW – moved forward, surprising many in the greater Ethereum world, such that Vitalik Buterin himself called it "ninja re-approved."
ProgPoW could drive a split on Ethereum if it goes forward, potentially similar to what happened after the DAO hack in 2016, which led to the creation of ethereum classic (ETC). But ethereum (and its native currency, ETH) is worth vastly more now than it was then. Much more is at stake.
The next big decision regarding ProgPoW will be made at the Ethereum Core Developers meeting on Friday at 14:00 UTC (those interested can watch it live on YouTube; we’ll be there). If the developers who preside over the blockchain decide to move ProgPoW forward, it won't happen for weeks, however.
The current plan is to allocate a whole hour to ProgPoW, according to the final agenda for tomorrow's call, with spokespeople from both sides making their case.
The Ethereum ecosystem has been talking about ProgPoW for a long time. In January 2019 it looked close to happening and then fell apart. Least Authority, a cloud storage company founded by Zcash's Zooko Wilcox that has a sideline in security audits, was one of the auditors that found ProgPoW did what it billed itself as doing.
Nevertheless, the proposal didn't move.
Which brings us back to the core question: How does Ethereum make big decisions?
Theoretically, Ethereum governance comes down to the miners. The people running mining rigs can run whatever code they want and when enough miners are on a given fork of Ethereum code, that's the official code.
But here’s the catch: The code comes from the core developers, but the core developers have no power to force that code on miners. On the other hand, the miners are unlikely to ever be coordinated well enough to tell the developers what to do. So developers have all the writing power and miners have all the execution power.
Except, there are many barely relevant blockchains out there that are mined and don't have much value. It takes more than mining to give a chain value. It takes adoption. So in that way, people – businesses and individuals using Ethereum to track intellectual property rights, raise funds in a distributed way and make piles of asset-backed loans – have the final say.
Case in point: Ethereum Classic is the original chain of Ethereum and yet Ethereum dwarfs it in real value. That’s because the community voted with its feet and made Ethereum the “legitimate” chain after the two split in summer 2016.
So it isn't really the miners who have final say, because they are only going to keep working on the chain that has value. And the people give it value. (Well, sort of the people. More on that below.)
So who is really in charge of Ethereum? It's tough to say! Decision-making is quite distributed, and the question is whether or not that distribution has yielded stability or stasis.
"I think this is more kind of a referendum on the Ethereum governance process," Spencer Noon, an investor at DTC Capital and a ProgPoW opponent, told CoinDesk. "Frankly, contentious issues like this, contentious anything, this is how you harden your governance. If it didn't happen with ProgPoW this would have come up with some other issue."
How EIPs work
Ethereum developers have a process for deciding what to add to the blockchain’s official codebase (for mining and other things as well). It’s called the "EIP process."
Basically, the core developers decide by consensus whether or not to go forward with major and minor changes and then it becomes real when the miners implement it.
Hudson Jameson, who serves as an interface between the core devs and all of Ethereum's many fans wrote on Reddit recently, "We rely on the core developers to be altruistic and listen to the community. I consider my role as a developer-community liaison who helps the protocol devs know what the community is thinking."
Developers never really meant to get in the middle of the philosophical questions, and yet that's where they are. The EIP process as written on the Ethereum Foundation website actually addresses this:
"The EIPs process and AllCoreDevs call were not designed to address contentious non-technical issues, but, due to the lack of other ways to address these, often end up entangled in them.”
Eric Conner of Gnosis wrote an evaluation of the decision-making process and suggested there should be an official way of discussing these matters.
To that end, Jameson told CoinDesk key stakeholders are working on an updated EIP process that will incorporate more kinds of input, which may enable more people to get heard.
What is a fork and how does it happen?
A fork happens when there's no consensus between miners about which chain to mine on a blockchain. Little forks happen all the time when two miners think they've both found a block, but pretty soon the network will coalesce around the work of one miner and the miner working on the other block will have just wasted some time.
Too bad for the losing miner but also no big deal. That miner will quit and join everyone else. The world will not notice, because they will stop mining that forked chain. When miners don't coalesce around one chain, though, that becomes a contentious fork.
Code updates can engender such forks.
When a new set of code gets released, if some miners upgrade to it and some refuse to, the group that refuses will create a new copy of the chain. Now every wallet has become two wallets. Your private key will work in two places!
Crypto has been through this tumult a bunch of times now, so all the big players know the drill. But still, it engenders unexpected work, vitriol, confused oracles (see DeFi below) and general market chaos.
Is there any significant precedent for a minority of miners bringing users with them?
Bitcoin had this brutal debate about "block size" which culminated in 2017. No need to go into it here, but it resulted in a fork that led to the creation of bitcoin cash (BCH). Not wanting to see two currencies, Coinbase, for example, did not acknowledge the bitcoin cash fork for several months.
But other exchanges did acknowledge bitcoin cash, and while it never became "bitcoin" it did end up proving to have more value than many expected it would have, which left Coinbase users feeling as though they had been penalized for using Coinbase.
So Coinbase eventually relented and listed BCH, which meant BTC users on the app got a nice airdrop by the time it showed up. So in that way, exchanges legitimize chain splits. So now you've got two chains! What does that matter? More on that below.
Either way, there's discussion underway in terms of how to better reflect the various stakeholders' views in a given debate, especially a contentious one.
Any choice that's made about the "officialness" of given discussion could limit voices, however, because some channels may not be active or might even be blocked in some parts of the world. What language is used to have official Ethereum conversation? What time are the discussions? These are all important questions for global software and decentralized governance.
And, of course, increasing complexity is also going to implicitly advantage one constituency: the status quo. The more people get involved with overseeing any process the easier it becomes to just leave everything as it is. Read More...