From 412e2ce3a067244ac2bcd9dc23288cc2347872bb Mon Sep 17 00:00:00 2001 From: Luke Schoen Date: Wed, 15 May 2019 09:24:38 +0200 Subject: [PATCH] docs: Add ProgPoW Rust docs to ethash module (#10653) * docs: Add ProgPoW Rust docs to ethash module * review-fix: Remove unnecessary lines * fix: Fix incorrect naming of ProgPoW Co-Authored-By: Talha Cross <47772477+soc1c@users.noreply.github.com> --- ethash/src/progpow.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ethash/src/progpow.rs b/ethash/src/progpow.rs index 038f38c22..7c7fb531a 100644 --- a/ethash/src/progpow.rs +++ b/ethash/src/progpow.rs @@ -14,6 +14,22 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . +//! ProgPoW (Programmatic Proof-of-Work) is the Ethereum network's proposed new Application-Specific Integrated +//! Circuit (ASIC) resistant Proof-of-Work mining algorithm. +//! +//! ProgPoW's aim is to reduce the efficiencies of specialized mining devices known as ASIC chips +//! (and accelerated GPU-based setups), and to maximize the performance of General Purpose Hardware (GPUs) to enable +//! more users to compete for new cryptocurrency awarded by the protocol. +//! +//! ASIC chips are those that are tailored to efficiently mining cryptocurrency based on a specific hashing algorithm. +//! +//! GPU mining setups are less specialised are struggle to compete for mining rewards. +//! +//! It would be a change from Ethereum's current PoW mining algorithm known as Ethash. +//! +//! ProgPoW audits have been proposed to analyse the efficiency of a ProgPoW ASICs over +//! GPUs and analysis of the economic impact on the Ethereum protocol. + use compute::{FNV_PRIME, calculate_dag_item}; use keccak::H256; use shared::{ETHASH_ACCESSES, ETHASH_MIX_BYTES, Node, get_data_size};