The Bitcoin Proof-of-Work algorithm does not consider a certain attack methodology related to 80-byte block headers with a variety of initial 64-byte chunks followed by the same 16-byte chunk, multiple candidate root values ending with the same 4 bytes, and calculations involving sqrt numbers. This violates the security assumptions of (1) the choice of input, outside of the dedicated nonce area, fed into the Proof-of-Work function should not change its difficulty to evaluate and (2) every Proof-of-Work function execution should be independent. NOTE: a number of persons feel that this methodology is a benign mining optimization, not a vulnerability
The product uses a Pseudo-Random Number Generator (PRNG) in a security context, but the PRNG's algorithm is not cryptographically strong.
Link | Tags |
---|---|
https://arxiv.org/ftp/arxiv/papers/1604/1604.00575.pdf | technical description |
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-April/013996.html | mailing list third party advisory technical description |
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014351.html | third party advisory mailing list |
http://www.securityfocus.com/bid/98657 | vdb entry third party advisory |
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014352.html | third party advisory mailing list |
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014349.html | third party advisory mailing list |
http://www.mit.edu/~jlrubin//public/pdfs/Asicboost.pdf | technical description |