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

blindpsbt: require both range bounds to match claim in VerifyBlindValueProof

Public commit record

What the developer wrote

Authored by Byron Hambly

85/100 · Strong
blindpsbt: require both range bounds to match claim in VerifyBlindValueProof

A range-membership proof whose lower bound equalled the displayed PSET
amount was accepted even when the committed value was larger, because only
min_value was compared. Require both verified bounds to equal the claimed
amount so a proof can no longer understate an output's value.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode
The short version

What changed, and why it matters

This commit fixes a bug in how Elements verifies confidential transaction value proofs. Previously, the software only checked the lower bound of a mathematical range proof against the amount shown in a transaction. That meant a proof could truthfully prove the hidden amount was at least the displayed value, while the actual hidden amount was larger. This could let someone understate the value of an output in a partially-signed transaction (PSET). The fix now requires both the lower and upper bounds to equal the claimed amount, turning the range proof into a proper equality proof.

Recommended action

Treat this as a security fix and include it in the next release. Users and integrators handling PSETs with blind value proofs should upgrade. Review any PSET workflows that rely on VerifyBlindValueProof() to ensure they now enforce equality of both range bounds. Consider whether any related proof types (e.g., asset proofs) have similar single-bound checks.

Security signals we found

01

Understated output values in PSET blind value proofs

02

Incomplete range-proof bound verification

03

Confidential transaction amount mismatch risk

04

Proof verification bypass via upper-bound omission

Risk score

Why this scored 74/100

Our methodology →
Potential impact 22/30
Exploitability 16/25
Stealth signal 12/15
Affected reach 10/15
Confidence 9/10
Evidence quality 5/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.