← Back to ETH2030

Post-Quantum Roadmap

Aligning eth2030 with Vitalik's Ethereum quantum resistance roadmap. Covering 4 vulnerable areas, 7 packages, a pluggable architecture for hash function agility, and 26/26 gaps audited & fixed across 3 rounds.

4 Vulnerable Areas

Each area of Ethereum at risk from quantum attacks, and how eth2030 addresses it

CL BLS Signatures

Threat:

BLS12-381 signatures used for consensus attestations are vulnerable to Shor's algorithm.

Solution:

STARK-aggregated hash-based signatures. Validators sign with Dilithium3, then a single STARK proves all N signatures are valid.

Packages:
pkg/consensus/pq_attestation.gopkg/consensus/stark_sig_aggregation.gopkg/consensus/jeanvm_aggregation.go

DA KZG Commitments

Threat:

KZG polynomial commitments rely on elliptic curve pairings vulnerable to quantum attacks.

Solution:

Lattice-based blob commitments using Module-LWE (MLWE). Dual-commit (KZG + MLWE) during migration.

Packages:
pkg/crypto/pqc/lattice_blob.gopkg/das/

EOA ECDSA Signatures

Threat:

ECDSA signatures on user transactions are vulnerable to Shor's algorithm.

Solution:

EIP-8141 frame transactions with PQ algorithm registry. Programmable tx validation with Dilithium, Falcon, SPHINCS+, WOTS+/XMSS.

Packages:
pkg/core/ (EIP-8141)pkg/crypto/pqc/registry.gopkg/crypto/pqc/hash_backend.go

Application-layer Proofs

Threat:

ZK proofs verified on-chain may use quantum-vulnerable assumptions (elliptic curve pairings).

Solution:

Recursive STARK mempool aggregation. Every 500ms, nodes create a STARK proving validity of all validated transactions.

Packages:
pkg/proofs/stark_prover.gopkg/txpool/stark_aggregation.gopkg/core/vm/precompile_ntt.go

Workflow

How post-quantum transactions and proofs flow through eth2030

PQ Transaction Flow

User (PQ Wallet)
Signs with Dilithium/Falcon
EIP-8141 Frame Tx
Type 0x06
PQ Sig Verify
Algorithm Registry
STARK Aggregator
Every 500ms
Block Builder
Aggregated proof
CL Attestation
STARK-aggregated

Proof Aggregation Pipeline

Individual Tx Proofs
Groth16 / STARK
Constraint Eval
sum(coeff*trace^deg) mod p
FRI Folding
Pairwise Merkle layers
Recursive Composition
Outer STARK
Block-level Proof
Single verification

Hash Function Pluggability

HashBackend Interface
Hash() / Name() / BlockSize()
Keccak256SHA-256BLAKE3Poseidon2 (future)
WOTS+XMSSL1 Signer

Coverage Matrix

Mapping Vitalik's roadmap items to eth2030 implementations

Roadmap ItemPackageStatus
Hash-based sigs (WOTS+/XMSS)pkg/crypto/pqc/complete
Pluggable hash functionspkg/crypto/pqc/hash_backend.gocomplete
STARK proof aggregationpkg/proofs/stark_prover.gocomplete
STARK constraint evaluationpkg/proofs/stark_prover.gocomplete
FRI polynomial foldingpkg/proofs/stark_prover.gocomplete
Merkle auth pathspkg/proofs/stark_prover.gocomplete
Recursive STARK compositionpkg/proofs/recursive_prover.gocomplete
STARK mempool aggregationpkg/txpool/stark_aggregation.gocomplete
STARK CL sig aggregationpkg/consensus/stark_sig_aggregation.gocomplete
EIP-8141 frame transactionspkg/core/ (17 files)complete
NTT precompile (EIP-7885)pkg/core/vm/precompile_ntt.gocomplete
Lattice sigs (Dilithium/Falcon)pkg/crypto/pqc/complete
PQ attestationspkg/consensus/pq_attestation.gocomplete
Lattice blob commitmentspkg/crypto/pqc/lattice_blob.gocomplete
PQ algorithm registrypkg/crypto/pqc/registry.gocomplete
PQ gas tables in EVMpkg/core/vm/gas.go, gas_table.gocomplete
Per-topic gossip bandwidthpkg/p2p/gossip_topics.gocomplete
Finality BLS adapter (PQ fallback)pkg/consensus/finality_bls_adapter.gocomplete

References

Reference submodules supporting the PQ roadmap

refs/hash-sig

b-wagn/hash-sig

Rust hash-based multi-signature library. Supports SHA3 and Poseidon2.

refs/ntt-eip

ZKNoxHQ/NTT

EIP-7885 NTT precompile reference implementation (Solidity + Python).

refs/ethfalcon

ZKNoxHQ/ETHFALCON

FALCON-512 signature verification on EVM with NTT optimization.

NTT Precompile

EIP-7885 Number Theoretic Transform at address 0x15

OpFieldUse Case
0x00BN254 (254-bit)ZK-SNARK circuits, Groth16
0x01BN254 (inverse)Polynomial interpolation
0x02Goldilocks (2^64-2^32+1)STARK proofs, FRI, Plonky2
0x03Goldilocks (inverse)STARK polynomial recovery

Gas cost: base(1000) + n × log2(n) × 10