Skip to content
Minerva. Post-quantum, proof of work.

Documentation · Security

Quantum-Readiness Coverage Matrix

network/docs/quantum-readiness/coverage-matrix.md · commit e561109 · 2026-10-23

Exact Claim

Breaking ECDSA/secp256k1 alone cannot move default Minerva Account funds or control protocol/admin accounts.

This claim is true for default Minerva Account funds on the current devnet because account execution and key rotation require ML-DSA-65 authorization. The protocol/admin part is a release gate: privileged production controls must be Minerva Accounts or stricter PQ-controlled policies before the claim applies to those controls. The current inventory is tracked in docs/security/admin-control-inventory.md.

Minerva-native devnet now removes EOA deployer, faucet, relayer, and miner keys from the live flow. The rule is No EOA anywhere: Minerva wallet addresses are the only sender/control addresses in the native path. On Minerva networks legacy Ethereum transaction types are rejected by consensus from the minervaNativeOnly activation (block validation, state transition and txpool), not by a node setting; MINERVA_EOA_TXS=0 survives only as a deprecated local policy for pre-Minerva profiles.

Current Coverage

Surface ECDSA Break Impact PQ Control Current Proof Claim Status
Default Minerva Account funds ECDSA alone cannot authorize a transfer executePQ requires ML-DSA-65 via precompile 0x0000000000000000000000000000000000004D00 (Minerva; 0x...0100 on the pre-Minerva devnet), activated by fork block pnpm contracts:test, pnpm devnet:pq-smoke, pnpm devnet:wallet-pq-smoke Covered on devnet
PQ account execution EOA or relayer key compromise cannot create a valid account operation Signed message binds domain, chain ID, account, nonce, target, value, and data hash Foundry tests plus devnet transfer receipts Covered on devnet
PQ key rotation ECDSA alone cannot replace the account key rotatePQKey requires the current ML-DSA-65 key pnpm devnet:wallet-pq-rotate-smoke Covered on devnet
Native-path policy enforcement A rotated-out ML-DSA key (or any key that is not the account's) cannot sign native transactions The node checks the AccountControlRegistry record (key commitment, algorithm, policyVersion) for every MinervaPQTxV1 from a deployed account, at txpool admission and in block validation pnpm coregeth:test (TestMinervaRotatedOutKeyIsRejectedOnNativePath), pnpm devnet:pq-rotation-smoke Covered on devnet
Device keys and scoped permissions A device key cannot rotate, change the key set, or spend outside its scope Device keys live in the registry key set; consensus admits them only for zero-value self-calls; executeNative reads the signer from MINERVA_TX_CONTEXT (0x...4D01) and enforces targets, value window, expiry and protected targets; revocation bumps policyVersion pnpm contracts:test, pnpm coregeth:test (TestMinervaDeviceKeyNativePath), pnpm devnet:pq-device-key-smoke, wallet devnet:device-acceptance Covered on devnet
Deterministic account factory ECDSA cannot deploy or control the default account in the native flow Genesis installs the factory; a PQ wallet funds/deploys counterfactual accounts with MinervaPQTxV1 pnpm contracts:deploy:devnet, pnpm devnet:pq-smoke Covered on devnet
Security mode registry ECDSA cannot label another account as PQ Native SecurityModeRegistry.recordMode requires msg.sender == account pnpm contracts:test and devnet smoke assertions Covered on devnet
Account readiness registry Third parties cannot mark another address as ready AccountReadinessRegistry.recordPQNative records msg.sender pnpm contracts:test and wallet acceptance reads Covered on devnet
Mobile wallet default flow User funds are moved by wallet ML-DSA signing, not ECDSA signing Wallet displays MRV, deployment state, and PQ Native, then submits PQ-signed transfer through the relayer pnpm devnet:wallet-app-acceptance, pnpm devnet:wallet-app-ui-smoke Covered on devnet
PQ-native transaction layer ECDSA cannot create the Minerva-native sender or submit through minerva_sendRawPQTransaction (minerva_ alias) CoreGeth validates MinervaPQTxV1 (type 0x4D, pqAlgorithm, policyVersion) with ML-DSA, binds a counterfactual account to the public key and salt, charges gas to the Minerva Account, and lets the canonical factory deploy at a used address pnpm pq-native:acceptance, pnpm coregeth:test, pnpm devnet:pq-native-raw-smoke Covered on devnet
Encrypted wallet backup ECDSA break does not unlock a PQ account backup Restored profile must decrypt the ML-DSA key and produce a valid PQ signature pnpm devnet:wallet-pq-backup-smoke Covered on devnet
Legacy EOA transactions ECDSA break can spend EOAs only on non-native compatibility experiments Rejected by consensus from minervaNativeOnly (block validation, state transition, txpool, RPC); not funded in native devnet genesis pnpm pq-native:acceptance, pnpm coregeth:test (block-level rejection), live EOA rejection smoke Excluded by consensus
Deployer, faucet, and relayer gas keys ECDSA break has no live native-flow key to exploit Genesis system install, faucet PQ treasury, and raw submit gateway remove EOA gas-payer keys pnpm contracts:deploy:devnet, faucet/relayer native smokes Covered on devnet
PQ admin simulator ECDSA alone cannot call simulated treasury, faucet top-up, or policy controls MinervaAdminVault requires msg.sender to be a Minerva Account controlled by ML-DSA pnpm contracts:test, pnpm devnet:pq-admin-smoke Covered as devnet proof
Protocol/admin accounts Any ECDSA-only privileged key would violate the public claim Must use Minerva Accounts or stricter PQ policies before production authority exists Not deployed as privileged production controls in this milestone Release gate
Mining consensus ECDSA break does not directly control account execution, but PoW reorgs affect finality PoW security is separate from PQ account security pnpm coregeth:test plus devnet mining acceptance Separate consensus risk
Bridge (Sepolia MRV / native MRV) ECDSA-only guardians would violate the claim for bridged funds Bridge deployed on Sepolia and installed in the bridge devnet genesis (MErva/bridge); releases and refunds are guardian-attested (EIP-191 today), with explicit inventory ledgers and no timer refunds; guardians are not yet PQ MErva/bridge: 42 Foundry tests incl. ledger invariants, relayer tests Known gap: guardian keys are classical (release gate)
Bridge cancellation and refunds A timer or a single party cannot trigger a refund that races a release Refund only after a guardian-attested cancellation; destination refuses releases past the deadline and marks them Expired after the margin MErva/bridge EthereumBridgeSafety.t.sol, MinervaNativeBridgeVault.t.sol Covered by tests; live testnet proof pending
Release signing Classical-only release signing is a supply-chain risk Reproducible node builds (scripts/release/check-reproducible.sh), SSH-signed SHA256SUMS and an ML-DSA-65 signature over the same file (release:pq, context MINERVA_RELEASE_V1); verify-release.sh checks both scripts/release/check-reproducible.sh (two builds, identical hashes); release:pq verify tamper test Covered: classical plus ML-DSA-65

Primitive Coverage

Accepted Public Language

Use:

  • quantum-resistant default accounts
  • PQ-native Minerva Accounts
  • ECDSA compromise alone cannot move default Minerva Account funds
  • Breaking ECDSA/secp256k1 alone cannot move default Minerva Account funds or control protocol/admin accounts.

Avoid:

  • impossible to hack
  • forever quantum-proof
  • every subsystem is fully PQ-native today
  • Legacy EOA accounts are quantum-resistant

Required Evidence Before Broad Claims

Run these before presenting the devnet claim:

pnpm docs:acceptance
pnpm admin:acceptance
pnpm research:sphincs-minus:smoke
pnpm coregeth:test
pnpm contracts:test
pnpm devnet:pq-admin-smoke
pnpm devnet:acceptance

Before production or public testnet claims include protocol/admin controls, every privileged control path must be inventoried and moved to Minerva Account control or an explicitly stronger PQ policy.