I've heard that Ethereum mining is ASIC resistant since it requires memory-hard hashing algorithms. However, why can't miners buy large DRAM and devote the memory to ASIC mining? What prevents miners from making an ASIC paired with large DRAM?

Thanks in advance.

up vote 21 down vote accepted

According to the Ethereum white paper:

The current intent at Ethereum is to use a mining algorithm where miners are required to fetch random data from the state, compute some randomly selected transactions from the last N blocks in the blockchain, and return the hash of the result. This has two important benefits. First, Ethereum contracts can include any kind of computation, so an Ethereum ASIC would essentially be an ASIC for general computation - ie. a better CPU. Second, mining requires access to the entire blockchain, forcing miners to store the entire blockchain and at least be capable of verifying every transaction. [...] one notably interesting feature of this algorithm is that it allows anyone to "poison the well", by introducing a large number of contracts into the blockchain specifically designed to stymie certain ASICs.

So basically, an ASIC should not have any benefit at all because it's just general computation. And to top it off, contracts can be released that are specifically ASIC-hard so there would be an active disincentive to using ASICs. Though I'm not sure if that has ever been done or not in the wild.

Another interesting thing that doesn't seem pointed out in the white paper is that the memory has to be FAST. Excessively fast. So standard DRAM isn't really up to the challenge, which is why the RAM on GPUs take the brunt of the work in most mining today.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.