Principianti

RingCT e FCMP++ in parole semplici

Cosa esiste oggi, cosa cambierà e perché è il più grande aggiornamento di Monero

In breve

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:

DomandaNascosto daQuanto bene
Quanto?Commitment di Pedersen + Bulletproofs+Completamente. Gli importi non sono visibili a nessuno tranne che alle parti.
Chi ha ricevuto?Indirizzi monousoCompletamente. 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."

RingCT 1 reale + 15 esche FCMP++ 1 reale + ~tutti gli output della catena
Il punto arancione è l'output reale che viene speso. A destra, in realtà, i punti sono più di cento milioni.

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."

Analogia

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.

Quando?

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