Le firme CLSAG di Monero spiegate
Le firme CLSAG di Monero spiegate
Il 17 ottobre 2020, all'altezza del blocco 2.210.720, Monero ha sostituito in silenzio il motore crittografico che protegge ogni singola transazione. L'hard fork "Oxygen Orion" ha mandato in pensione la vecchia firma ad anello MLSAG e l'ha rimpiazzata con CLSAG — e da un giorno all'altro le transazioni sono diventate circa il 25% più piccole e la verifica dal 10 al 20% più veloce. Se hai mai inviato XMR, o se hai convertito dei Bitcoin in Monero tramite un servizio come MoneroSwapper, la tua transazione è stata protetta da una firma CLSAG senza che tu te ne accorgessi minimamente.
La maggior parte delle persone tratta la privacy di Monero come una scatola nera: le monete entrano, e ne escono altre non tracciabili. Ma la magia che nasconde chi ha inviato cosa ha un nome preciso e una struttura ben definita. CLSAG è il pezzo che ti permette di dimostrare "possiedo uno di questi output e lo sto spendendo esattamente una volta" — senza rivelare quale degli output è il tuo. Questo articolo scompone cos'è CLSAG, come funziona, perché ha sostituito il suo predecessore e dove si colloca nella roadmap di Monero, ora che prove più recenti come FCMP++ si avvicinano alla rete.
Cosa significa davvero CLSAG
CLSAG è un acronimo, e ogni lettera descrive una proprietà concreta dello schema. Sta per Concise Linkable Spontaneous Anonymous Group signatures, ovvero firme di gruppo concise, collegabili, spontanee e anonime. Il progetto nasce da un paper di ricerca del 2019 firmato da Brandon Goodell, Sarang Noether e da un contributore noto come RandomRun, ed è stato sottoposto a revisione paritaria e a un audit prima di arrivare sulla mainnet.
- Concise (concisa): la firma è compatta. Una CLSAG produce molti meno scalari per ciascun membro dell'anello rispetto allo schema che ha sostituito, ed è esattamente da qui che arriva il risparmio di spazio.
- Linkable (collegabile): se lo stesso output viene speso due volte, la rete è in grado di accorgersene. Questo avviene grazie alla key image, un'impronta deterministica che impedisce la doppia spesa senza smascherare chi spende.
- Spontaneous (spontanea): nessuna cerimonia di setup e nessuna collaborazione tra le persone i cui output compaiono nel tuo anello. Puoi attingere a delle esche dalla blockchain a loro insaputa e senza il loro consenso.
- Anonymous (anonima): chi verifica può confermare che la firma è valida, ma non può stabilire quale dei membri dell'anello l'abbia effettivamente autorizzata.
- Group (di gruppo): la firma viene prodotta per conto di un gruppo — l'anello — e non di una singola chiave identificabile.
Metti insieme queste proprietà e ottieni il cuore della privacy del mittente in Monero: una firma valida che dimostra l'autorizzazione da parte di qualcuno all'interno di un insieme di candidati plausibili, mantenendo nascosto il vero firmatario e rendendo impossibile la doppia spesa.
Come funziona CLSAG dietro le quinte
Per capire CLSAG bisogna prima capire cosa cerca di ottenere una firma ad anello, e poi vedere come CLSAG riesce a rendere la prova più piccola. Le transazioni Monero usano RingCT, che combina due cose che devono restare entrambe private: chi sta spendendo (l'ambiguità del mittente) e quanto (la riservatezza dell'importo). CLSAG si occupa della prima metà. Bulletproofs+ si occupa della seconda.
Il problema della firma ad anello
Quando spendi un output Monero, il tuo wallet costruisce un anello: il tuo output reale più un certo numero di output esca prelevati dalla catena. Dall'aggiornamento "Fluorine Fermi" dell'agosto 2022 la dimensione dell'anello è fissata a 16, il che significa che ogni spesa si nasconde in mezzo a 15 esche. Un osservatore esterno vede 16 output candidati e non può capire quale venga realmente speso.
La sfida è firmare in un modo che dimostri "controllo la chiave privata di uno di questi 16 output" senza far trapelare quale. Una firma ad anello fa esattamente questo. Il trucco sta nel costruire un anello chiuso di sfide crittografiche che si richiude solo se chi firma conosce una chiave privata reale, mentre dall'esterno ogni anello della catena appare identico agli altri.
Key image e protezione dalla doppia spesa
Il rischio con un mittente nascosto è la doppia spesa: se nessuno può vedere quale output hai speso, cosa ti impedisce di spenderlo di nuovo? La risposta è la key image. Ogni output ha esattamente una key image valida, calcolata come la chiave privata moltiplicata per un hash-to-point della chiave pubblica. È legata matematicamente all'output, ma non rivela nulla su quale membro dell'anello l'abbia prodotta.
Ogni key image mai utilizzata viene registrata sulla catena. Quando arriva una nuova transazione, i nodi controllano se la sua key image è già comparsa in precedenza. Se è così, la transazione viene rifiutata come doppia spesa. È questo che rende sicuro il modello a mittente nascosto di Monero — la proprietà di collegabilità, la "L" di CLSAG.
Come l'aggregazione riduce la firma
Ecco il nocciolo del perché CLSAG è "concisa". In una transazione RingCT, ogni membro dell'anello è associato a due chiavi pubbliche: la chiave usa-e-getta dell'output (che prova la proprietà) e un commitment sull'importo (che prova che i valori di input e output si bilanciano). Lo schema precedente, MLSAG, firmava su entrambe le chiavi separatamente, producendo due scalari di risposta per ogni membro dell'anello.
CLSAG comprime tutto in un unico anello. Usa dei coefficienti di aggregazione — derivati in modo deterministico facendo l'hash dell'anello e dei suoi commitment — per fondere le due chiavi in un'unica equazione di verifica combinata. Il risultato è un solo scalare di risposta per membro dell'anello invece di due, più un'unica sfida iniziale e la key image.
Per un anello da 11 membri, MLSAG richiedeva circa 22 scalari di risposta per input; CLSAG ne richiede all'incirca 12. È stato proprio questo singolo cambiamento a tagliare di circa un quarto una tipica transazione con due input.
L'aspetto cruciale è che la dimostrazione di sicurezza mostra come questa aggregazione non indebolisca nulla. CLSAG resta non falsificabile e anonima sotto le stesse ipotesi di prima, persino di fronte a un avversario in grado di scegliere alcune delle chiavi presenti nell'anello. Ottieni una firma più piccola e più veloce senza alcun compromesso sulla privacy o sulla sicurezza — una vittoria netta, una rarità in crittografia.
CLSAG contro MLSAG: cosa è cambiato
MLSAG (Multilayered Linkable Spontaneous Anonymous Group signatures) ha alimentato RingCT dal lancio del gennaio 2017 fino al fork del 2020. CLSAG è un rimpiazzo diretto e "drop-in" che mantiene lo stesso modello di fiducia eliminando il superfluo. La tabella qui sotto riassume le differenze pratiche.
| Proprietà | MLSAG (2017–2020) | CLSAG (2020–oggi) |
|---|---|---|
| Scalari per membro dell'anello | 2 (uno per livello di chiave) | 1 (aggregato) |
| Dimensione firma tipica tx a 2 input | Riferimento | ~25% più piccola |
| Velocità di verifica | Riferimento | ~10–20% più veloce |
| Garanzia di privacy | Ambiguità del mittente + collegabilità | Identica |
| Sicurezza contro chiavi avversarie | Dimostrata | Dimostrata (ri-sottoposta ad audit formale) |
| Attivazione | Lancio RingCT, gen 2017 | Fork Oxygen Orion, ott 2020 |
Le firme più piccole contano per qualcosa di più dell'estetica. Un peso di transazione inferiore significa commissioni più basse, meno gonfiore della blockchain e tempi di sincronizzazione più rapidi per i nodi. Poiché ogni transazione Monero ha la stessa identica struttura, questi risparmi si accumulano sull'intera rete e migliorano la fungibilità — nessuna transazione spicca come più economica o più costosa in base alla propria storia.
Come si inserisce CLSAG in una transazione Monero
CLSAG non lavora mai da sola. È uno dei componenti di una transazione RingCT, accanto agli indirizzi stealth, ai commitment sugli importi e alle prove di intervallo (range proof). Ecco il ciclo di vita semplificato di una spesa, dal momento in cui il tuo wallet decide di inviare al momento in cui un nodo la accetta.
- Seleziona le esche: il wallet sceglie 15 output esca dalla catena usando una distribuzione gamma che imita i veri schemi di spesa, poi aggiunge il tuo output reale per formare un anello da 16.
- Costruisce i commitment: gli importi di input e output vengono nascosti dietro i commitment di Pedersen, e viene generato uno pseudo-output commitment così che chi verifica possa confermare che gli input eguagliano gli output senza vedere i valori.
- Calcola la key image: il wallet ricava la key image per l'output che si sta spendendo, che la rete in seguito confronterà con il proprio insieme di key image già spese.
- Firma con CLSAG: il wallet produce un'unica firma ad anello aggregata sull'anello delle chiavi usa-e-getta e delle chiavi di commitment, chiudendo l'anello crittografico solo perché possiede una chiave privata reale.
- Allega le range proof: Bulletproofs+ dimostra che ogni importo di output rientra in un intervallo valido, in modo che nessuno possa creare monete dal nulla con un output negativo.
- Trasmette e verifica: la transazione si propaga tramite Dandelion++ per offuscare il proprio IP di origine, e i nodi verificano la firma CLSAG, i commitment, le range proof e l'unicità della key image prima di rilanciarla.
Suggerimento: non configuri nulla di tutto questo. La dimensione dell'anello, la selezione delle esche e lo schema di firma sono tutti imposti dal consenso, quindi due wallet sulla stessa versione di rete producono transazioni indistinguibili tra loro.
Un esempio concreto
Immagina di convertire 0,5 BTC in XMR tramite MoneroSwapper e di inviare in seguito una parte di quei Monero a un hardware wallet. Nell'istante in cui premi "invia", il tuo wallet assembla un anello di 16 output. C'è dentro il tuo output autentico, ma ci sono anche 15 output del tutto estranei, appartenenti ad altri utenti che non hanno mai acconsentito a partecipare e che non sapranno mai di averlo fatto.
La firma CLSAG che il tuo wallet genera dimostra a ogni nodo del pianeta che controlli legittimamente uno di quei 16 output — senza dire quale. Un exchange che osserva la catena, una società di analisi blockchain o un curioso qualsiasi vedono una transazione valida con 16 fonti ugualmente plausibili. Non esiste alcuna euristica capace di individuare in modo affidabile quella reale, ed è esattamente questo il punto.
Confronta tutto ciò con una catena trasparente come Bitcoin, dove l'esatto input che viene speso è pubblico. Su Bitcoin, quei 0,5 BTC si portano dietro una storia permanente e tracciabile. Su Monero, CLSAG recide il collegamento a ogni passaggio, ed è proprio per questo che gli utenti attenti alla privacy fanno transitare il valore attraverso Monero.
La strada davanti: FCMP++ e Seraphis
CLSAG è eccellente, ma ha un tetto strutturale: l'insieme di anonimato è limitato dalla dimensione dell'anello. Con 16 membri, la tua spesa reale si nasconde in mezzo a 15 esche — solido, ma comunque finito. La comunità di ricerca di Monero ha trascorso anni a costruire qualcosa di più ampio.
FCMP++ (Full-Chain Membership Proofs) è il successore pianificato. Invece di nascondersi tra 16 output, FCMP++ dimostra l'appartenenza rispetto a ogni output che sia mai esistito sulla catena — un insieme di anonimato dell'ordine delle decine di milioni anziché di 16. Lo sviluppo e gli audit sono avanzati costantemente per tutto il 2025, con l'aggiornamento previsto per un futuro hard fork. Quando arriverà, le firme ad anello come le conosciamo oggi, CLSAG inclusa, andranno in pensione.
Accanto a FCMP++ si collocano il protocollo di transazione Seraphis e lo schema di indirizzamento Jamtis, che insieme modernizzano il modo in cui gli output di Monero vengono formati e indirizzati. La conclusione non è che CLSAG sia obsoleta — protegge la rete adesso e lo farà ancora per parecchio tempo — ma che Monero non smette mai di migliorare le proprie garanzie di privacy. CLSAG era a sua volta la succeditrice di MLSAG, e il ciclo continua.
Domande frequenti
Cosa significa CLSAG?
CLSAG sta per Concise Linkable Spontaneous Anonymous Group signatures. Ogni parola descrive una proprietà: la firma è compatta, le doppie spese sono rilevabili, non è richiesto alcun coordinamento tra i membri dell'anello, il vero firmatario resta nascosto e la prova viene prodotta per conto di un gruppo anziché di una singola chiave identificabile.
Quando ha iniziato Monero a usare CLSAG?
CLSAG è stata attivata sulla mainnet di Monero durante l'hard fork "Oxygen Orion" il 17 ottobre 2020, all'altezza del blocco 2.210.720. Ha sostituito MLSAG, che proteggeva le transazioni RingCT fin dal gennaio 2017.
Di quanto ha reso più piccole le transazioni Monero CLSAG?
Una tipica transazione con due input si è ridotta di circa il 25%, e la verifica è diventata dal 10 al 20% più veloce. Il risparmio deriva dall'aggregazione dei due scalari di risposta per membro dell'anello in uno solo, il che riduce sia i dati memorizzati sulla catena sia il lavoro che i nodi devono fare per verificarli.
CLSAG indebolisce la privacy o la sicurezza di Monero?
No. CLSAG offre la stessa ambiguità del mittente e la stessa protezione dalla doppia spesa di MLSAG. La sua sicurezza è stata dimostrata formalmente e sottoposta a un audit indipendente, inclusa la resistenza ad attacchi in cui un avversario controlla alcune delle chiavi presenti nell'anello. È a tutti gli effetti una versione semplicemente più efficiente delle stesse garanzie.
CLSAG verrà sostituita?
Alla fine sì. L'aggiornamento FCMP++ (Full-Chain Membership Proofs) è progettato per sostituire interamente le firme ad anello, espandendo l'insieme di anonimato da 16 membri dell'anello all'intera blockchain. È stato in fase di sviluppo e audit per tutto il 2025, con l'obiettivo di un futuro hard fork, ma fino ad allora è CLSAG a proteggere la rete.
Conclusione
CLSAG è uno di quegli aggiornamenti che dimostrano come una buona crittografia possa essere allo stesso tempo invisibile e d'impatto. Ha reso ogni transazione Monero più piccola, più economica e più veloce da verificare, preservando al contempo la privacy del mittente e la protezione dalla doppia spesa che definiscono questa moneta — il tutto senza che gli utenti debbano muovere un dito. Capirla aiuta a sfatare cosa significhi davvero "non tracciabile": non magia, ma una firma ad anello costruita con cura, a cui è stata avvitata sopra una key image.
Se vuoi mettere quella privacy al lavoro, la strada più semplice è procurarti dei Monero senza consegnare la tua identità fin dall'inizio. Puoi comprare Monero in modo anonimo tramite MoneroSwapper senza account e senza KYC, e ogni output che ricevi sarà difeso dalle stesse firme CLSAG descritte qui nel momento esatto in cui lo spenderai.
🌍 Leggi in