Updated March 2026 · By arnoldnakamura · Technical deep-dive
A ring signature is a type of digital signature invented by Rivest, Shamir, and Tauman in 2001. It proves that a message was signed by someone in a defined group, without revealing which member.
In Monero's context: when you spend XMR, your wallet creates a ring containing your real input (the output you're spending) plus 15 decoy inputs (real outputs from other transactions on the blockchain). The ring signature proves you own one of these 16 inputs — but not which one.
What the sender sees:
What everyone else sees:
Monero launches with variable ring size (minimum 3). Users choose their own ring size. Many use ring size 1 (no mixing) — effectively transparent.
RingCT introduced (mandatory Jan 2017). Ring size minimum raised to 5.
Ring size set to mandatory 11. No more user choice — everyone uses the same ring size. This is critical because variable ring sizes leak information.
CLSAG replaces MLSAG. Ring signatures become 25% smaller and 20% faster to verify. Same ring size 11.
Ring size increased to mandatory 16 (August hard fork). Larger anonymity set per transaction.
FCMP++ expected. Ring signatures replaced by full-chain membership proofs. Anonymity set: entire blockchain (100+ million outputs).
CLSAG (Concise Linkable Spontaneous Anonymous Group signatures) is Monero's ring signature algorithm since October 2020. It's an improvement over MLSAG (Multi-Layered Linkable Spontaneous Anonymous Group).
The key image is what makes Monero's ring signatures "linkable" — not to the signer, but to the spending event. Each output can only be spent once because spending produces a unique key image: I = x * Hp(P) where x is your private key and Hp is a hash-to-point function.
The key image is:
The strength of ring signatures depends on the quality of decoy selection. If decoys are chosen poorly, statistical analysis can narrow down the real input.
Monero uses a gamma distribution (specifically, a truncated log-gamma) to select decoys. This distribution mimics real spending behavior:
By matching decoy age distribution to real spending patterns, an observer cannot distinguish real inputs from decoys based on age alone.
| Attack | How It Works | Mitigation |
|---|---|---|
| Timing analysis | Outputs spent immediately after receipt are more likely to be real (shorter time between creation and spending) | Wait before spending. Gamma distribution accounts for this statistically. |
| Output merging | If you receive 5 outputs and spend all 5 in one transaction, the 5 rings share one real input each, leaking correlation | Wallet "churning" (send to yourself first). FCMP++ makes this irrelevant. |
| Poisoned outputs | Attacker sends you dust, then watches when that output appears in a ring — it's likely real | Don't spend dust. Modern wallets automatically exclude tiny outputs. |
| Chain reaction | If ring members are eliminated by other information (e.g., known spent in other transactions), the ring shrinks | Larger ring size (16 is more resilient). FCMP++ fully resolves this. |
| EAE attack | Exchange-to-exchange: if an exchange knows both sending and receiving addresses, they can correlate through timing + known outputs | Use non-KYC on-ramps. Churn between exchanges. Avoid direct exchange-to-exchange. |
| Property | MLSAG (2017-2020) | CLSAG (2020-present) | FCMP++ (upcoming) |
|---|---|---|---|
| Signature type | Multi-Layered Linkable | Concise Linkable | Full-Chain Membership Proof |
| Ring size | 11 | 16 | Entire chain (~100M+ outputs) |
| Signature size | ~2.0 KB (11 ring) | ~1.5 KB (16 ring) | ~2.5 KB (full chain) |
| Verification speed | Baseline | ~20% faster | Slightly slower (worth it) |
| Decoy model needed | Yes (gamma) | Yes (gamma) | No (entire set) |
| Statistical attacks | Vulnerable | Less vulnerable | Not applicable |
Ring size is a tradeoff:
Ring size 16 was chosen as the optimal balance point for CLSAG. The jump from 11 to 16 increased the anonymity set by 45% while only increasing transaction size by ~12% (thanks to CLSAG's concise signatures).
As a P2P trader, here's what ring signatures mean for you:
arnoldnakamura — Cash by Mail (EU-wide) and Face-to-Face (SW Germany). 683 trades, 100% feedback.
Telegram: @arnoldnakamura