ProgPoW Audit: Goals & Expectations
Why are the Ethereum Cat Herders reviewing ProgPoW?
The Ethereum Cat Herders were tasked by the Ethereum Core Developers with reviewing and finding an independent party to perform an audit on the Programmatic Proof Of Work algorithm (a.k.a ProgPoW). Below is a background of how the Cat Herders came about to reviewing ProgPoW.
- Due to the evolution of thinking that resulted in the delay in Ethereum’s move from Proof of Work to Proof of Stake there grew a belief among some groups in the community that the current Ethereum Proof of Work algorithm Ethash could be gamed by ASIC manufacturers. Therefore resulting in ASIC miners starting to monopolize the network hash rate leading to threats of centralization.
- A small community group called IfDefElse proposed a new algorithm called ProgPoW. Built on top of Ethash it is suggested that it would reduce the hash rate benefit future ASICs would enjoy over GPUs to a maximum of 20%.
- NOTE: ProgPoW aims to decrease the economic incentive to build an ASIC, not to prevent the ability to build one.
- The community behind ProgPoW has been promoting ProgPoW, which has subsequently become EIP-1057, for several months within the Ethereum Community and in the Ethereum Core Developer Calls.
- The Ethereum Core Developers on the 4 January 2019 tentatively approved the implementation of ProgPoW in Meeting 52 and it was then decided that this tentative decision would be subject to a review/audit in Meeting 54 on February 1, 2019 to be managed by the Ethereum Cat Herders (see this Reddit post for more details).
- The Ethereum Cat Herders have identified two main tasks around this review/audit of ProgPoW:
- Gauge community sentiment and general consensus towards ProgPoW
- Perform a technical audit of ProgPoW
How was sentiment gauged?
Sentiment was gauged using a variety of signals. We recognize that these are only signals and do not represent every part of the community.
Surveys with ProgPoW stakeholders and other community members were conducted in order to gain insights into the pros and cons of ProgPoW. The results of the surveys/interviews were anonymized. You can view the surveys/interviews here.
The coin vote results are located here.
As of this post the results are overwhelmingly in favor of ProgPoW.
The miner hashrate vote is located here.
As of this post, the miner vote is overwhelmingly in favor of ProgPoW.
Why is a technical audit of ProgPoW required?
There are many concerns surrounding the implementation and security of ProgPoW as well as its effects on the network. 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 and affirm that ProgPoW is a safe replacement for Ethash.
What is the technical ProgPoW audit examining?
The Ethereum Cat Herders have identified in conjunction with various stakeholders in the community the following areas for review:
Note: This list is not exhaustive and these or new items may or may not be included in the final audit dependent on finding an auditor with the skills to perform these evaluations and procuring the funding for the audit.
- The expected effects of ProgPoW on the security of Ethereum vis-a-vis: Security of the algorithm, attack surface, cost of 51% attack, and other security risks that may result from a change from Ethash to ProgPoW.
- ProgPoW meeting the goal of ASIC resistance: Known methods to speed up the calculation of the hash function, length of time it would it take to create a ProgPoW ASIC (if R&D begins immediately), and expected efficiency gains from the first generation of said ASICs.
- Identify any potential advantages or disadvantages that ProgPoW would present in comparison to Ethash in terms of changes to the network, “fair mining” and evaluate any potential uneven distribution
Who is performing the audit and what is the timeline for the audit?
Least Authority has been selected to perform the audit. They have previously performed an audit on Ethereum before launch as well as recent audits on ZCash. You can view their audit proposal here. Please note that the timeline contained in this version of the audit proposal is inaccurate. The timeline for the audit is currently unknown until the audit is funded and technical details of the audit are finalized with the auditor.
How will the audit be funded?
We are soliciting funding for the audit from a variety of sources including Ethereum organizations, miners, and the community. We have set up a Gitcoin grant to raise funds from the community. Please click here to contribute. Note that the Gitcoin grant will only be for a portion of the funding and we will rely on larger organizations and others to contribute. We appreciate everyone who is contributing to this audit!
The Ethereum Cat Herders believe that this audit is very important because it provides more context and data to the ProgPoW discussion. We hope you consider funding our Gitcoin grant.