AI-generated analysisPublished automatically and not human-verified. Validated context appears in community notes below.
← Watch feed
Moderate 50 Bitcoin

mempool: disable full-RBF, require BIP125 opt-in signaling

Public commit record

What the developer wrote

Authored by Byron Hambly

91/100 · Strong
mempool: disable full-RBF, require BIP125 opt-in signaling

Bitcoin Core defaults to accepting any fee-bumping replacement
regardless of signaling (full-RBF). Revert this for Elements: only
replace mempool transactions that explicitly opt in via BIP125
nSequence signaling (or TRUC), and report fullrbf=false in
getmempoolinfo.

Update feature_rbf.py accordingly, and add a regression test for
CVE-2021-31876 confirming that inherited signaling from an
unconfirmed parent does not make a non-signaling child replaceable.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit changes how Elements' mempool handles transaction replacements. It disables 'full-RBF' (where any transaction can be replaced by a higher-fee version even without signaling) and requires explicit BIP125 opt-in signaling for replacements. It also adds a regression test for CVE-2021-31876, confirming that a transaction cannot be replaced just because one of its unconfirmed parents signaled replaceability. This is a defensive policy change to protect merchants and users who rely on first-seen mempool behavior from unexpected transaction replacements.

Recommended action

Review and merge if the intended policy is to require explicit BIP125 signaling for mempool replacements in Elements. Ensure downstream documentation and user-facing materials reflect that full-RBF is disabled and that inherited signaling is not honored for replacement acceptance. Consider whether the RPC bip125-replaceable reporting (which still honors inherited signaling) could confuse users or applications.

Security signals we found

01

Disables full-RBF mempool policy

02

Requires BIP125 opt-in signaling for transaction replacement

03

Adds regression test for CVE-2021-31876

04

Diverges from BIP125 inherited signaling for replacement acceptance

05

Updates RPC getmempoolinfo fullrbf field to false

Risk score

Why this scored 50/100

Our methodology →
Potential impact 12/30
Exploitability 10/25
Stealth signal 6/15
Affected reach 10/15
Confidence 8/10
Evidence quality 4/5
Human-validated context

Community notes

Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.

No validated notes yet.

The AI analysis stands alone for now. Submit a note if you can add evidence or important context.