TSP-0003 Consensus

This proposal defines the genesis consensus algorithm of Tondi: a BLAKE3-based PoW function augmented with light memory-touch randomness (MTR, Memo...

Proposal Number: TSP-0003
Proposal Name: ASIC-Resistant Proof-of-Work Hashing with BLAKE3 + Memory-Touched Randomness (MTR)
Proposal Status: Draft
Author: Tondi Foundation Development Team
Creation Date: 2025-05-05
Target Version: Tondi Mainnet Genesis (v2026b)
Protocol Scope: Consensus hashing (mining), PoW algorithm structure, client validation logic


๐Ÿ” Overview

This proposal defines the genesis consensus algorithm of Tondi: a BLAKE3-based PoW function augmented with light memory-touch randomness (MTR, Memory-Touched Randomness). The design combines the cryptographic performance of BLAKE3 with randomized memory access patterns to achieve the following goals:

  • Delay the entry of specialized ASICs, extending the CPU/GPU-dominant phase;
  • Preserve fast verification for full nodes and light clients, ensuring compatibility with DAG-based high-frequency block production;
  • Align with TSP-0002, which standardizes BLAKE3 as the universal hash across the protocol;
  • Provide adjustable parameters for future tuning of the โ€œanti-centralization factor.โ€

๐ŸŽฏ Core Objectives

  1. ASIC Resistance: Raise the cost and complexity of designing ASICs by enforcing randomized memory reads that disrupt pure hash-pipeline optimization.
  2. Fair Mining: Encourage broader participation from CPUs and GPUs, maintaining a decentralized distribution of hashrate in the early growth phase.
  3. Fast Verification: Ensure that while mining is memory-bound, verification remains lightweight (only one hashing + memory path validation).
  4. Eco-conscious Mining: Keep the memory footprint moderate (e.g., 64โ€“128 MB scratchpad), avoiding wasteful energy arms races while still neutralizing ASIC efficiency gains.
  5. Future Flexibility: Allow parameters such as memory size, number of touches, and entropy sources to be soft-fork adjustable.

๐Ÿ”ง Technical Structure: BLAKE3-MTR (Memory-Touched Randomness)

Hashing process:

  1. Inputs:

    header_bytes = serialized_block_header
    nonce = 64-bit random value
    
  2. Seed Derivation:

    seed = blake3(header_bytes || nonce)
    
  3. Random Memory Access Path:

    • Pre-fill a pseudo-random memory layout (scratchpad, e.g., 64 MB).

    • Derive offsets:

      access_offsets = derive_offsets(seed, N=128)
      
  4. Mixing Step:

    • Collect memory fragments:

      scratchpad_data = read(memory_layout, access_offsets)
      
    • Combine into digest:

      pow_digest = blake3(header_bytes || scratchpad_data)
      
  5. Difficulty Comparison:

    if pow_digest < target_difficulty: success
    

  • Hash core: BLAKE3 v1.3 (256-bit digest).

  • Memory footprint: 64 MB scratchpad (scalable to 128 MB via future soft fork).

  • Access count: 128 random reads per attempt.

  • Derivation function: Offsets derived via keyed BLAKE3 with domain separation.

  • Verification: Only requires re-running BLAKE3 with the same memory access path; O(1) complexity for clients.

  • Domain separation tags:

    • "tondi.pow.seed" for seed derivation
    • "tondi.pow.offsets" for memory offset schedule

โœ… Technical Advantages

  • ASIC deterrence: Random memory access prevents linear hash pipelines; ASICs would require large, fast SRAM banks, increasing cost and reducing efficiency advantage.
  • Eco-friendly: By fixing memory use to tens of MB rather than gigabytes, energy waste is minimized while still achieving resistance.
  • DAG compatibility: Lightweight verification fits into Tondiโ€™s high-frequency block model without bloating validation.
  • Cross-platform feasibility: Optimized implementations available in Rust, C, ARM (NEON), and WASM, ensuring broad compatibility.
  • Soft-fork adjustable: Parameters (memory size, N, access entropy) can be tuned later without breaking consensus history.

โš ๏ธ Considerations

  • Not permanent ASIC-proof: The goal is to delay ASIC dominance (2โ€“5 years), not eliminate it.
  • Dynamic evolution: Regular TSP upgrades may adjust parameters to maintain decentralization.
  • Cross-chain deployment: This PoW can become the reference standard across the Avato federated chain family.

๐Ÿ“… Implementation Plan

  1. Phase 1 โ€“ Reference Implementation (2025 Q2โ€“Q3)

    • Implement BLAKE3-MTR miner in Rust + C bindings.
    • Benchmark CPU vs GPU performance across Linux, macOS, ARM devices.
    • Publish verification library for light clients.
  2. Phase 2 โ€“ Testnet Deployment (2025 Q4)

    • Launch PoW testnet with enforced BLAKE3-MTR.
    • Collect performance metrics (hashrate, block propagation, energy profile).
    • Security audit for collision/fairness issues.
  3. Phase 3 โ€“ Mainnet Genesis Integration (2026 Q1)

    • BLAKE3-MTR locked as the genesis PoW algorithm.
    • Distribute mining SDKs (Rust, Go, Python, WASM).
    • Establish monitoring of hashrate distribution to detect early ASIC entry.
  4. Phase 4 โ€“ Eco-Monitoring (post-genesis)

    • Introduce energy profile dashboard to track network efficiency.
    • Research hybrid extensions (PoW + staking/PoS) for further eco-balance.
    • Prepare TSP follow-up proposals for parameter tuning.

๐Ÿ“˜ Notes

  • Inspiration is drawn from RandomX but simplified: no heavy VM or JIT overhead.
  • This design avoids massive RAM usage (as in RandomX), keeping mining accessible to consumer-grade hardware while maintaining ASIC resistance.
  • Future upgrades may integrate hybrid consensus (PoW + staking contracts within the Lexum framework).
  • BLAKE3-MTR is explicitly designed to prioritize decentralization and environmental sustainability over maximum raw hashrate.

If approved, TSP-0003 will establish the genesis Proof-of-Work standard for Tondi, securing the network with an eco-conscious, ASIC-resistant, BLAKE3-based hashing function.