CHIP-2025-03 Faster Blocks for Bitcoin Cash
Faster Blocks for Us - Fab(u)lous!
This CHIP proposes cutting block times from 10 minutes to 2 minutes to boost transaction reliability, accelerate confirmations, refine DeFi precision, and smooth miner rewards—all while preserving BCH’s scalability, security, and decentralization.
By revisiting a foundational aspect of the protocol, we aim to address UX bottlenecks without compromising the network’s core strengths: scalability, security, and decentralization.
The following sections outline the motivation, benefits, and technical considerations for this shift, inviting community input to refine and validate the approach.
This is a starting point, only wrote Motivation & Benefits, and a list of technical challenges we’d need to address if we really want this.
Technical challenges are plenty, even if “just” changing block time target to 2 minutes (no Tailstorm, weak blocks, infra blocks, etc.).
I think the key technical challenge is to future-proof it: what if we want to change again (due to further advancements in block propagation) or upgrade to something like Tailstorm?
If we’re going to break things - let’s break them only once but without locking ourselves out of future upgrades.
It should be possible to abstract the block time, by starting to use “blockchain time” in seconds, rather than raw height. Right now we’d get blockchain time by simply multiplying height with 600. Imagine if nLocktime worked with this rather than raw height. Then we could seamlessly change blocktime target and consenus would correctly recompute it when evaluating locktimes, e.g., blockchain_time = fork_height * 600 + (height - fork_height) * 120
, without breaking any contracts.
Also, it should be possible to add somewhere a hash dedicated for SPV that would skip over N headers so clients wouldn’t need to keep whole header chain, they could keep only skip hashes - and fill in header hashes where necessary. Or, a super merkle tree like mentioned here.
These individual technical solutions could be split off to individual CHIPs, but they’d only make sense if the over-arching goal was to make block time parameter something that’s “easy” to change.