Qanum L1 — Roadmap & Living Status

Living status of every roadmap item and the mainnet launch criteria.

This page reproduces docs/ROADMAP.md from qanum-core v0.9.0 (release tag). Links to files that are not published on this site are shown as plain text until the source repository is public.

Contents

How to read this document. This is the living status view of the Qanum roadmap: it tracks how far each planned item has progressed. It contains no dates and no commitments — scheduling and activation of anything that touches consensus is governed exclusively by the AIP process (GOVERNANCE.md). The design-level phase breakdown lives in the whitepaper, §20 “Indicative roadmap”; this file never restates design, only status, and links to the canonical source of every item. Where this summary and a linked source disagree, the source wins.

Status vocabulary: done — shipped in a release · in progress — actively worked or recurring · not started — planned, no code yet · deferred — deliberately postponed, scoped in a register · awaiting AIP — written proposal, zero consensus effect until activated · external — happens outside this repository.

Current snapshot

Datum Value
Latest release v0.9.0, the first public release — release notes; changes in CHANGELOG.md (repo root)
Network public testnet, experimental pre-mainnet (terms)
Mainnet genesis not defined
Test inventory 2,241 test functions — breakdown and counting method in TESTSUITE.md
Chain-security parameters no checkpoints (Bitcoin Core v30 parity); header pre-synchronization; testnet has minimum_chain_work 0 and no assumevalid until it has history (CHECKPOINT-POLICY.md)
DNS seeds testnet: tseed.qanum.org, tseed2.qanum.org live, third being brought up; mainnet: not yet in service (SEEDS.md)

Phase 2 remainder — wider public testnet

Items from whitepaper §20 that remain open on testnet.

Item Status Notes
Keep minimum chain work / assumevalid current in progress recurring: each release refreshes the values (CHECKPOINT-POLICY.md §5); there are no checkpoints
Further P2P hardening (private relay, anti-eclipse) not started shipped baseline: post-quantum Noise transport with TOFU on ML-DSA-87 node identities and signed identity rotation (rotatep2pidentity), one connection per identity, inventory trickle, echo suppression (whitepaper §4.5)
Post-quantum hybrid KEM in the P2P transport done every P2P connection runs a hybrid Noise XX handshake (X25519 + ML-KEM-1024, ChaChaPoly, SHA-512) authenticated by ML-DSA-87 node identities, with rekey every 1 GiB or 1 h per direction and TOFU on the identity; TLS and the plaintext port are removed. Closes the harvest-now-decrypt-later gap on P2P traffic
HD / mnemonic wallet backup not started — design parked today the wallet is a passphrase-encrypted store (Argon2) with no wordlist backup; tracked in BIP-REGISTER.md, row BIP32/39/44
Consolidated public documentation in progress mdBook set (this book), user/mining/wallet guides, registers: BIP / CVE / tests
Trustless UTXO snapshot bootstrap (QUSN v2) shipped — local + network utxo-snapshot-export / utxo-snapshot-verify / utxo-snapshot-install (self-verifying artifact: embedded header chain re-linked locally, recomputed utxo_root pinned to the tip header). Network distribution (AIP-0001) implemented: NODE_UTXO_SNAPSHOTS service bit + GetQusn/QusnMeta/GetQusnChunk/QusnChunk, rate-limited server, and an opt-in -snapshot-ibd downloader that stages, verifies via the same trustless path, installs, then forward-syncs. Two-node regtest E2E: fresh node bootstraps from an archive peer and reaches the identical tip + utxo_root.
Wallet UX and operational fixes as they appear in progress pre-release review fixes summarised in CVE-REGISTER.md; known gaps: log rotation, per-category log levels via RPC

Phase 3 — mainnet preparation (launch criteria)

Items from whitepaper §20, Phase 3. Every row must be done — or explicitly waived through governance — before mainnet launch.

