RingCT e FCMP++ in parole semplici
Cosa esiste oggi, cosa cambierà e perché è il più grande aggiornamento di Monero
RingCT (oggi): il tuo input reale è nascosto tra 15 input casuali di altre persone. Importi e destinatari sono completamente nascosti; il mittente è "uno di 16".
FCMP++ (presto): il tuo input reale è nascosto tra tutti gli output mai creati su Monero. Le esche non servono più e la maggior parte degli attacchi che le riguardano sparisce.
Cosa nasconde esattamente RingCT
RingCT non è una singola tecnologia ma un pacchetto di tre. Soprattutto, due delle tre funzionano già benissimo oggi, e FCMP++ le tocca appena:
| Domanda | Nascosto da | Quanto bene |
|---|---|---|
| Quanto? | Commitment di Pedersen + Bulletproofs+ | Completamente. Gli importi non sono visibili a nessuno tranne che alle parti. |
| Chi ha ricevuto? | Indirizzi monouso | Completamente. Il tuo indirizzo non arriva mai sulla blockchain. |
| Chi ha inviato? | Ring signature (16 membri) | In parte. "Uno di 16" è una probabilità, e può essere ristretta. |
L'anello debole è la terza riga. Ed è proprio quella che FCMP++ sostituisce.
Come funziona un ring: l'intuizione
Per spendere una moneta devi dimostrare che è tua. Monero dice: "non mostrare quale moneta è tua. Prendi altre 15 monete dalla blockchain e dimostra che una di queste 16 è tua."
Il tuo wallet sceglie le esche a caso, ma non in modo uniforme: gli output recenti vengono scelti più spesso, perché le persone tendono a spendere denaro ricevuto di recente. Se le esche fossero uniformemente "vecchie", l'input reale spiccherebbe per la sua giovinezza.
RingCT: pro e contro
+ Punti di forza
- Importi e destinatari sono nascosti in modo completo e affidabile.
- La privacy è obbligatoria per tutte le transazioni: la folla è grande.
- Crittografia collaudata da anni (CLSAG, Bulletproofs+), con audit.
- Transazioni relativamente compatte (~1,5–2 KB per una tipica 2-in/2-out) che si verificano rapidamente.
- Ogni transazione, presa da sola, offre una negabilità plausibile: "potrei non essere stato io".
− Punti deboli
- L'insieme di anonimato è di soli 16. È poco se un avversario può escludere dei candidati.
- Attacchi di esclusione: se un avversario sa che un'esca è stata in realtà spesa altrove (o è sua), il cerchio si restringe.
- Attacco EAE: un exchange che ha visto il denaro fare "andata e ritorno" può collegare input e output con alta probabilità.
- Flooding: qualcuno crea in massa i propri output, che diventano le tue esche, "vuote" per lui.
- I bug nella selezione delle esche (ce ne sono stati) rendono l'input reale statisticamente visibile.
- Molti input in una sola transazione (consolidamento): un legame visibile tra i ring.
Ogni punto debole è trattato in dettaglio nella pagina Punti deboli di RingCT.
Cosa cambia FCMP++
FCMP++ sta per Full-Chain Membership Proofs (prove di appartenenza sull'intera catena). Il "più più" è perché alla prova di appartenenza viene aggiunto qualcos'altro (vedi sotto).
L'idea: invece di "il mio output è uno di questi 16", una transazione dimostra che "il mio output è uno di tutti gli output della blockchain", senza elencarli. Come, con oltre cento milioni di output? Tutti gli output vengono raccolti in un albero speciale (simile a un albero di Merkle: un Curve Tree) con un'unica radice. La transazione dimostra a conoscenza zero: "conosco un percorso da una certa foglia fino a questa radice, e possiedo la chiave di quella foglia."
RingCT: "il denaro l'ha dato una di queste 16 persone nella stanza". Un investigatore può interrogarle una per una e cancellare quelle che hanno un alibi.
FCMP++: "il denaro l'ha dato qualcuno che vive nel paese". Cancellare persone è inutile.
Cos'altro arriva con FCMP++
- Niente esche, niente problemi di esche. Flooding, attacchi EAE e statistiche sull'età degli input perdono praticamente di significato.
- Forward secrecy. Se un giorno comparisse un computer quantistico in grado di rompere le curve ellittiche, potrebbe falsificare nuove transazioni ma non potrebbe rivelare a posteriori quali output sono stati spesi nelle vecchie transazioni FCMP++ (purché l'indirizzo del destinatario non fosse pubblico). Questo vale per gli output creati dopo il passaggio; i vecchi output RingCT non ottengono questa protezione.
- Un nuovo schema di indirizzi, Carrot: i vecchi indirizzi continuano a funzionare, ma compaiono nuovi tipi di chiave, per esempio una chiave che vede sia i pagamenti in entrata sia quelli in uscita (un wallet in sola visualizzazione onesto) senza il diritto di spendere.
- Basi per il futuro: multisig più semplice, transazioni che si possono firmare in anticipo.
FCMP++: pro e contro
+ Pro
- L'insieme di anonimato è l'intera blockchain (ordini di grandezza più di 16).
- Gli attacchi basati sulle esche spariscono.
- Forward secrecy quantistica per la storia delle spese.
- Migliori wallet in sola visualizzazione e separazione dei permessi (Carrot).
- Gli indirizzi e le seed phrase esistenti continuano a funzionare.
− Contro e costi
- Le transazioni sono più grandi e più lente da verificare rispetto a RingCT (soprattutto con molti input).
- Crittografia nuova e complessa: nuove curve (Helios/Selene), nuove prove. Servono audit; gli errori costano di più.
- Costruire una transazione è più pesante per dispositivi poco potenti e hardware wallet.
- I nodi devono mantenere un albero di tutti gli output.
- Non risolve i problemi fuori dalla catena: indirizzi IP, metadati, comportamento degli utenti.
Cosa cambia per un utente comune?
Quasi nulla di visibile. Dopo l'hard fork, i wallet inizieranno a creare il nuovo tipo di transazione. La tua seed phrase e i tuoi indirizzi continuano a funzionare. Le commissioni potrebbero aumentare un po' a causa delle dimensioni delle transazioni. Le vecchie monete si possono spendere, e anche loro ottengono "l'intera blockchain" come insieme di anonimato.
FCMP++ richiede un hard fork. A novembre 2026 non è ancora attivo sulla mainnet: sono in corso test pubblici e una bozza di piano non vincolante punta all'attivazione all'inizio del 2027. Maggiori dettagli in migrazione a FCMP++.
Dove andare dopo
- Ring signature: come funziona matematicamente "uno di 16".
- Punti deboli di RingCT: in dettaglio, con esempi.
- FCMP++: panoramica tecnica.