Skip to content

Latest commit

 

History

History
130 lines (108 loc) · 4.78 KB

roadmap.md

File metadata and controls

130 lines (108 loc) · 4.78 KB

Memobi Roadmap

Phase 0 — Protocol specification

  • Establish repository
  • Choose Rust for core implementation
  • Define PoARM research objective
  • Choose UTXO direction
  • Establish deterministic encoding skeleton
  • Establish protocol test-vector format
  • Draft P2P architecture
  • Draft cryptography/addressing requirements
  • Draft difficulty-adjustment requirements
  • Prepare Android ARM64 integration direction
  • Freeze transaction serialization
  • Freeze block serialization
  • Define provisional chain-selection laboratory rule
  • Define difficulty adjustment
  • Define emission schedule
  • Define address encoding
  • Define genesis rules

Phase 1 — PoARM laboratory

  • Create Rust workspace
  • Implement benchmark harness
  • Implement candidate PoARM v0
  • Add deterministic unit tests
  • Add published cross-platform test vectors
  • Implement experimental PoARM candidate variants A/B/C
  • Add canonical transaction/block-header hashing helpers
  • Benchmark ARM64
  • Benchmark x86-64
  • Measure memory usage
  • Measure sustained performance
  • Test multi-core scaling
  • Test GPU and ASIC resistance assumptions
  • Iterate algorithm

Phase 2 — Devnet

  • Begin blockchain data structures
  • Provisional deterministic genesis builder
  • Provisional mining block builder with coinbase
  • Add provisional devnet block builder
  • Provisional deterministic genesis
  • Final genesis block
  • Provisional coinbase/reward validation boundary
  • Transaction validation skeleton
  • UTXO set skeleton
  • Provisional block validation
  • Final consensus block validation
  • Add provisional cumulative-work scoring
  • PoARM header-seed construction
  • End-to-end PoARM devnet mining smoke test
  • Provisional PoARM mining\n- [ ] Production PoARM mining
  • Difficulty-adjustment laboratory model
  • Provisional difficulty enforcement
  • Final difficulty adjustment
  • P2P message serialization skeleton
  • Add bounded P2P collection/payload decoding
  • P2P networking
  • Two-node synchronization integration
  • Full canonical block persistence and restart replay recovery
  • Add provisional synchronization state and locator
  • Add bounded synchronization request planner
  • Add persistent canonical-header storage foundation
  • Add in-process node engine joining peer, sync, consensus, and header persistence
  • Add canonical block storage with persisted PoARM proofs
  • Add restart recovery by replaying persisted canonical blocks through consensus
  • Wallet key-selection requirements
  • Provisional wallet and key handling\n- [ ] Final wallet/key specification
  • CLI node and miner

Phase 3 — Android alpha

  • Define Rust/Android ARM64 preparation path
  • Compile Rust core for Android
  • Wallet
  • Sync
  • Mining controls
  • Device and network discovery
  • Send and receive
  • Activity
  • Battery and thermal safety controls

Phase 4 — Public testnet

The project is now moving toward a short public Testnet phase. Testnet must be a real network with its own chain identity/genesis; it is not a renamed Devnet.

  • Public bootstrap infrastructure
  • Testnet genesis construction with distinct chain identity
  • Explorer
  • Test MEMO distribution
  • Independent node operation
  • Network stress testing
  • Adversarial testing

Promotion gate

The intended progression is Devnet → short Testnet → Mainnet candidate → Mainnet.

Devnet is no longer the default destination for new architecture work. Testnet is used to expose real multi-node, synchronization, PoARM, persistence, wallet, and adversarial issues. We should not keep adding speculative features to Testnet once its core network behaviour is proven.

Before Mainnet candidate, the remaining blockers are consensus/PoARM finalization, reproducible genesis, real P2P transport, independent node operation, security review, and cross-platform validation.

Phase 5 — Mainnet candidate

  • Consensus freeze
  • Security review
  • PoARM finalization
  • Genesis reproducibility
  • Mainnet client
  • Documentation
  • Independent validation

Phase 6 — Mainnet

Only after the protocol and PoARM assumptions have survived public testing.

Short Testnet gate

Before promoting the protocol to a Mainnet candidate, the current Testnet gate is intentionally narrow: independent nodes must handshake over the transport boundary, synchronize headers then blocks, converge on the same tip/UTXO state, survive durable restart recovery, and reject malformed or divergent persisted data. PoARM must also receive CPU/ARM64 measurements before its production parameters are frozen. This is a gate, not a second feature-development cycle.