What is the Ethash mining algorithm

Ethash is a memory hard proof-of-work (POW) algorithm and was specifically designed to be used for Ethereum (ETH). It is currently also used to mine Ethereum Classic (ETC). The algorithm is an improvement over the original Ethereum POW proposal known as Dagger-Hashimoto, invented by Vitalik Buterin and Thaddeus Dryja. Hence Ethash is sometimes referred to as Dagger-Hashimoto.

Like other memory hard POW algorithms, ASICs have been developed to mine Ethash. The first publicly available ASIC, Bitmain Antminer E3, was announced in April 2018. The development of ASICs has driven discussions within the Ethereum community to change its mining algorithm, but proposals for new algorithms such as ProgpPow has been thwarted thus far.

Ethash is unique in that the memory usage of the algorithm increases over time. Every 30,000 blocks (epoch), Ethash recalculates a “Directed Acyclic Graph” (DAG) file which increases in size at each recalculation. As of this time (June 24 2020), the Ethereum the DAG file size is 3.69 GB. Comparatively, the DAG file size on the first Ethereum block was 1 GB. This increase in memory usage can render old ASIC’s obsolete. The above mentioned Antminer E3 unit can no longer mine Ethash as it does not have enough internal memory to store the DAG file.

What is ProgPow?

Forking for ASIC Resistance

A battle is being fought within Ethereum: The fight for ProgPow.

ProgPow is a proposal to change Ethereum’s mining algorithm from Ethash (also known as Dagger-Hashimoto) to an ASIC-resistant mining algorithm called ProgPow. Discussions regarding the change have been ongoing since January 2019, when it was brought to light in a meeting of Ethereum core developers. Although ProgPow has been approved for inclusion in future hard forks, integration of ProgPow has been continuously pushed back and is now tentatively scheduled for July 2020.

Continue reading