Jump to content

Ethash

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Margienewman (talk | contribs) at 07:04, 14 January 2019 (removed extra template). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Ethash is the proof-of-work function in Ethereum-based blockchain currencies.[1] It uses Keccak, a hash function eventually standardized to SHA-3. These two are different, and should not be confused. Since version 1.0, Ethash has been designed to be ASIC-resistant via memory-hardness (harder to implement in special ASIC chips) and easily verifiable.[2] It also uses a slightly modified version of earlier Dagger[3] and Hashimoto[4] hashes to remove computational overhead.[1][5] Previously referred to as Dagger-Hashimoto, the Ethash function has evolved over time. Ethash uses an initial 1 GB dataset known as the Ethash DAG and a 16 MB cache for light clients to hold. These are regenerated every 30,000 blocks, known as an epoch. Miners grab slices of the DAG to generate mix-hashes using transaction and receipt data, along with a cryptographic nonce to generate a hash below a dynamic target difficulty.[1]

ASIC Miner Controversy

In April 2018, the first ASIC miners for Ethash, the ASIC-resistant hash, were announced by Bitmain.[6] Fear of over-influence from Bitmain and 51% attacks prompted discussions of bricking the devices,[7][8] forcing ASIC miners into hard-mode mining, or continuing or expediting development and eventual release of Casper. It is thought that ASIC miners are not a threat to Ethereum.[9][by whom?] It was decided that Ethereum would switch from its pure proof of work to a hybrid Proof of Work and Proof of Stake scheme called "Casper the Friendly Finality Gadget" (FFG), where every 1 in 50 blocks is created with Proof of Stake for partial finality (the prevention of new forks).[10][11] On a future hard fork yet to be decided, Ethereum will produce all new blocks with Proof of Stake through a separate design of Casper, known as "Casper the Friendly GHOST" or sometimes "Casper Correct-By-Construction" (CBC)[12], and Ethash will be officially deprecated on the main Ethereum blockchain due to an exponential rise in mining difficulty. Other blockchains utilizing Ethash (including the Ethereum Foundation's Ropsten test network) have not announced plans to deprecate its use.

References

  1. ^ a b c "wiki: The Ethereum Wiki". 8 February 2018. Retrieved 8 February 2018 – via GitHub.
  2. ^ Rudlang, Marit (Jun 2017). Comparative Analysis of Bitcoin and Ethereum (PDF). Norway: NTNU: Norwegian University of Science and Technology. pp. 52–53. Retrieved 29 September 2018.
  3. ^ Vitalik Buterin. Dagger: A memory-hard to compute, memory-easy to verify scrypt alternative. Tech Report, hashcash.org website, 2013.
  4. ^ Dryja, Thaddeus. "Hashimoto: I/O bound proof of work" (PDF). Semantic Scholar. Archived from the original (PDF) on 2017-08-10.
  5. ^ Tikhomirov, Sergei (17 Feb 2018). "Ethereum: State of Knowledge and Research Perspectives" (PDF). International Symposium on Foundations and Practice of Security (FPS 2017): 206–221. Retrieved 29 September 2018.
  6. ^ Havervold, Kale (3 Apr 2018). "Bitmain Announces 1st Ethash Asic For Ether Mining". Coin Journal. Retrieved 30 September 2018.
  7. ^ "Ethereum Developer Opens EIP to Discuss 'Bricking' Ethash ASIC Miners". CCN. 30 Mar 2018. Retrieved 30 September 2018.
  8. ^ Stanfill, David (3 Apr 2018). "EIP 969: Modifications to ethash to invalidate existing dedicated hardware implementations". Ethereum Improvement Proposals. Retrieved 30 September 2018.
  9. ^ Moos, Mitchell (19 Apr 2018). "Vitalik Buterin: Ethash ASICs Not a Threat to Ethereum". CryptoSlate. Retrieved 30 September 2018.
  10. ^ Sanders, Gregory (29 Mar 2018). "Casper Version 1 Implementation Guide". GitHub. Retrieved 30 September 2018.
  11. ^ Jagati, Shiraz (22 Apr 2018). "Ethereum's Proof of Stake Protocol Under Review". CryptoSlate. Retrieved 30 September 2018.
  12. ^ Zamfir, Vlad (1 November 2017). "A Template for Correct-by-Construction Consensus Protocols" (PDF). {{cite web}}: Cite has empty unknown parameter: |dead-url= (help)