Bitcoin is not a state machine.
It is a verifiable sequence of events.
"Event Machine Letters — Protocol Thoughts on Bitcoin’s Architecture" begins here.
1. What triggered this article
On November 20, t-bast quietly announced something that should not have been possible in 2019:
Two fully compatible implementations of 0-fee channels (Eclair + LDK), and the spec is final.
To many, this looks like an incremental Lightning update.
In reality, it is the public surface area of a multi-year restructuring of Bitcoin Core’s relay layer — work led by developers such as Gloria Zhao, instagibbs, fanquake, Suhas Daftuar, Pieter Wuille, and others.
Matt Corallo summarized it perfectly:
“People underestimate how insanely much work went into restructuring the way Bitcoin Core relays transactions so that protocols like Lightning, Ark, and Spark can be radically simpler.”
This article explains what actually changed, why it matters, and how V3 transforms Bitcoin’s fee and security model.
2. The real problem Lightning could not fix
Lightning’s limitations were never just:
routing
liquidity
HTLC abstraction
channel factories
Lightning’s biggest unsolved problem was simple:
Bitcoin could not reliably propagate multi-transaction packages under real fee pressure.
This created three critical weaknesses:
(1) Unpredictable fee bumping
CPFP only worked in “clean” mempools.
(2) Replacement pinning
Attackers could attach massive children (10,000+ bytes) to inflate absolute fee required for replacement.
(3) Unsafe HTLC resolution under congestion
Because commitment + HTLC-success/timeout would not reliably relay as a unit.
The root cause was in Bitcoin Core’s relay policy, not Lightning.
Lightning could never fix this alone.
3. A concrete example: replacement pinning in the old model
Imagine:
Carol → Bob → Alice (0.5 BTC HTLC)
Bob receives 0.5 BTC from Carol. Bob now tries to cheat Alice by publishing an old commitment transaction.
Alice must publish a penalty transaction before Bob’s timelock expires.
But Bob can pin her:
Bob’s attack (pre-V3)
Broadcasts the old commitment (≈300 bytes)
Immediately attaches a huge CPFP transaction
e.g. 10,000 bytes at 5 sat/vB → 50,000 sats
Now miners see:
commitment (300 bytes)
+ child (10,000 bytes)
= 10,300-byte package
Bitcoin Core’s rules require:
Alice must pay a higher absolute fee than Bob’s entire package.
So if fee rates spike to 50 sat/vB:
10,300 bytes × 50 sat/vB = 515,000 sats
Alice evaluates:
Save 0.5 BTC? Yes.
But Alice’s wallet may only have 0.001 BTC in liquid funds.
Bob can escalate the attack by attaching 50,000-byte children (→ 0.025 BTC cost).
And watchtowers cannot pre-commit to unbounded fee liabilities.
The real problem
The issue is not that “0.00515 BTC is too expensive for 0.5 BTC.”
The problem is that the required fee is unpredictable and potentially unlimited.
A small node with limited liquid capital can be priced out by a richer attacker. even if the channel’s nominal value is large.
Result:
A rich attacker can price a poor user out of security.
This is why Lightning disputes were not reliably safe.
4. Anchors: the missing context most people skip
Lightning attempted to fix fee bumping in 2020 with BIP 330: anchored commitment transactions.
But BIP330 anchors had two major problems:
(1) Anchors were 330 sats in value
They required locking value upfront, and the value was too small during fee spikes.
(2) Anchors still depended on unconstrained child transactions
So attackers could still attach giant CPFP transactions and restore the same old problem.
This is why “anchored commitments” did not deliver fully reliable fee bumping.
5. What actually changed: V3 + Package Relay + Ephemeral Anchors
Here is the structural shift, summarized clearly:
Feature comparison
These are not mempool tweaks.
These are protocol-level invariants.
6. The core guarantee V3 introduces
Now we can state V3’s contribution precisely:
V3 establishes a hard upper bound on the cost of fee-bumping any package containing a V3 transaction.
Mathematically:
max package size = parent_size + 1,000 bytes
This directly eliminates the attacker’s ability to magnify absolute fee requirements.
Before V3:
cost_to_replace = attacker_decides()
(10k, 20k, 50k bytes... unlimited)
After V3:
cost_to_replace = bounded_and_predictable()
This transforms Lightning, Ark, Spark, vaults, and all future L2 protocols from:
“Best effort under good fee conditions”
→
“Deterministically secure even under fee spikes”
This is not an optimization.
It is a semantic correction to Bitcoin’s relay layer.
7. Why Package Relay and P2A are needed together
V3 alone sets size constraints.
But:
Package Relay ensures parent+child propagate together
Ephemeral Anchors ensure fee bumping is always possible without UTXO pollution
The three combine into:
Bitcoin’s first dependency-aware fee and relay model.
This is what enables:
0-fee channel opens
safe HTLC resolution
covenant-based vaults
off-chain contract rollups
Ark withdrawal reliability
safe parallel contract trees
multi-party protocols with guaranteed escape hatches
This did not exist before 2024–2025.
8. Why this work is invisible
When V3, Package Relay, and P2A landed, some people asked:
“Why change RBF rules?”
“Why add a new transaction version?”
“Is this just mempool churn?”
“Why is this needed at all?”
These reactions are understandable — Bitcoin Core’s relay layer is complex, and the benefits appear only indirectly.
But the context is:
These changes remove entire attack classes, not just adjust parameters.
They give L2 protocols clear invariants for the first time.
Without them:
watchtowers cannot price risk
protocols cannot promise safety
channels cannot open without fees
HTLCs fail during congestion
covenants cannot guarantee exit safety
This is infrastructure work — often unnoticed, always essential.
9. Real-world impact
Lightning
0-fee channel opens
safe HTLC resolution during fee spikes
predictable penalty enforcement
simplified implementations (Eclair + LDK now interoperable)
Ark
reliable vtxo expiry
safe connector exits
predictable mass-exit fee models
Future protocols
covenant vaults
channel factories
state channels
rollup-style constructions
ANY protocol needing deterministic fee bumping
The second layer is now operating on a far stronger foundation.
10. Conclusion: why V3 truly matters
The story is not:
“Lightning finally gets 0-fee channels.”
The real story is:
Bitcoin Core finally provides the fee guarantees and relay invariants that Lightning, Ark, Spark, vaults, and future L2 protocols always needed.
V3, Package Relay, and Ephemeral Anchors are not mempool tweaks.
They are a structural repair to Bitcoin’s relay architecture.
Most people didn’t notice.
But every serious protocol will benefit from it for the next decade.
By Aaron Recompile on November 22, 2025.
Exported from Medium on July 3, 2026.


Top comments (0)