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

bip322: label as v2.0.0 and test proof-of-funds without message_challenge

Public commit record

What the developer wrote

Authored by Ruben Waterman

100/100 · Strong
bip322: label as v2.0.0 and test proof-of-funds without message_challenge

BIP-322 v2.0.0 (2026-06-04) clarifies that the message_challenge input is
not optional in a proof of funds. The validator already enforces this, as
the first input is always checked against the recomputed to_spend txid;
this commit updates the references to the BIP version and adds a
regression test for a proof-of-funds request made only of real UTXOs.

The test uses a zero-valued real UTXO at output index 0 as the first
input, so that it passes the amount and prevout index checks and is
rejected by the txid binding itself.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KAfA54Ci4gLkZnxHa6qrgV
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit is a documentation and test update for the Ledger Bitcoin app. It updates references to BIP-322 from an unspecified version to v2.0.0, clarifies that a proof-of-funds message signature must still include the virtual first input, and adds a regression test to confirm the app already rejects malformed requests that omit that virtual input. The actual security check in the device code was already present and is not changed.

Recommended action

No immediate action required; this is a test/documentation commit. Reviewers may want to confirm the existing validator check comprehensively covers all ways a proof-of-funds request could omit or misplace the message_challenge input.

Security signals we found

01

Regression test added for missing message_challenge in BIP-322 proof-of-funds

02

Documentation updated to cite BIP-322 v2.0.0 requirement that first input is not optional

03

Error-code comment clarified to mention missing message_challenge case

04

No functional C code change to validation logic

Risk score

Why this scored 12/100

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