MONERO

FCMP++

The Basics

FCMP++ (Full-Chain Membership Proofs + Spend Authorization + Linkability) is the system Monero uses to prove that transaction🛈 inputs are valid and unspent without revealing which outputs are actually being spent.

Each FCMP++ input proves it does spend one output from the entire set of eligible outputs on the blockchain🛈. The proof itself does not leak any information about which specific output is real.

From a chain observer’s perspective, it is not possible to determine the real input.

What It Improves

Compared to @CLSAG:

  • The anonymity set is the entire set of Monero transactions in history, not a ring of 16.
  • Double-spend detection still works using linkable tags that cannot be tied back to a concrete on-chain output.
  • Spend authorization is cleanly separated: the proof shows the spender controls the key to some valid output in the global set, but never which one.

New Capabilities

FCMP++ also enables new functionality:

  • Transaction chaining - safely spending outputs from still-unconfirmed transactions, useful for advanced protocols and potential layer-2 designs.
  • Outgoing view keys - optional keys that let a chosen auditor or watch-only device see both incoming and outgoing transfers, without granting any spend rights.
  • Stronger long-term privacy - the design ensures that transactions do not expose information that future analysis can use to recover the real inputs.