Blockchain Academy
We'll get together for networking with people interested in Blockchain including developers and anyone curious about Blockchain.

Ethash

It is a proof of work (PoW) based consensus algorithm used by Ethereum. The existing Bitcoin mining method uses the parallel computation of GPU and CPU that does not require memory for calculating the nonce value. So since it is possible to make a dedicated mining machine, mining concentrating problem is caused by the group having many mining machines. Ethash uses a memory operation method to resist the mining machine, preventing the Bitcoin from mining concentrating. At Ethash, when it start mining, about 2 GB of data set (DAG) is created and this data is included in the mining operation, so it prevent mining using the mining machine. The operation structure of Ethash is as follows.

  • The seed is calculated by scanning each block header up to the present time.
  • This seed computes random cache data equivalent to 16 MB.
  • From this cache data, create a dataset (DAG) for 1GB. Pool node clients and miners will store them. This dataset grows linearly over time.
  • At the time of mining, a random value among the values ​​generated in this dataset is selected and reflected in the mining.

Details can be found on the Ethereum Wiki.

https://github.com/ethereum/wiki/wiki/Ethash