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

p2p: reject empty getblocktxn requests

Public commit record

What the developer wrote

Authored by furszy

68/100 · Adequate
p2p: reject empty getblocktxn requests

A getblocktxn msg is only needed when at least one tx is
missing from a compact block. If no txs are missing, the
block can be reconstructed without sending the request.

This avoids reading the requested block from disk
unnecessarily and also alerts the peer operator about
their node's buggy behavior.
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
The short version

What changed, and why it matters

This change makes Bitcoin Core disconnect any peer that sends a 'getblocktxn' message asking for zero transactions. Such a request is pointless because if no transactions are missing, the receiver already has everything it needs to reconstruct the block. The patch prevents the node from wastefully reading a block from disk and helps identify misbehaving or buggy peers. It is a hardening fix rather than a clear-cut exploit patch, and the commit message frames it as performance/robustness, not a security vulnerability.

Recommended action

Treat as a low-severity hardening improvement. Operators and downstream maintainers should include it in routine updates, but it does not appear to require an emergency security release. Reviewers may want to confirm that the disconnect does not interfere with any legitimate high-bandwidth compact-block recovery path.

Security signals we found

01

Denial-of-service hardening: prevents a peer from forcing the node to read a block from disk for no legitimate purpose

02

Protocol invariant enforcement: empty getblocktxn requests are semantically invalid under BIP 152 compact block reconstruction

03

Peer misbehavior response: disconnects rather than servicing the request

04

No memory corruption, authentication bypass, or consensus change

Risk score

Why this scored 31/100

Our methodology →
Potential impact 6/30
Exploitability 5/25
Stealth signal 4/15
Affected reach 5/15
Confidence 7/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.