Releases: ChronoCoders/ferrous
Release list
Phase 4 — Post-Quantum Cryptography (CRYSTALS-Dilithium)
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.
Phase 3 — Wallet Integration
BIP39 seed phrase (12–24 words) implemented from scratch with official test vectors. Shamir's Secret Sharing (M-of-N, GF(256)) from scratch. ChaCha20-Poly1305 AEAD wallet encryption with PBKDF2-HMAC-SHA512 KDF (210,000 iterations). Atomic wallet writes. New binary wallet format (FERR v2) with CSV migration. Change address via dedicated derivation path. UTXO selection sorted descending by value. Four new RPC handlers: getwalletinfo, encryptwallet, importseed, getshamirshares. HTTP Basic Auth via .rpc.cookie.
Phase 2 — Parallel IBD
BlockDownloadQueue with work-stealing multi-peer parallel download. BlockApplyBuffer with sequential ordered apply and backpressure. IBD wipe test passed: 10,246 blocks synced from genesis in ~105 seconds at ~97.6 blocks/sec. Two-bug cascade fixed: IBD-aware partition detection and stale peer ID cleanup.
Phase 1 — Foundation
SHA256d PoW, 150s block time, per-block difficulty adjustment. Full P2P stack: handshake, headers-first IBD, block relay, peer discovery. RocksDB persistent storage. JSON-RPC API (20+ methods). TUI dashboard and monitor.