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 the Equihash mining algorithm?

Equihash is most commonly used to refer to Zcash’s (ZEC) POW algorithm, which can also be used to mine Komodo and Horizen. Equihash was introduced in 2016 by Alex Biryukov and Dmitry Khovratovich specifically as a memory hard POW algorithm that could be used to create ASIC resistant cryptocurrencies.

There are several variants of this algorithm distinguished by how it sets the “n” and “k” parameter of Equihash. ZCash sets n = 200 and k = 9. Other cryptocurrencies set the two value differently, such as BEAM which uses n = 150 and k = 5, Bitcoin Gold which uses n=144 and k=5, and AION which uses n=210 and k=9. For ease of reference, WariHash will refer to each Equihash variant by its most commonly mined coin (i.e, Equihash-Zcash, Equihash-BEAM).

The n and k parameters determine how much memory the algorithm uses and how long it takes to compute the solution. Thus, an ASIC optimized for one set of parameters cannot mine optimally on another set of parameters. The most common Equihash-Zcash ASIC miners, the Innosilicon A and the Bitmain Z series, can only mine Equihash-Zcash and no other variants.

What is the Scrypt mining algorithm?

Scrypt is the mining algorithm used to mine Litecoin (LTC). Scrypt was invented by Colin Percival in 2009 to be used as a memory hard cryptographic hash function. A “memory hard” function uses large amounts of memory in order to compute the end result. This hinders the development of custom hardware that can be used to brute force the function, commonly known as ASICs.

Scrypt was first used in Tenebrix in 2011, which Charlie Lee cloned to create Fairbrix. Both projects failed to gain any traction mostly due to their premine. Lee then created Litecoin as a response and the project has been a constant presence in the cryptocurrency scene since.

Along with Litecoin, Scrypt is also used to mine Dogecoin (merge mined with Litecoin), and Digibyte (in Digibyte Scrypt is one algo in a multi-algo POW system).

Although the initial goal of Scrypt was to hinder the development of ASICs, ASIC mining is now the norm and has been since around 2014. Currently, Bitmain’s L3 series is the most prevalent ASIC and much of Scrypt mining happens professionally alongside Bitcoin mining operations.

What is the SHA256 mining algorithm?

SHA256, or SHA256d (because SHA256 is applied doubly) is the first mining algorithm to be ever used, utilized by Satoshi in his creation of Bitcoin. As it is used to mine Bitcoin, it is the most revenue generating algorithm and has the most history behind it. SHA256 belongs to a family of cryptographic hash functions called SHA2 and was published by the National Security Agency in 2001. Satoshi presumably chose it as it was the newest standard and a significant improvement over the then more frequently used SHA1. In 2010, on bitcointalk.org, he explained: “SHA-256 is very strong. It’s not like the incremental step from MD5 to SHA1. It can last several decades unless there’s some massive breakthrough attack.”
Continue reading