ProgPoW is short for Programmatic Proof of Work. The proposed upgrade would extend Ethereum’s existing Proof of Work algorithm, slightly altering the structure of math problems that mining nodes are tasked with solving. The change is meant to substantially improve the odds for GPU miners over ASIC miners.
ASIC is short for “application specific integrated circuit.” In the context of Ethereum, it’s a highly specialized computer designed to be mass produced for the sole purpose of mining Ethereum. However, this issue existed before Ethereum. The original Ethereum white paper called attention to the proliferation of ASICs in Bitcoin mining. Seen as a cause behind the centralization of the Bitcoin network, the Ethereum white paper set an intention to avoid the same fate:
“This means that Bitcoin mining is no longer a highly decentralized and egalitarian pursuit, requiring millions of dollars of capital to effectively participate in.”
ASICs built for Ethereum have anywhere from a two to four-fold advantage over GPU miners. Multiple Ethereum ASICs hit the market last year with the Antminer E3 from mining hardware giant Bitmain at the high end of the performance scale. The ProgPoW update is engineered specifically to slightly alter the problem that miners are asked to solve in a way that will reduce or eliminate the advantage ASICs have over GPU miners.
The Ethereum community generally agrees in ASIC resistance, believing that GPU mining leads to a more distributed network and that the more distributed the network is, the better. While the mass manufacturing of ASIC miners provides a cost-saving advantage per hash, these miners are generally purchased in large quantities for mass-scale mining operations that consolidate ownership of the network. In addition to centralizing the network, the homogeneity resulting from running all of the same mining hardware at scale leaves the network at risk when a security vulnerability is discovered in a popular line of ASICs.
Alternatively, GPU miners are generally custom-built entirely from personal computing hardware already available in the consumer market. These machines use computer chip architecture common in deep learning and animation rendering that combines a series of 3D video cards with high-end GPU chipsets in a single machine.
The high level of accessibility of the hardware required to build these machines creates an opportunity for more people to participate and a more distributed network. As the markets change for 3D video cards, new mining machines use different combinations of hardware from different manufacturers in an attempt to fine-tune a better machine. The multi-purpose nature of the hardware also means that if markets change and mining becomes less profitable, GPUs can be removed from the network and used in other ways. Meanwhile, ASICs serve no other purpose when they are no longer profitable to run.
At the Jan. 4th core developers meeting, progress on ProgPoW was reportedly on track and running on the Gangnam test network. Since then, the Ethereum community is reporting that the ProgPoW update may lead to more centralization of the network, rather than less.
GPU miners tend to utilize hardware from one of two primary chip manufacturers, AMD and Nvidia, both of whom have reviewed the ProgPoW code. However, according to a variety of reports, the ProgPoW patch seems to provide a significant advantage to Nvidia based GPUs over AMD counterparts. To add to the controversy, allegedly one of the three team members working on the patch worked previously as a hardware engineer at Nvidia, leading to rumors of Nvidia’s involvement in the patch, although that claim is disputed.
Others have been quick to follow up with claims that the patch isn’t really needed to begin with and have questioned the wisdom of altering the mining algorithm if the intention is to move to a Proof of Stake alternative soon. Just last year, Ethereum’s creator Vitalik Buterin downplayed the ASIC threat.
Fearing that the community reaction would lead to ProgPoW not being released at all, one member of the Ethereum community is threatening to hard fork Ethereum to enable ProgPoW.
The team working on ProgPoW, known online as IfDefElse posted a public response to the controversy in the form of an FAQ. In the FAQ, the team openly describes their collaboration with both Nvidia and AMD. The post goes on to clarify—in extreme detail—a technical explanation of the change and why the community experienced the variance in results.
“It was designed to have as level of a playing field as possible.… Performance of a GPU for ProgPoW in mining workloads will reflect the average gaming performance of that GPU.”
The team also addressed the possibility that ASIC manufactures will create another series of machines and the cycle will start over. The team believes that, at best, a new generation of ASICs would not be able to achieve more than a 1.5x advantage over GPU mining systems. Combined with the looming switch to Proof of Stake, this may dissuade manufacturers from attempting to challenge the team’s estimate.
Even though testing is already underway, it is still too soon to know when, how, or even if ProgPoW will be released. Despite the heated online debate, the ProgPoW patch continues to progress as planned. That said, as demonstrated by Ethereum’s recent hard fork delay, development schedules are always subject to change.
At the Ethereum Core Developers February meeting, the lively discussion explored concerns ranging from test coverage and specification readability to how to make a decision on releasing the patch. Some of the developers felt the team was ready to make an implementation decision. As embodied in a comment by core developer Greg Colvin, “we can just make it, it’s our job!”.
Meanwhile, other developers suggested that the decision to upgrade may ultimately rest with the community itself. The team put a lot of emphasis on doing the right thing for the mining community. Another core developer, Piper Merriam said:
“I’ve largely stayed out of the discussion…. It’s a decision that, frankly, I’m not excited about making for the network… but I also acknowledge that it’s potentially our responsibility to make it.”
Without complete details on how the patch will proceed, the team has agreed to organize a third-party audit to verify the fairness of the new algorithm while development on ProgPoW continues as planned. Whether Ethereum will make the switch to ProgPoW or focus on implementing PoS is still highly uncertain.