Ethereum Community Debates Consensus Algorithm Targeting ASIC Miners
ETHNews recently reported on the resurgence of concerns surrounding ASIC mining rigs ahead of last Friday's core devs call. In that coverage, we voiced some skepticism about the potential for the inclusion of an ASIC-resistant protocol so soon before the implementation of Constantinople. While the developers in the most recent call dismissed the possibility of ASIC-resistant measures in the October hard fork, it appears that they are taking the concern seriously. There is now discussion about the inclusion of a "programmatic proof of work" in Istanbul, the hard fork set to follow Constantinople. The algorithm, dubbed "ProgPOW," has been in development for at least the last year and is described in-depth on GitHub:
"ProgPOW is a proof-of-work algorithm designed to close the efficiency gap available to specialized ASICs. It utilizes almost all parts of commodity hardware (GPUs), and comes pre-tuned for the most common hardware utilized in the Ethereum network."
In other words, whereas some algorithms give highly specialized, expensive mining rigs a steep advantage over more common ones, ProgPOW attempts to equalize the playing field by reducing the financial barriers to entry. ASIC-resistant algorithms have been considered and implemented by a number of other blockchains, including Zcash (considered, ultimately rejected) and Monero (implemented) as a way to reduce centralization of mining pools.
Since Ethereum's inception, ASIC-resistance has always been at least a low-level concern, but there has never been enough concern within the developer community to push any anti-ASIC measure to implementation. However, in a bearish Ether market, with the coming difficulty bomb and decrease in block rewards expected in Constantinople, miners are worried about profitability, prompting more serious discussion of the issue last Friday. Still, there's no sense of certainty or consensus around the issue.
Hudson Jameson of the Ethereum Foundation initiated the conversation by suggesting that ProgPOW be implemented in a "second hard fork after Constantinople," prompting back-and-forth about an appropriate timeline. The general consensus was that six months would be too soon, as it wouldn't give client developers enough time to keep pace, but a year would be too far out. Eight months emerged as a tentative goal, but as Martin Holst Swende, the security lead at the Ethereum Foundation, pointed out, eight months was the goal last time, and that didn't work out.
While some folks from the mining community, including consultant Andrea Lanfranchi and Xin Xu of SparkPool, seemed to agree that ASIC mining is an issue, most who spoke up did not. Carl Larson, the author of an EIP to reduce block rewards, argued that no one has proven that ASICs in fact have a significant advantage. Ethereum Foundation coder Jason Carver argued that, while ASICs do have a significant advantage over older GPU rigs, they're about on par with newer GPU machines. Ethereum developer Jean Cyr raised concerns that ProgPOW is "unoptimized," and voiced his preference for a continuation of the status quo instead of a new consensus algorithm. Nick Johnson, core developer of Go Ethereum, also expressed skepticism about ProgPOW. In the end, they agreed to review the related materials and come back next week to discuss the issue in more depth. They also directed people to online channels for discussion.
As recommended, the debate is now heating up on reddit. Some are confused why developers would invest time in ASIC-resistance when Casper will make the concern irrelevant. Redditor TheBounceSpotter opened a thread elaborating on these concerns:
"During the call there was a push for ProgPOW to be included in the next fork (Istanbul) which would be roughly 8 months after Constantinople, but based on past timeline over runs this is more likely to be a 10-11 months long gap. Therefore we are looking at a timeline of 12-14+ months before ProgPOW is implemented, maybe sometime Sep-Nov 2019. I thought 2019 - early 2020 was the new timeframe given for beacon chain Casper?
"Does that mean ProgPOW will only be operational for 0-6 months before POS? If so, why are we giving it one of the limited EIP slots in Istanbul (each EIP requires time and resources to test, only 3 actual updates are making it into Constantinople)? And if not, does that mean everyone involved already knows or assumes that Casper will be delayed until much later....again?"
Another thread , started by redditor ZergShotgunAndYou, stated an opposing position: "I also believe ProgPOW should be implemented in a future hardfork (preferably sooner rather than later, ideally in the Istanbul HF 8 months after Constantinople). I especially like the approach they took in developing it."
Later in the thread they raised more specific concerns regarding the fact that currently the only Ethereum ASIC mining rigs are made by two companies: Bitmain and Innosilicon: "I would argue having a single entity (or a couple) controlling both the manufacturing AND the sale of mining equipment is deleterious to decentralization and network security."
As should be expected, the range of responses vary considerably, and there seems to be little common ground. For the most part, discussion remains civil, though concerns are sometimes expressed in hyperbolic and sensational terms. Despite how frustrating that may be in terms of efficiency, it would appear to be a sign that the Ethereum community is effectively maintaining a decentralized consensus-building structure.
We'll write rarely, but only the best content.