What is ProgPoW?
1
What is ProgPoW?
2
What does ProgPoW aim to do?
The ProgPoW algorithm is designed to improve CPU/GPU mining efficiency and strengthen its edge against ASIC-based mining.
The spread of ASIC devices potentially threatens:
- lower revenues for CPU/GPU owners and a weaker incentive to support the network;
- protocol manipulation by large miners;
- mining centralisation.
As ASICs emerged and spread, developers produced new iterations of the original proof-of-work algorithm intended to be “ASIC-resistant”.
Designing an algorithm protected against hardware optimised for specific characteristics has always been hard. Ethash, used for Ethereum mining, was also devised as ASIC-resistant, yet proved ineffective.
3
Who created ProgPoW, and when and how?
ProgPoW was created in 2018 by members of the ifdefelse developer group: Miss If (Kristy‑Leigh Minehan, a.k.a. OhGodAGirl), Mr. Else (a.k.a. RadixPi) and Mr. Def.
The impetus for ProgPoW came from online discussions about ASIC-resistance in March 2018. The Ethereum developer known as Pipermerriam published EIP-958 (Ethereum Improvement Proposal) aimed at making Ethash ASIC-resistant.
Development sped up when sales began of the Antminer E3, an ASIC miner for Ethash. Although it later became clear that the Antminer E3 was a rather “raw” device, sentiment among users grew increasingly critical around ASIC-resistance.
In April 2018 Ethereum developer Vlad Zamfir ran a poll, “Would you support a hard fork that makes ASIC miners inefficient?” 57% of respondents backed a hard fork.
Around the same time, EIP-969 proposed changing Ethash.
These two EIPs, constant debate over ASIC-resistance, and the fact that roughly a thousand people voted on GitHub in 2018 to study ASIC-resistance prompted IfDefElse to start building an algorithm genuinely resistant to specialised hardware.
4
Technical features of ProgPoW
ProgPoW is an optimised Ethash. For each iteration in searching for a solution (the inner memory-access loop), the algorithm runs a randomly generated program based on the block number. This model requires full use of a GPU’s resources and capabilities (except for floating-point operations and graphics pipelines, which were dropped to suit hardware from different vendors).
ProgPoW makes the mining puzzle non-static: an ASIC miner—an “application-specific integrated circuit”—is built for a single task and lacks the flexibility to work well with ProgPoW. GPUs, by contrast, can adapt quickly to constantly changing mining conditions. Using ProgPoW allows GPUs to reach performance levels comparable to ASICs.
5
Criticism of ProgPoW and the current state
In 2018 opposition to ProgPoW was moderate, as ASIC-resistance remained an important goal for the Ethereum community.
In September 2018 Linzhi Mining announced an efficient Ethash ASIC. The firm took a highly hostile stance toward ProgPoW and even claimed it could develop an ASIC for ProgPoW. Rumours also surfaced that ProgPoW had been created by the two leading GPU makers, AMD and Nvidia.
Early in 2019 Ethereum users began voting on ProgPoW. By April 2019, 93% of respondents, controlling 2.93m ETH, supported ProgPoW. The Ethereum developers agreed and then reversed course several times. In the end they decided to implement ProgPoW provided the new algorithm passed audits. The audits were successful, and in January the developers reached a preliminary agreement on the ProgPoW proposal (EIP-1057).
On 21 February 2020 the developers agreed that code activation would tentatively take place in July.
On 24 February, Vitalik Buterin expressed puzzlement that ProgPoW, once shelved, had reappeared on the agenda and was even being considered for the next Ethereum hard fork.
BTW the way progpow was ninja-reapproved definitely did *not* help make people trust the governance or feel safe, and arguably drove the Twitterati to believe that they have to send loud, simple and clear messages (ie. more such Schelling fences) to get their voice heard.
— vitalik.eth (@VitalikButerin) February 24, 2020
On 27 February 2020 a number of prominent members of the Ethereum community signed a petition urging against activating ProgPoW. They consider the proposal hasty and potentially capable of splitting the network. In their view, there is not enough support to adopt ProgPoW at present.
Even so, Ethereum developer James Hancock is convinced a split is unlikely. Moreover, he considers ProgPoW one of the “most ready” proposals for activation. Martin Swende of the Ethereum Foundation agrees and also argues for activation.
Kristy‑Leigh Minehan and Vitalik Buterin attribute the serious divisions in the community over the new algorithm to a “lack of communication”.
A vulnerability found in ProgPoW on 4 March 2020 triggered a new round of debate.
By now Ethereum users appear tired of years of arguments. Vitalik Buterin has said he would be “fine with any decision”.
Follow Forklog on Facebook!
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!