Does Ethereum implement Post-quantum cryptography? Or will the network break once a malicious actor gains control of an effective quantum computer?
3 Answers
Currently, Ethereum uses elliptic curve cryptography, which is not quantum resistant.
In the upcoming Serenity upgrade, however, accounts will be able to specify their own scheme for validating transactions, so individuals could choose to use Lamport signatures or other quantum proof algorithms.
The Serenity blog post has a more in depth look at account abstraction.
It's also possible to ensure quantum-resistant transactions by implementing 'transaction commitments'.
Basically, (at least with BTC) the the protocol is vulnerable to quantum man-in-the-middle attacks when submitting a signed transaction to the network. You can solve this by first submitting a 'transaction commitment', which you would confirm after x blocks and then submit a real transaction to match that commitment. This could be done on the protocol level but I assume it'd also be possible with certain contracts.
Vitalik did a presentation in 2013 on the topic.
Here's the concern about quantum computers: sending from an address will reveal its public key easily and quantum computers would make it easy to deduce the private key from the public key.
Ethereum currently uses elliptic curve cryptography (ECDSA) just like Bitcoin. So both "coins" would be comprised by quantum computers at this moment.
Metropolis, the next release of Ethereum (ETA mid 2017), will have Abstraction of transaction origin and signature:
The goal of these changes is to set the stage for abstraction of account security. Instead of having an in-protocol mechanism where ECDSA and the default nonce scheme are enshrined as the only "standard" way to secure an account, we take initial steps toward a model where in the long term all accounts are contracts, contracts can pay for gas, and users are free to define their own security model.
Accounts will be able to specify their own scheme for validating transactions. Lamport signatures are believed to be quantum resistant and could be implemented as:
Custom cryptography: users can upgrade to ed25519 signatures, Lamport hash ladder signatures or whatever other scheme they want on their own terms; they do not need to stick with ECDSA.
Abstraction, like custom cryptography, allows Ethereum flexibility to improve security against quantum computers and future threats.
Note: These abstraction changes are being implemented in Metropolis, much sooner than when it was initially described in a blog post for Serenity.