Post
Topic
Board Development & Technical Discussion
Re: How can we save Bitcoin from quantum computing?
by
BlueSword
on 08/10/2017, 20:56:02 UTC
To brute-force pre-image resistance of hash functions such as SHA256, a quantum computer would still need to perform a number of operations proportional to the square root of the number of operations performed by a normal computer.  Therefore, simply doubling the number of bits (e.g., switching from SHA256 to SHA512) would provide quantum-resistant security equivalent to existing security against normal computers.  (Note that sqrt(2^512) = 2^256.)

The vast majority of Bitcoin UTXOs include only a hash of a ECDSA public key, not the ECDSA key itself.  Therefore, if the public key has not already been revealed, an attacker would need to (1) sniff a transaction as it is entered into the mempool, (2) crack the private key, (3) create a new transaction using the private key, and (4) get this new transaction committed to a block before the legitimate owner's transaction.  To guard against this attack, Bitcoin would need to add support for quantum-resistant asymmetric cryptography.  Unfortunately, this field is still immature, and existing quantum-resistant asymmetric cryptographic schemes (see, e.g., https://en.wikipedia.org/wiki/Post-quantum_cryptography) are much less practical than ECDSA.  But it is likely that they will develop to be the point of being practical before quantum computing poses a severe risk to Bitcoin.  In fact, it is not even known for sure that quantum computing will ever economically scale to the point where it can attack 256-bit ECDSA.