Programmatic Proof of Work (ProgPoW) presents a novel change to the current PoW consensus mechanism in attempt to reduce advantages currently presented by ASIC miners within the network. If proven valid, ProgPOW supporters argue that this implementation will establish a broader market for GPU mining while further reducing the inherent risks associated with miner centralization.
The purpose of this engagement is to compare the performance of a selection of mining hardware commonly used within the Ethereum network. Although there are performance profiling reports available for different GPUs, some of which include the hash rate of both Ethhash and ProgPOW, it is difficult to objectively understand how the network is going to behave once having switched to ProgPOW.
The primary goal of these testing initiatives is to establish an empirical dataset that allows the community to understand how the Ethereum network will be affected by these fundamental changes to its Proof of Work consensus algorithm in terms of both performance and security. An emphasis will be placed on the notion of mining fairness which does not present any distinct inherent advantage for particular hardware manufacturers or third-party interests.
Fulfillment of this bounty will require novel testing methodology that provides a holistic performance benchmark under various network and environmental conditions as well as a quantitative measurement for the level of decentralization.
The resulting datasets should be accompanied by a written report which details the employed methodology in order to allow the community to draw their own conclusions.
Documented benchmark performance of popularly available GPUs within a controlled lab setting which also accounts for network performance between individual miners
Benchmark of existing Ethash implementation vs. ProgPoW
Identify any potential advantages or disadvantages that ProgPoW would present in comparison to Ethash in terms of “fair mining” and evaluate any potential uneven distribution of advantage between manufacturers or third-parties.
Analyze the functions and processes implemented by ProgPoW in terms of auditable code, cryptographic arithmetic, practical performance, and security.
Identify any potential attack vectors that may be present, including a mathematical analysis of algebraic relations of the psuedorandom number generator (PRNG) implementation and FNV1a.