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
- Current snapshot
- Phase 2 remainder — wider public testnet
- Phase 3 — mainnet preparation (launch criteria)
- Specification track — proposals awaiting an AIP
- Deferred backlog
- Phase 4 — advanced scaling & tooling (future work, nothing scheduled)
- Phase 5 — modular compute & strong privacy (future work, nothing scheduled)
- Ecosystem (companion repositories)
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.
- Relative lock via
sequence(height-based proposal exists; MTP time-based alternative under consideration) - Extended
bech32m-longaddresses - Compact proofs for light clients
- Reserved signature-suite registry; ML-DSA-65 / FN-DSA-512 activation
- Full P2P wire specification
- Wallet descriptors
P2POLICYtemplate- Fee market per auth-byte / VU
- Peer distribution of UTXO snapshots — implemented & E2E-tested on regtest (AIP-0001, draft); mainnet rollout decision pending
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).
- Channels and payment pools — client-side development under way outside
this repository (
qanum-channels) - Hardware wallets
- Relay / policy improvements that do not change consensus — e.g. compact-block-style relay, package RBF / CPFP (basic RBF already shipped)
- Tor / I2P reachability for the P2P layer — strategic decision, no design yet
- Improved operational privacy (gradual plan: whitepaper §4.5)
Phase 5 — modular compute & strong privacy (future work, nothing scheduled)
- Richer execution domains and external validity (whitepaper §4.4)
- Strong privacy off L1, including any future ring / confidential design — not specified, not scheduled for Base templates (whitepaper §4.5)
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.