It’s been hotly debated. The community has been surveyed. There was even a “coin vote” and a miner vote. Despite sentiment being overwhelmingly in favor of the move, today, the Ethereum community learned that the controversial, proposed upgrade known as ProgPoW, will also be getting a thorough audit of its code.
Ethereum announced that the independent auditor, Berlin-based security consultancy Least Authority, would be analyzing ProgPoW.
The upgrade would minimize the advantage enjoyed by so-called ASICs—chips optimized for faster mining and employed by large mining farms— and tilt the balance in favor of GPU miners. That has made it a political hot potato, tossed around among Ethereum developers and the wider community since August 2018, when it was proposed.
However, despite widespread approval among the masses, a number of core developers and influential community members have spoken out against ProgPoW, including Martin Köppelmann, co-founder and CEO of prediction market platform, Gnosis and SpankChain CEO, Ameen Soleimani. They argue that the move is a waste of time and resources—a monumental transition from Proof of Work to Proof of Stake has been in the works for four years now—and runs the risk of further delays and a failed hard fork.
“It does not help Ethereum long term at all,” Köppelmann tweeted. “It is an unnecessary risk of a network split.”
The platform’s de-facto project managers, the Ethereum Cat Herders, announced the audit today to deal with the criticism.
“There are many concerns surrounding the implementation and security of ProgPoW as well as its effects on the network,” Cat Herder Hudson Jamerson wrote in a blog post late today. “As this is a replacement to the current Proof of Work algorithm a technical audit of the algorithm is prudent and would assuage those concerns.”
While many of the community believe that optimizing the network for GPUs will allow more Ethereum users to compete for new cryptocurrency awarded by the protocol, Alexey Akhunov, a developer, is among those who think that the large mining farms are likely to push out such people regardless of what types of chips are used.
Akhunov believes that trying to fight this trend is a waste of time; that work will soon be complete which will diminish the impact of ProgPoW, almost as soon as it is ready to implement.
While developers such as Akhunov and Köppelmann withhold their consent, questions remain. Cat Herder Lane Rettig has admitted, on Gitter, that “it’s not clear that core devs as a unit [have] achieved consensus.”
Ethereum’s governance methods are being put to the test
Whether unanimous or not, developer consensus for ProgPoW was restated during the most recent core developer call, on March 15. And since then, Twitter, Reddit and Gitter have all been on fire with developers and the wider community arguing about the decision, not always nicely.
Central to the discussion is how the original decision to go ahead was taken.
Like other proposals, ProgPoW was debated both online and on biweekly developer calls until a consensus was deemed to be reached. Various opinions were put forward, on all social channels, among them was a common one: people were not so much upset about ProgPoW itself, as about a decision being taken that many were not aware of.
Though Akhunov was on the calls he said he was nonetheless uncomfortable with the way the decision was made.
“Most people on the calls aren't really commenting much,” he said. “They are ‘on the fence.’”
The process of reaching consensus on a decision is largely driven by Jameson, who invariably chairs core dev calls. It’s an unenviable task.
Before moving on, Jameson ultimately asks whether anyone has concerns that are “over my dead body” on the proposal about to be agreed (it’s a process derived from Internet Engineering Task Force, IETF, and signals that someone’s concerns MUST be addressed.)
Akhunov is concerned that, in such a situation, his silence is seen as acquiescence, and is considering removing himself from core dev calls related to ProgPoW as a consequence. But another developer, Greg Colvin, has argued that being absent for the call should also signify agreement, unless expressly communicated. It’s a situation that clearly requires further thought.
Governance shake up?
ProgPoW is likely to result in major changes to Ethereum’s governance structure, whether it’s implemented or not. As a consequence of the discord, the Ethereum Cat Herders have already been searching for better ways to establish community sentiment around decisions.
“I personally believe that we are currently operating primarily under a technocracy due to the fact that there is not a governance infrastructure in place for the community to voice their decisions without the signals for such decisions being gamed,” said Jameson, explaining how the decision was taken, in a Reddit post.
Formal voting is an obvious option that has been rejected because it raises questions about what constitutes a quorum, i.e. who is allowed to vote.
Ethereum’s loose community structure and the differing sizes of the teams of developers is just one factor that make this difficult to determine, Rettig said, via Gitter.
Other suggestions include more timely involvement from interested parties and more formal calls for assent.
Questions have also been raised about the online voting, for coin holders and miners. Was it representative? Some believe not, and argue that mining pools are not a representative democracy. Others point to the clear majority achieved and emphasize that ignoring these signals would be an immoral action.
Implementing ProgPoW would risk a contentious hard fork
The threat of a contentious hard fork—with a substantial part of the chain continuing to mine the non-ProgPoW element—is a serious consideration. The chain was forced to fork in 2016, the last time consensus could not be reached, and that’s still fresh in many minds.
"I can assure you that if ProgPoW goes through, there will be a fork,” said Redditor BackOnTheBike. “I won't be moving my many nodes to [the] ProgPoW chain and I'm sure I’m not the only one… So, go ahead, implement ProgPoW, let’s get a REAL signal and see where it ends up... It won't be good for anyone.”
Akhunov believes that the decision will come down to client implementers. “What people like me are saying is simply an advisory, something they can listen to, but act whichever way they decide,” he says. “When my client is used by lots of people, I will also have to make these decisions, and I will probably be offering my users options to join whichever side of the fork they want.”
He believes that, while there is potential for a contentious hard fork, the signalling that’s taking place from mining pools is showing that the majority will switch to ProgPOW, and cease to support the old chain. A contentious hard fork would require a new mining pool to keep mining the old chain, as well as developers willing to support client implementation. “[I’m] not sure this will happen, partly because it is not clear who is going to fund them. All in all, I think it is not very likely that a rebel chain will appear.”
Walking on eggshells
While the official announcement requesting donations towards the audit goes live today, the Ethereum Foundation has already been asking major miners and organizations to contribute. But there’s also some disagreement over the deliverables the audit is expected to produce.
Meanwhile, some have been taking matters into their own hands and conducting their own investigations, while others feel that there is still opportunity to speak up and break the consensus.
And, in addition to the discord, the timeline for ProgPoW’s implementation is far from clear.
ProgPoW is approved for inclusion in either Ethereum’s next upgrade, Istanbul (a date is not yet set), or in a separate hard fork. Meanwhile, unless the upcoming audit uncovers bugs or vulnerabilities in the code and it’s shelved or a replacement found, dissent about an upgrade that impacts an estimated $655 million annual market for Ethereum’s mining rewards is likely to rumble on. Whether the dissenters are right or wrong, if all goes belly-up, they will at least be able to say: “I told you so.”