#Monero hides amounts, not math
Even though you can’t see how many XMR are in each transaction (they’re hidden with RingCT), every block still has to obey the protocol’s consensus rules. The math behind it is public, just not the values.
How double-spends are prevented
Every $XMR input creates a unique “key image.” That key image can only ever appear once on the blockchain. If someone tried to “reorg” and spend the same input twice, nodes would instantly reject the block containing the duplicate key image. Hidden amounts don’t matter here—key images are the anti-double-spend stamp.
How inflation is prevented
RingCT doesn’t just hide the amount, it also uses cryptographic proofs (Pedersen commitments + range proofs). Each transaction proves “the outputs = inputs” without revealing the numbers. If someone tried to mint extra coins secretly, the math in the proof would fail and the block would be rejected.
What about reorgs n blocks deep?
A reorg just means: “We thought these n blocks were the chain, but now there’s a longer chain that replaces them.” When this happens:
Every node re-verifies all the blocks in the new chain.
All the cryptographic checks (key images, RingCT balance proofs, range proofs) run again.
If any block tried to create value out of thin air, consensus rules fail → block is invalid → chain won’t be accepted.
👉 So the short version:
Even if amounts are hidden, the math proofs and key images make it impossible to sneak in fake value. A reorg just swaps blocks, but every block still has to pass the same verification rules.