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.