Repository navigation
Phase 4 of the Ferrous roadmap: full migration from ECDSA to post-quantum signatures.
Highlights
- CRYSTALS-Dilithium (ML-DSA-65, NIST FIPS 204) replaces ECDSA for all transaction signatures.
- bech32m P2DL addresses (
tfrr1…testnet /frr1…mainnet) with BLAKE3 pubkey hashing. Base58Check/P2PKH fully removed. - FerrousSighashV2 domain-separated sighash; OP_PUSHDATA2 scriptSig carrying the 3309-byte signature + 1952-byte public key.
- MAX_BLOCK_WEIGHT raised to 40,000,000 to accommodate Dilithium transaction sizes (~1,848 tx/block).
- WalletPayloadV3 wallet format with seamless V2 to V3 migration.
- getrawmempool RPC + transaction relay fix — RPC-submitted transactions now propagate across peers via INV to GETDATA to TX.
Network
- Activated on testnet via reset 6 (2026-05-31). Both seed nodes running ML-DSA-65 / P2DL on RandomX PoW.
Prior phases
- v0.3.0 Phase 3 — Wallet Integration (BIP39 + Shamir)
- v0.2.0 Phase 2 — Parallel IBD
- v0.1.0 Phase 1 — Foundation
Next: Phase 5 — Ring Confidential Transactions + CLSAG.