What is our EIP?
Our team is excited to invite the community to review and comment on our Ethereum Improvement Proposal (EIP) to support a pre-compile for Falcon signature verification. Pre-compiles for additional signatures are common-place to enable new functionality on blockchains (see EIP-7212 for support of mobile devices and ERC-2494 for zero-knowledge compatibility). This EIP aims to bring quantum-resistance to Ethereum through support for Falcon digital signatures. See our EIP pull request here.
Why is this EIP important
Quantum resistance is a critical yet often overlooked aspect of blockchain security. Ethereum recognizes the significance of quantum safety by placing it at the forefront of its future-proofing initiatives, however little progress has been made in demonstrating viable solutions. This EIP represents a significant effort to introduce quantum resistance to Ethereum by complementing EIP-4337's work on account abstraction by providing support for quantum resistant signature algorithms. Falcon is a post-quantum digital signature confirmed to be standardized by NIST, making it an ideal choice for safeguarding Ethereum against future quantum computing threats. Our EIP includes not only an implementation for efficient Falcon signature verification but also specifies how to make existing Ethereum transactions compatible with the new signature scheme. Transaction definitions for EIP-1559, EIP-2930 and type-0 transactions are all included in the scheme which makes it easy to integrate into existing applications to use.
“Quantum-Proof Savings Accounts & Subnets” use case
One idea we’re particularly interested in is transitioning to quantum resistant Ethereum via the use of quantum safe savings accounts and subnets. The idea is to use account abstraction to implement quantum safe wallets by swapping in Falcon for ECDSA using signature abstraction. These quantum safe wallets can be seen as a “quantum safe savings account”, which users transact with infrequently but use to store their long term assets. Transactions made to and from this account will utilize the Falcon pre-compile in order to facilitate the transaction. Daily trading and activity can be conducted using users' ECDSA “chequing accounts” which are insecure against quantum adversaries but may have lower costs. Interactions between one or more quantum-safe wallets then creates the effect of quantum-safe subnets, wherein the private keys are never vulnerable to attack.
Technical Deep Dive
In this section, we delve into the technical specifics of the EIP for Falcon signature verification.
Falcon Signature Verification Process
In the Falcon Signature Verification, it involves the following steps:
- The public key (pk), the signature (sig, r) and the hashed message are used in the verification process.
- The verification checks whether the square norm of (t, sig) is short, ensuring the signature's validity.
In the Precompiled Contract Specification, the FALCON_VERIFY precompiled contract is proposed to facilitate the verification process. It is designed to efficiently handle the verification of Falcon signatures within the Ethereum blockchain, ensuring both security and performance. This precompiled contract includes:
- Input data: A specific format of 1681 bytes, including the public key, signature component, and hashed data.
- Output data: A single byte boolean value indicating the result of the signature verification process.
Implications and Future Directions
By integrating quantum-resistant algorithms, Ethereum can enhance its security framework, making it robust against potential quantum computing threats. Looking ahead, the introduction of Falcon signatures opens the door to a range of future developments. We can anticipate further research and development in quantum-resistant technologies, potentially leading to more efficient algorithms and other NIST-approved security protocols. The evolution of Ethereum's infrastructure to accommodate these advancements will likely inspire similar moves across other blockchain platforms, setting a new standard in blockchain security.
We reiterate the importance of community involvement in this endeavor. We invite you to share this blog post, engage in discussions, share your perspectives, and help spread the word about this significant step towards enhancing Ethereum's security. Together, we can drive towards a more secure and quantum-resistant blockchain ecosystem.