I don't know much about quantum computers, nor cryptography, and I'm still getting my head around the idea of the blockchain, so this is a naive question. I heard that when/if we finally master real quantum processors, that they should theoretically be able to decrypt any current encryption codes.
If this were true, wouldn't it be possible therefore for whomever that future team of scientists might be to hack every wallet on the blockchain and steal all the worlds' bitcoins during preliminary experiments before anyone even knows the quantum processors work?
No need to panic right now, as I do know that this day is not coming any time in the near future, but I imagine it being a potential threat to future crypto-moneys for future generations.
I'm no quantum expert either but yes, certain parts of Bitcoin will be vulnerable to quantum computing 'decryption'.
If I've understood what can happen, you'll only be exposed if you spend anything. If you don't spend then you can't have coins 'stolen' (but that spend would need to be intercepted first). Naturally, not being able to spend your Bitcoins renders the system unusable.
I think there may be some maths that can't be processed on a quantum computer but I don't recall the article so I have no citation for that. That being the case though, there could well be a way of protecting the Bitcoin network against this type of attack.
OK, sorry for not spending more time looking through previous threads. Having now done that, I've arrived at a similar point as Inedible describes. However, that's what I still don't understand.
Given a hypothetical/fictional all-code breaking QC, I guess I'm just not clear on why it is that it would be impossible to hack the relative 'contents' of your wallet if you've never spent with it.
Maybe I this post should get moved to Newbies as I'm getting the sense that it's something about what a BTC is that I may have misunderstood...
I hope you understand the concept of
one-way functions.
When you make a wallet, you start with a 256-bit number (64 HEX digits) which is your private key and from this you calculate the address. It goes like this.
private key -> public key -> address. The algorithms are ECDSA for private to public and RIPEDM160(SHA256d(public key + some other (deterministic) stuff) for public to address. All these algorithms are one-way functions.
A QC cannot necessarily break any algorithm which means to calculate the input of a one-way function from its output. Only certain ones it would seem but it can break the ECDSA but probably not a hash function which is what SHA256 is. Mathematicians are still working on this problem, though, whether QC can break SHA256. If you have spent money from a certain address, then the public key is visible and with this, you can find the private key if you have a quantum computer. But if you have not spent money then both the public key and the private key are unknown and as I mentioned, at the present time, the mathematics is not developed for a QC to calculate the public key from the address.
Furthermore, the whole bitcoin system can be frozen by the developers and miners at any given time if they chose so (at a certain block number) and then all the algorithms used to sign messages can be changed. So if a security breach is found at block number 240,000 then all other blocks after this are ignored until a new secure algorithm has been found and this new algorithm is then used to sign transactions.