Item Status Notes
Final mainnet genesis & parameter freeze not started freezes all monetary parameters through decision records (GOVERNANCE.md §1)
Quantum-mining review before the freeze not started re-check published estimates of quantum hashing against the network’s measured hashrate and stale rate before the PoW is frozen; the PoW is not claimed to be quantum-resistant (whitepaper §9.9)
Audits package ready; external audit not started pre-release reviews (internal, not independent audits) are summarised in CVE-REGISTER.md and audits/; the audit package for reviewers is AUDIT-PACKAGE.md. No mainnet launch without an external audit of consensus, chain selection and post-quantum cryptography
Expanded fuzzing in progress (external) eleven libFuzzer targets vendored in fuzz/ (six parsers, two state machines, two post-quantum transport targets and the peer identity check; see fuzz/README.md); reference campaign: 132,440,640 executions, 0 crashes, 0 ASan reports; ongoing campaigns run on nightly + cargo-fuzz outside CI
Benchmarks in progress BENCHMARK-PLAN.md; reference figures in the README (Performance section)
Reproducible release builds & signed binaries in progress — done: Rust toolchain pinned (1.98.1), a CycloneDX SBOM per release (contrib/release/sbom.sh) and a blocking cargo audit step, SHA512SUMS signed with ML-DSA-87 + SLH-DSA-SHAKE-256s and checked offline by qanum-cli verifyrelease (release keys generated offline); bit-reproducible binaries deferred while releases are source-only extend the published PGP key (SECURITY.md) from disclosures to release signing, and make releases bit-reproducible (pinned toolchain, vendored dependencies) so anyone can compare a binary against the tag — the deterministic answer to fake-binary distribution
Auth-data pruning (operational) not started  
Archive-node service flags done NODE_ARCHIVE (1«1) advertised only by unpruned nodes (!prune && auth_prune_depth == 0, derived in net_v2/runtime.rs); table in INTEGRATION-GUIDE.md §1
Formal operation of mainnet DNS seeds not started bootstrap mechanism shipped (one-shot-on-success, Core-style — SEEDS.md §2); mainnet seed domains not yet in service
Address→keyid resolution improvements in the wallet not started  
Set mainnet minimum chain work / assumevalid after launch not started both ship empty until mainnet has history (CHECKPOINT-POLICY.md)

Not in this phase, by policy: command aliases (whitepaper §20).

Specification track — proposals awaiting an AIP

Written proposals that are not implemented and change no consensus rule until an AIP activates them. Sources: whitepaper §18.8 and GOVERNANCE.md §5.

Deferred backlog

Deliberately postponed items with a scoped register entry.

Item Status Source
0-conf-change coin selection (own trusted change spendable like Core’s -spendzeroconfchange) deferred — separately scoped money-path feature wallet policy only; no consensus effect

Phase 4 — advanced scaling & tooling (future work, nothing scheduled)

L1 support only: nothing here is a consensus change. Higher layers are built off Base, add no consensus rule and get no privilege from it (whitepaper §4.3; README roadmap note).

Phase 5 — modular compute & strong privacy (future work, nothing scheduled)

Ecosystem (companion repositories)

Separate codebases with their own licenses and release cycles; they integrate as read-only RPC clients or as L2s — none modifies L1 consensus. The canonical status table is INTEGRATION-GUIDE.md §6; snapshot as of 2026-09-08:

Repository Role Status
qanum-rpc-explorer self-hosted web explorer read layer (phase A) complete
qanum-electrs Electrum-protocol server in development (testnet/regtest only)
electrum-qanum lightweight wallet client in development
qanum-faucet web faucet (faucet.qanum.org, FAUCET.md) POC; being adapted to the current testnet
qanum-channels L2 off-chain payment channels experimental L2 — not L1
qanum-shield L2 federated shielded pool prototype — not for mainnet
qanum-website qanum.org static site live

Maintenance rule. This file is updated when an item’s status changes (started, shipped, waived, deferred) — never to restate design, which lives in the linked sources. Status-only edits ship as docs-only commits.