DEV Community

Cover image for Why V3 Matters: Bitcoin’s Relay Layer Was Rewritten, and Most People Didn’t Notice
aaron.recompile
aaron.recompile

Posted on • Originally published at Medium

Why V3 Matters: Bitcoin’s Relay Layer Was Rewritten, and Most People Didn’t Notice

Bitcoin is not a state machine.
It is a verifiable sequence of events.

"Event Machine Letters — Protocol Thoughts on Bitcoin’s Architecture" begins here.
Enter fullscreen mode Exit fullscreen mode

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)

  1. Broadcasts the old commitment (≈300 bytes)

  2. 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

This directly eliminates the attacker’s ability to magnify absolute fee requirements.

Before V3:

cost_to_replace = attacker_decides()
(10k, 20k, 50k bytes... unlimited)
Enter fullscreen mode Exit fullscreen mode

After V3:

cost_to_replace = bounded_and_predictable()
Enter fullscreen mode Exit fullscreen mode

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.

Canonical link

Exported from Medium on July 3, 2026.

Top comments (0)