While working on the faster blocks CHIP and wanting to solve the problem of SPV light wallet header chain growth, I independently discovered a data structure called “History Tree” (Crosby and Wallach, 2009), later called “Merkle Mountain Range” (Todd, 2012). While working on implementation with Claude, he recognized the pattern and pointed me to existing literature. Having reviewed the literature, I learned that the data structure is even better than I originally thought: it is the optimal accumulator and commitment for append-only data (Bonneau et al., 2025), which our headers happen to be. It is much better than Electrum’s header Merkle proof system, which uses Bitcoin-style Merkle tree construction, because:
- The server can cache just the latest MMR structure (O(n log n) in size) and efficiently produce on-demand proofs against any past root.
- The client can hold just the latest accumulator state (O(log n) hashes) which lets him verify server’s proofs and independently extend it with new headers.
So I started drafting a CHIP, hoping to get this implemented in light wallet client architectures.
Some sections are still missing, but my goal is to produce a complete specification and reference implementation, so everyone can have an easier time implementing it.
Adopting this would remove the one really annoying technical obstacle to faster blocks (header sync and storage for SPV light clients), which was my main motivation for this research avenue.
CHIP-2026-02: Simplified Header Verification for Bitcoin Cash
Title: CHIP-2026-02 Simplified Header Verification for Bitcoin Cash
First Submission Date: 2026-02-25
Owners: bitcoincashautist (ac-A60AB5450353F40E)
Type: Technical
Layers: SPV
Status: Draft
Last Edit Date: 2026-02-25
Summary
This CHIP proposes a header commitment scheme for Bitcoin Cash that enables light clients to verify blockchain state without storing the full header chain.
By maintaining a compact cryptographic accumulator over block headers, clients can reduce storage requirements from linear to logarithmic in chain height.
The accumulator can be further reduced to a fixed-size root for checkpointing.
The scheme allows clients to verify any historical header against a trusted root or accumulator using inclusion proofs, enabling flexible trust models ranging from fully trustless self-verification to checkpoint-based bootstrapping.
Servers benefit from efficient state caching, allowing them to serve header proofs for any block against any accumulator or root.
This proposal complements existing Simplified Payment Verification (SPV) by addressing its storage overhead, making light wallet implementations more practical for resource-constrained devices.
Rest of it can be found in the CHIP’s repository: ac-0353f40e / mmr · GitLab