Ethash is a proof-of-work mining algorithm implemented by the Ethereum network and Ethereum-based cryptocurrencies. Ethash is a successor of the previous Ethereum algorithm called Dagger-Hashimoto and is, in fact, an upgrade of it. However, current development stages of both algorithms made them too different to be considered the same algo.
Ethash uses "Keccak-256" and "Keccak-512" hash algorithms which leads to a little bit of confusion due to the simultaneous development SHA-3 (Secure Hash Algorithm 3) cryptographic standards along with Ethash development.
SHA-3 standard is a part of the more extensive cryptographic primitive family called Keccak, which also referred to as synonym of SHA-3. Sometimes the Ethash’s hash functions are referred to as "sha3_256" and "sha3_512", but the Keccak version of Ethereum is not a standard SHA-3 hash algorithm.
Ethash was developed with a strong focus on protection from ASIC (Application Specific Integrated Circuits) miners but the outstanding popularity of Ethereum - the main Ethash-based crypto, resulted in increased interest of ASIC developers in manufacturing Ethash-compatible miners. Eventually, in April 2018, first ASIC miners for Ethash were announced by Bitmain. However, the community of Ethereum project strongly opposed the perspective of ASIC dominance in the network which resulted in discussions of “bricking” the devices. In terms of the mining hardware, “bricking” means an establishment of the technological upgrade of the network that makes the hardware useless or even broken if its connected to the network. Such proposals forced ASIC miners to conceal their presence and lower the hashing power of their devices. Ethereum's plans of switching the proof technology from proof-of-work to POW/POS (proof-of-stake) hybrid makes ASIC development for Ethash very risky for the manufacturers.
- Main page: Dagger-Hashimoto
The initial version of Ethash was based on an algorithm called Dagger Hashimoto - an algo that was developed by combining the Hashimoto algorithm by Thaddeus Dryja and the Dagger - algorithm by Vitalik Buterin. It was developed to meet 3 main conditions: ASIC-resistance, light client verifiability and full chain storage.
Dagger Hashimoto implements the Hashimoto’s approach in the proof of I/O capacity, but does not use a blockchain as a data set, generating a custom data set of 1GB that is built with Dagger algorithm. The Dagger’s vulnerability of shared memory hardware advantages was eradicated by making a dataset used to query the block semi-permanent and updated at some predetermined time intervals. This adjustment reduced the effort that in needed to generate a data set almost negligible and fixed the previous ASICs optimization problem.
The Ethash mining can be performed both with the CPU and GPU. The Ethash-based cryptocurrencies differ in their demandings on the mining, so in this article Ethereum will be used as an example as the most popular of Ethash implementations and other cryptos often use the same mining software as it. In order to start mining of ETH one will need a fully synced cryptocurrency client that is enabled for mining and at least one Ethereum account. Other Ethash cryptocurrencies need a wallet or an account in their respective networks.
CPU mining of Ethash-based cryptos is now longer profitable due to the almost two times more efficient mining capabilities of GPU miners. However, CPU mining can be used for first mining attempts or in the purpose of creating a some amount of coins to power smart contracts or trying cryptocurrency transactions within a network. Ethereum CPU mining is performed with ETH client called geth. Geth is a program that connects the Ethereum network with the gear of the miner. Mined coins will be sent directly to the miners coinbase address within a network.
GPU mining is the best possible option for Ethash. However, it is important to remember that Ethash is memory-hard and needs at least 1-2 GB of RAM on each GPU used. AMD GPUs generally show better results than NVidia products of the same category, ASICs and FPGAs (Field-Programmable Gate Arrays) that are currently capable of Ethash mining are inefficient in comparison with GPUs and are discouraged both by the community and by the developers. In order to start GPU mining one need to download Ethminer - Ethash miner developed by the Ethereum team and suitable to work with every Ethash-based crypto that didn’t specifically blocked this opportunity. Ethminer is available in forms of Eth (its CLI), AlethZero (its GUI) and EthMiner (the standalone miner).
Pool mining is also available for most of the Ethash cryptocurrencies. Pools often require miners to pay some fees (mostly around 1-2% of the income) but it still remains to be the best option to mine popular Ethash-based cryptocurrencies with mediocre gear.
The most famous Ethash-based blockchain is, obviously, the Ethereum network. Ethash was developed by the Ethereum foundation specifically to build its own network based on it. The first blockchain was forked after The Dao was hacked due to its smart contract-related vulnerability and split up in two different blockchains with their own cryptocurrencies - Ethereum (ETH) and Ethereum Classic (ETC). Ethereum classic, the first blockchain based on Ethash, is no longer under the development of the original Ethereum team and is now maintained by the Ethereum Classic development company.
Ethereum is the main platform for the establishment of tokens and apps with their own cryptocurrencies. Augur, Binance Coin, Bytom, Status and many other cryptocurrency projects are based on Ethereum's technical standard ERC 20 and are de facto using Ethash as a proof-of-work algo. However, only a few of the ERC 20 tokens made an attempt to become minable. So all mentioned currencies are not only strongly dependent on the Ethereum blockchain, but are also not functional in terms of blockchain maintenance without it.
According to CoinGuides.org, independent cryptocurrencies with their own Ethash-based blockchain with minable crypto include the following projects ranged by popularity:
- Metaverse (ETP)
- Expanse (EXP)
- Musicoin (MUSIC)
- Ellaism (ELLA)
- Elementrem (ELE)
- DaxxCoin (DAXX)
- GitHub: Ethereum Wiki - Equihash
- GitHub: Ethereum Wiki - Dagger Hashimoto
- GitHub: Ethereum Wiki - Mining
- GitHub: Ethereum Wiki - Introduction to Ethereum mining
- Thaddeus Dryja: Hashimoto: I/O bound proof of work
- Vitalik Buterin: Dagger: A Memory-Hard to Compute, Memory-Easy to Verify Scrypt Alternative
- Reddit: Vitalik Buterin - Dagger updates
- Sergio Lerner: Ethereum “Dagger” PoW function is flawed
- CoinGuides.org - What is Ethash? A List of all Ethash coins – Ethash PoW algorithm
- Wikipedia: Ethash
- Cryptocompare.com - How to mine Ethereum on a Windows PC?
- Medium.com: Admazzola: How does ERC20 Token Mining Work?
- InvestInBlockchain.com: The Top 20 Ethereum Tokens
- Ethereum Homestead Documentation: Mining
- Wikipedia: Directed acyclic graph