Bitcoin's hashing algorithm uses a multi-step hashing function. Some miners have used a technique referred to as ASICBOOST to exploit this. I'm unclear on the specifics, but it has something to do with the way headers are broken into chunks and those chunks can be re-used to speed up hashing.

Does Ethereum and its hashing algorithm have similar (obviously not exactly the same) issue?

  • 3
    Some more context about ASICBOOST would improve this question.
    – eth
    Apr 10, 2017 at 4:59
  • 1
    @eth I've updated
    – Akhil F
    Apr 10, 2017 at 15:35

1 Answer 1


From what I can tell, no.

AsicBoost works by...

"...speeding up Bitcoin mining in general (for ASICs and CPUs alike) by reducing the frequency of computing one part of the SHA-256 calculation."

So AsicBoost is keyed specifically for SHA-256 calculations, with SHA-256 itself being a member of the SHA-2 family of crytographic hash functions.

Ethereum doesn't use SHA-256: it uses KECCAK-256, which doesn't actually follow the SHA-3 standards as its name suggests it should, but is presumably sufficiently different to render AsicBoost ineffective: it's a completely different hashing algorithm.

  • This is definitely true, but its not clear to me that keccak256/ethash doesn't have the same problem as sha256. I meant a more general question, as in does the vulnerability*in sha256 as used in the bitcoin PoW algorithm apply to Etheruem
    – Akhil F
    Apr 10, 2017 at 15:32
  • There's this paper which has a more detailed explanation mit.edu/~jlrubin//public/pdfs/Asicboost.pdf . The technique uses a quirk of sha-256 plus block header alignment plus transactions merkles-tree. Since Ethereum uses a differente hash this will not work as is, but you can try to apply the idea behind it. Although the switch to POS will likely render such research useless.
    – Ismael
    Apr 10, 2017 at 17:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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