Débutants

RingCT et FCMP++ en mots simples

Ce qui existe aujourd’hui, ce qui va changer, et pourquoi c’est la plus grande mise à niveau de Monero

En bref

RingCT (aujourd’hui) : votre entrée réelle est cachée parmi 15 entrées aléatoires d’autres personnes. Les montants et les destinataires sont entièrement cachés ; l’expéditeur est « l’un des 16 ».

FCMP++ (bientôt) : votre entrée réelle est cachée parmi toutes les sorties jamais créées sur Monero. Les leurres ne sont plus nécessaires, et la plupart des attaques qui les visent disparaissent.

Ce que RingCT cache exactement

RingCT n’est pas une seule technologie mais un ensemble de trois. Point important : deux des trois fonctionnent déjà très bien aujourd’hui, et FCMP++ n’y touche presque pas :

QuestionCachée parAvec quelle efficacité
Combien ?Engagements de Pedersen + Bulletproofs+Totalement. Les montants ne sont visibles que par les parties.
Qui a reçu ?Adresses à usage uniqueTotalement. Votre adresse n’atteint jamais la blockchain.
Qui a envoyé ?Signatures en anneau (16 membres)Partiellement. « L’un des 16 » est une probabilité, et on peut la resserrer.

Le maillon faible est la troisième ligne. C’est précisément ce que FCMP++ remplace.

Comment fonctionne un anneau — l’intuition

Pour dépenser une pièce, vous devez prouver qu’elle est à vous. Monero dit : « ne montre pas quelle pièce est la tienne. Prends 15 autres pièces dans la blockchain et prouve que l’une de ces 16 est à toi. »

RingCT 1 réelle + 15 leurres FCMP++ 1 réelle + ~toutes les sorties de la chaîne
Le point orange est la sortie réelle dépensée. À droite, il y a en réalité plus de cent millions de points.

Votre portefeuille choisit les leurres au hasard, mais pas de façon uniforme : les sorties récentes sont choisies plus souvent, parce que les gens ont tendance à dépenser de l’argent récent. Si les leurres étaient uniformément « vieux », l’entrée réelle se distinguerait par sa jeunesse.

RingCT : avantages et inconvénients

+ Points forts

  • Les montants et les destinataires sont cachés totalement et de manière fiable.
  • La confidentialité est obligatoire pour toutes les transactions — la foule est grande.
  • Une cryptographie éprouvée depuis des années (CLSAG, Bulletproofs+), avec des audits.
  • Des transactions relativement compactes (~1,5–2 Ko pour une transaction typique à 2 entrées/2 sorties) et rapides à vérifier.
  • Chaque transaction, prise isolément, offre un déni plausible : « ce n’était peut-être pas moi ».

− Points faibles

  • L’ensemble d’anonymat n’est que de 16. C’est peu si un adversaire peut éliminer des candidats.
  • Attaques par exclusion : si un adversaire sait qu’un leurre a en réalité été dépensé ailleurs (ou qu’il lui appartient), le cercle se rétrécit.
  • Attaque EAE : une plateforme d’échange qui a vu l’argent faire « l’aller-retour » peut relier l’entrée et la sortie avec une forte probabilité.
  • Inondation (flooding) : quelqu’un crée en masse ses propres sorties, qui deviennent vos leurres — des leurres « vides » pour lui.
  • Des bugs dans la sélection des leurres (il y en a eu) rendent l’entrée réelle statistiquement visible.
  • Plusieurs entrées dans une même transaction (consolidation) — un lien visible entre les anneaux.

Chaque faiblesse est détaillée sur la page Les faiblesses de RingCT.

Ce que FCMP++ change

FCMP++ signifie Full-Chain Membership Proofs (preuves d’appartenance à toute la chaîne). Le « plus-plus » vient de ce qu’on ajoute quelque chose de plus à la preuve d’appartenance (voir plus bas).

L’idée : au lieu de « ma sortie est l’une de ces 16 », une transaction prouve « ma sortie est l’une de toutes les sorties de la blockchain » — sans les énumérer. Comment, avec plus de cent millions de sorties ? Toutes les sorties sont rassemblées dans un arbre spécial (semblable à un arbre de Merkle — un Curve Tree) doté d’une seule racine. La transaction prouve à divulgation nulle de connaissance : « je connais un chemin d’une certaine feuille jusqu’à cette racine, et je détiens la clé de cette feuille. »

Analogie

RingCT : « l’argent a été donné par l’une de ces 16 personnes présentes dans la salle ». Un enquêteur peut les interroger une par une et rayer celles qui ont un alibi.

FCMP++ : « l’argent a été donné par quelqu’un qui habite dans le pays ». Rayer des gens n’a plus aucun sens.

Ce qui arrive aussi avec FCMP++

  • Plus de leurres, plus de problèmes de leurres. L’inondation, les attaques EAE et les statistiques sur l’âge des entrées perdent pratiquement leur sens.
  • Confidentialité persistante (forward secrecy). Si un jour apparaît un ordinateur quantique capable de casser les courbes elliptiques, il pourrait forger de nouvelles transactions mais ne pourrait pas révéler rétroactivement quelles sorties ont été dépensées dans les anciennes transactions FCMP++ (tant que l’adresse du destinataire n’était pas publique). Cela vaut pour les sorties créées après la transition ; les anciennes sorties RingCT ne bénéficient pas de cette protection.
  • Un nouveau schéma d’adressage, Carrot : les anciennes adresses continuent de fonctionner, mais de nouveaux types de clés apparaissent — par exemple une clé qui voit à la fois les paiements entrants et sortants (un vrai portefeuille en lecture seule) sans le droit de dépenser.
  • Des bases pour l’avenir : un multisig plus simple, des transactions qui peuvent être signées à l’avance.

FCMP++ : avantages et inconvénients

+ Avantages

  • L’ensemble d’anonymat, c’est toute la blockchain (des ordres de grandeur de plus que 16).
  • Les attaques fondées sur les leurres disparaissent.
  • Confidentialité persistante face au quantique pour l’historique des dépenses.
  • De meilleurs portefeuilles en lecture seule et une meilleure séparation des droits (Carrot).
  • Les adresses et seeds existantes continuent de fonctionner.

− Inconvénients et coûts

  • Les transactions sont plus grosses et plus lentes à vérifier qu’avec RingCT (surtout avec beaucoup d’entrées).
  • Une cryptographie nouvelle et complexe : de nouvelles courbes (Helios/Selene), de nouvelles preuves. Des audits sont nécessaires ; les erreurs coûtent plus cher.
  • Construire une transaction est plus lourd pour les appareils peu puissants et les portefeuilles matériels.
  • Les nœuds doivent maintenir un arbre de toutes les sorties.
  • Ne résout pas les problèmes hors chaîne : adresses IP, métadonnées, comportement des utilisateurs.

Qu’est-ce qui change pour un utilisateur ordinaire ?

Presque rien de visible. Après le hard fork, les portefeuilles commenceront à créer le nouveau type de transaction. Votre seed et vos adresses continuent de fonctionner. Les frais pourraient augmenter un peu à cause de la taille des transactions. Les anciennes pièces peuvent être dépensées — et elles aussi bénéficient de « toute la blockchain » comme ensemble d’anonymat.

Quand ?

FCMP++ nécessite un hard fork. En novembre 2026, il n’est pas encore actif sur le mainnet : des tests publics sont en cours, et un projet de calendrier non contraignant vise une activation début 2027. Plus de détails dans la migration vers FCMP++.

Pour aller plus loin