TSN Trust Stack Network
Explorer ↗ Download

Roadmap · updated 25 Jul 2026 · synced from the codebase

Development in the open.

This roadmap is generated from the real TSN repository, not a slide deck. Every phase below maps to Rust modules that exist today — completed means shipped and tested, in progress means it's the phase currently being worked, and nothing is marked done until it compiles and passes its tests.

01 Snapshot

The numbers, as of today.

A live count of the codebase behind this roadmap — files, lines, and how many of the 109 tracked items are actually finished.

481
Rust files
225,946
lines of Rust
0
build errors
88
items done
28
modules
81%

88 completed21 remaining109 total tracked items

02 Phases

Sixteen phases, one codebase.

Core types, cryptography, networking and consensus are done. The zkVM and the run-up to mainnet are active. Public testnet, mainnet and the post-mainnet extensions are what's left. Open any phase for the underlying module list.

Core — Types & Structures23 files · 14,683 lines Complete 6/6
Block (block.rs)23 files, 14,683 lines
Transaction (transaction.rs)TX structures, inputs/outputs
Base types (types.rs)Hash, Address, Amount, etc.
State machine (state.rs)Chain state, UTXO set
Blockchain (blockchain.rs)Chain logic, block addition
Validation (validation.rs)Block and TX validation rules
Crypto — Primitives86 files · 24,250 lines Complete 6/6
Poseidon2 hash (poseidon.rs)86 files, 24,250 lines
Commitment scheme (commitment.rs)Pedersen commitments
Keys & keypairs (keys.rs)Public/private key management
Nullifiers (nullifier.rs)ZK double-spend protection
Signature (signature.rs)Signature layer
ZK proofs — Plonky2 (zk/)Zero-knowledge proofs, Plonky2
Crypto PQ — Post-Quantum Complete 6/6
ML-DSA-65 signatures (signature_pq.rs)Lattice-based post-quantum signatures, NIST FIPS 204
Poseidon PQ (poseidon_pq.rs)Post-quantum Poseidon hash
Commitment PQ (commitment_pq.rs)Post-quantum commitments
Merkle PQ (merkle_pq.rs)Post-quantum Merkle tree
Circuit PQ / Plonky2 (circuit_pq.rs)Post-quantum ZK circuits
Proof PQ (proof_pq.rs)Post-quantum proof system
Consensus31 files · 10,102 lines Complete 7/7
Proof of Work (pow.rs)31 files, 10,102 lines
Adaptive difficulty (difficulty.rs)Mining difficulty adjustment
Block validationChain validation rules
MIK — Mining Identity KeyAnti-Sybil for post-quantum mining
PoW Poseidon (poseidon_pow.rs)Poseidon-based proof-of-work
PoW Secure (pow_secure.rs)Exploit-hardened PoW
Chain reorganisationFork handling and reorg (ForkChoice) — src/v2/fork_choice.rs
Network — P2P77 files · 39,928 lines Complete 11/11
P2P protocol (protocol.rs)77 files, 39,928 lines
Peer manager (peer.rs)Peer connection management
Discovery (discovery.rs)Peer discovery
Block sync (sync.rs)Blockchain synchronisation
Rate limiter (rate_limiter.rs)Anti-spam protection
Mempool (mempool.rs)Pending transaction pool
Gossip protocol (gossip.rs)P2P message propagation
Mempool V2 (mempool_v2.rs)Advanced priority mempool
Secure sync (sync_secure.rs)Eclipse-resistant synchronisation
Network API (api.rs)HTTP network monitoring API
Network alerts (alerts.rs)Anomaly alert system
Storage & State9 files · 2,637 lines Complete 6/6
Database, sled (db.rs)9 files, 2,637 lines
Sled backend (sled_backend.rs)Persistence backend
State machine (state/)UTXO set, balances, state tree
Database layer (database.rs)DB abstraction layer
MIK storage (mik_storage.rs)Mining identity persistence
Faucet store (faucet_store.rs)Faucet claim storage
Wallet9 files · 4,297 lines Complete 4/4
Wallet core (wallet.rs)9 files, 4,297 lines
ZK wallet (zk_wallet.rs)Shielded wallet with ZK proofs
PQ keys (pq_keys.rs)ML-DSA-65 post-quantum key management
Backup manager (backup/)JSON import/export, BackupManager
RPC & Explorer8 files · 943 lines Complete 4/4
JSON-RPC server8 files, 943 lines
Faucet (faucet/)1,159 lines — testnet token distribution
Block explorer494 lines — block/TX web interface
Public REST APIAxum HTTP API for third-party apps
Infra & Deployment Complete 9/9
Multi-stage DockerfileReproducible build
CI/CDAutomated tests + build
Main node deployednode-1 — active miner
Seed nodes (4 minimum)4 seeds deployed, full P2P mesh
Structured logging (logging/)JSON logs, rotation, correlation
Metrics (metrics/)Consensus metrics, HTTP endpoint
Health checks (health/)Healthcheck modules
DevOps monitoring (devops/)System monitoring
Profiling (profiling/)Instrumentation, perf macros
Documentation & Community Early 2/4
API documentationJSON-RPC + REST docs
Technical whitepaperFull TSN architecture — published at whitepaper.html
Developer guideSetup, build, contribution
Public whitepaperAccessible, non-technical version
Multi-Role Nodes & Phase 2 Features2 files · 631 lines Complete 13/13
Network simulation (100 nodes)Interactive graph, 5 node types, deployed on tsnchain.com
Whitepaper: node roles & incentivesSection on roles, rewards, incentives
NodeRole enum + CLI --role flagsrc/node/mod.rs — Miner, Relay, LightClient
Service Node rewardsReceipts, scoring, per-epoch pool distribution
Reward distribution: 90% miners, 5% dev fund, 5% Service Nodesconfig/mod.rs — miner_reward(), dev_fee(), service_node_pool()
Light client (SPV)Header-only sync, WASM target for browser
Shielded wallet (send/receive)ZK notes, nullifiers, commitment scheme
Fast-sync multi-peer verificationnetwork/sync.rs — verify_snapshot_multi_peer()
Migration hash in snapshotscore/state.rs — compute_migration_hash()
Sync gate miner warningsnetwork/sync_gate.rs — blocks mining until synced
Plonky2 WASM proverwasm-bindgen prover for browser verification
Viewing key export/importwallet/wallet.rs — export_viewing_key(), ViewingKey
Watch-only walletswallet/wallet.rs — from_viewing_key() watch-only mode
Halo2 Removal & Plonky3 Evaluation Complete 7/7
Add the p3-* crates for Poseidon2 hashingCargo.toml: p3-poseidon2, p3-goldilocks — Poseidon2 is what shipped
Scaffold a Plonky2 AIR proverzk_adapter/ written, never declared in crypto/mod.rs — compiled nowhere
Remove Halo2 entirelyhalo2_prover.rs and friends removed; crate dropped
Benchmark the AIR against the production circuitResult: the AIR constrains no hash at all — committing to a trace proves nothing about it
Decision: keep Plonky2Plonky2 computes commitment, 32 Merkle levels and nullifier INSIDE the circuit
Drop the Plonky2 proverScaffold left in the tree, unreferenced; Poseidon2 hashing unaffected
Shielded transactions stay on Plonky2circuit_pq.rs / proof_pq.rs — this is what every node runs
zkVM & Smart Contracts In progress 5/8
zkVM design & architecture30 opcodes, gas metering, execution traces — src/vm/ (5 files, 1,101 lines)
zkVM core implementationsrc/vm/machine.rs — stack VM, 12 tests passing
Contract deployment protocolsrc/contract/executor.rs — deterministic addresses
Contract execution & statesrc/contract/ — executor, Sled storage, events, 5 REST endpoints
Standard token interfaceTSN-20 + Escrow + Multisig templates
Multi-asset UTXO supportasset_id on outputs, multiple tokens
Bridge ETH (light client)Verify Ethereum headers on TSN, mint wrapped assets
Smart contracts on the live networkPost-mainnet: multi-node deployment once mainnet is live
Testnet & Mainnet Launch In progress 2/7
Private testnetInternal testing, multi-miner stress test, green soak run
Website & explorer redesigntsnchain.com and explorer.tsnchain.com
Proof-of-work & hashingRefining and strengthening the proof-of-work and hashing layer
Crypto-agilityClean, migration-free evolution of cryptographic primitives
Public testnetA public run of the live network — on the order of a week — before mainnet
Security reviewInternal and community review of crypto, consensus, and zkVM; community bug reports
Mainnet launchGenesis block, fair launch, no premine
Gold-Backed Stablecoin ZST (post-mainnet) Exploratory 0/5
Oracle protocol designDecentralised XAU/USD price feed on-chain
Oracle node implementationSigned price submissions, median aggregation
ZST mint/burn contract (L2)1 ZST = 1g gold, over-collateralised, liquidation
ZST stability mechanismCollateral ratio monitoring, auto-liquidation
ZST privacy (shielded)ZK proof of valid conversion without revealing amount
Layer 2 — ZK-Rollup Exploratory 0/6
L2 sequencerBatch contract transactions off-chain
L2 prover (STARK)Plonky2 proofs from VM execution traces
L1 verifierOn-chain STARK proof verification + state root update
BatchProof transaction typeNew Transaction::BatchProof variant for L1
L2 bridge (deposit/withdraw)Lock TSN on L1, mint on L2, withdraw with proof
Contract studio (dashboard)Assisted contract deployment UI

Mainnet · September 2026 · subject to readiness

Check the code, not the slide.

The roadmap is only as honest as the repository behind it. Read the design, watch the network, or run the node yourself.