Can Rigetti Forest quantum computing be used to crack (in a reasonable amount of time) public-key cryptography. Ie, can you use it to hack Bitcoin & Ethereum?
If so, write a solution in code using the Python library for Quil, called pyQuil.
Can Rigetti Forest quantum computing be used to crack (in a reasonable amount of time) public-key cryptography. Ie, can you use it to hack Bitcoin & Ethereum?
If so, write a solution in code using the Python library for Quil, called pyQuil.
No. They are announcing so far a computer with 2 qubit gate scheme. This is not enough for doing anything. It's exciting news to work with this because it SEEMS to be a good environment (a full stack eco-system) to test the interfaces between classic/quantum computers, creating the API, etc... but the quantum computer with 2 qubits is not very useful in general.
About the cryptocoins, let's separate the issues: Bitcoin address is NOT the public key of the owner of the coin, but a hash of the public key. The public key is only revealed when you SPEND your bitcoins. Then you HASH you public key again (to prove that you own that address) and use you private key to sign the transactions, etc, etc...
So, EVEN IF you have a strong quantum computer, they will not break the bitcoin. HOWEVER IF you use the same address TWICE, it means, you spend some money with the address A and then make another deposit to the same address, then the public key is accessible because it was published at the time you spent the first time... then the strong quantum computer will be able to find the private key and spend your bitcoins.
I don't know about Etherium, but I assume it must be something similiar to Bitcoin... any serious cryptographic system today must prevent to be protected against quantum computers.
--
Kudos to Graig, in the comments: Yes, there's yet another risk. Someone could crack the keys in between the moment that transaction is published and "committed". Very interesting point.
Bitcoin uses a unique combination of ECDSA, SHA and RIPMED cryptographic algorithms. Private keys are help in accessing the unspent money associated with the corresponding public key. It is a 256 bit integer. Private keys help in creating a Digital Signature which helps the miners verify the identity of the person transacting.Public Key is the ‘To Address’ in the transaction. It is a pair of two 256 bit numbers (512 binary digits) with a possibility of 2256 combinations. Both the Private and Public keys are part of the Elliptic Curve Digital Signature Algorithm (ECDSA).
In the case of Bitcoin the public key is hashed two times before the wallet address is generated. The UTXO model in Bitcoin adds further levels of security. Recent enhancements like Taproot adds further security to Bitcoin transactions. Taproot is a solution that aims to combine the advantages of Merkelized Abstract Syntax Tree (MAST) and the Schnorr signature scheme in order to reveal less information after a bitcoin transaction takes place. Bitcoin also uses a Hashcash cost function. Hashcash is the first secure efficiently verifiable cost-function or proof-of-work function. The beauty of hashcash is that is is non-interactive and has no secret keys that have to be managed by a central server or relying party; hashcash is as a result fully distributed and infinitely scalable.
In addition, Bitcoin, Ethereum, Hedera Hashgraph, IOTA and distributed ledgers NuCypher, R3 Corda, QRL etc. are implementing quantum resistant cryptography ( Extended Merkle Tree Signature Schemes, Wintersen One Time Signatures etc. )and post quantum cryptography ( Lattice Cryptography, Hash based Cryptography, Supersingular Isogeney based Cryptography etc. ) quite actively at this moment. Hence it is quite unlikely that quantum computers will pose any serious threat to Blockchains and Distributed Ledgers in the imminent future.