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

cryptonote_core: rm confusing/redundant BP consensus rule

Public commit record

What the developer wrote

Authored by jeffro256

93/100 · Strong
cryptonote_core: rm confusing/redundant BP consensus rule

This rule is confusing/redundant because before v8, no
bulletproofs whatsoever were allowed. And during and after
v8, ONLY multi-output bulletproofs were allowed, i.e.
exactly 1 bulletproof is allowed which proves the range of
all amount commitments in the transaction.

Sources:
* No BP before v8:
- https://github.com/monero-project/monero/blob/d32b5bfe18e2f5b979fa8dc3a8966c76159ca722/src/cryptonote_core/blockchain.cpp#L3021-L3032
* Only 1 BP allowed:
- https://github.com/monero-project/monero/blob/d32b5bfe18e2f5b979fa8dc3a8966c76159ca722/src/cryptonote_basic/cryptonote_format_utils.cpp#L174
- https://github.com/monero-project/monero/blob/d32b5bfe18e2f5b979fa8dc3a8966c76159ca722/src/cryptonote_basic/cryptonote_format_utils.cpp#L150
* BP must cover all outputs:
- https://github.com/monero-project/monero/blob/d32b5bfe18e2f5b979fa8dc3a8966c76159ca722/src/cryptonote_basic/cryptonote_format_utils.cpp#L190-L194
- https://github.com/monero-project/monero/blob/d32b5bfe18e2f5b979fa8dc3a8966c76159ca722/src/cryptonote_basic/cryptonote_format_utils.cpp#L166-L170
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Links an issue, advisory, or supporting reference
The short version

What changed, and why it matters

This commit removes a redundant safety check in Monero's transaction validation code. The commit message argues the check was unnecessary because other rules already enforce the same limits: no bulletproofs before protocol version 8, and only one bulletproof covering all outputs from version 8 onward. The change is presented as cleanup, not a security fix.

Recommended action

Verify the author's three cited claims independently: confirm that no Bulletproof path exists before v8, that exactly one Bulletproof is enforced from v8 on, and that the single Bulletproof must cover all outputs. If all three hold, this is a safe cleanup; if any is incomplete or conditional, the removed check could have provided defense in depth and should be restored or replaced.

Security signals we found

01

Removal of a consensus/validation rule

02

Author-provided rationale that the rule is redundant with other checks

03

No accompanying test or advisory indicating a vulnerability

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.