Monero RingCT : transactions confidentielles expliquées
RingCT de Monero : les transactions confidentielles expliquées
Ouvrez n'importe quel explorateur de blocs Bitcoin et vous lisez le montant exact de chaque transaction jamais effectuée — au satoshi près. Tapez une adresse et vous suivez son solde, vous remontez l'origine des fonds, vous voyez où ils sont partis. Cette transparence est voulue, et c'est aussi pour cela qu'un salaire, un don ou un seul dépôt fait sans précaution peut désanonymiser un portefeuille entier. Monero prend le parti inverse : sur sa chaîne, le montant lui-même est masqué. La technologie qui rend cela possible s'appelle RingCT, abréviation de Ring Confidential Transactions.
RingCT est la raison pour laquelle une transaction Monero apparaît dans le registre public sous la forme d'un engagement cryptographique plutôt que d'un nombre lisible. Le dispositif est entré en service en janvier 2017, puis est devenu obligatoire pour toutes les transactions plus tard la même année, et chaque XMR que vous envoyez depuis un portefeuille — ou que vous obtenez via un service sans compte comme MoneroSwapper — en est protégé. Cet article décortique ce que fait RingCT, les mathématiques qui permettent au réseau de vérifier une transaction sans en voir les montants, son évolution à travers Bulletproofs et Bulletproofs+, et la direction qu'il prend ensuite avec FCMP++.
Pourquoi masquer le montant change tout
La confidentialité sur une blockchain n'est pas une fonctionnalité unique ; ce sont trois problèmes qu'il faut résoudre en même temps. Laissez-en un seul à découvert et les deux autres fuient par cette brèche. Monero s'attaque aux trois, et RingCT s'occupe du troisième.
- Qui a envoyé : géré par les signatures de cercle (ring signatures), qui signent une transaction au nom d'un groupe d'émetteurs possibles, si bien qu'un observateur ne peut pas dire quel entrant est le vrai.
- Qui a reçu : géré par les adresses furtives (stealth addresses), qui génèrent une adresse à usage unique pour chaque paiement, de sorte que les fonds n'atterrissent jamais sur une adresse publique réutilisable.
- Combien a été envoyé : géré par RingCT, qui chiffre le montant dans un engagement de Pedersen tout en laissant chaque nœud confirmer que les comptes sont équilibrés.
Avant l'existence de RingCT, Monero masquait l'expéditeur et le destinataire mais laissait les montants en clair. Pour obtenir ne serait-ce qu'un minimum de confidentialité sur les montants, le protocole imposait des coupures fixes — pensez à 0,01, 0,1, 1, 10 — un peu comme lorsqu'on règle un achat en faisant l'appoint avec des pièces. Cela laissait fuir une quantité d'information surprenante. L'ensemble des leurres plausibles pour une sortie de 7,3 XMR est bien plus restreint que pour une sortie masquée, parce que les leurres devaient correspondre à la coupure. Les montants visibles permettaient aussi aux analystes de relier des transactions en suivant des valeurs identiques d'un bout à l'autre de la chaîne.
Les montants confidentiels referment ce trou. Une fois la valeur chiffrée, chaque sortie est structurellement identique à toutes les autres, ce qui constitue le fondement de la fongibilité — la propriété selon laquelle une unité de XMR est interchangeable avec n'importe quelle autre, sans historique « entaché » qu'un commerçant ou une plateforme pourrait refuser. Et cela compte un peu plus chaque année. Après le retrait du XMR des carnets d'ordres de Binance début 2024, suivi par plusieurs plateformes opérant dans l'Espace économique européen sous la pression du règlement MiCA, l'intérêt d'une monnaie dont les unités individuelles ne peuvent être ni filtrées ni placées sur liste noire n'a fait que se renforcer.
Ce qu'est réellement RingCT et comment il fonctionne
La moitié « CT » de RingCT — Confidential Transactions — est la partie qui masque les montants, et elle repose sur une brique cryptographique appelée engagement de Pedersen. La moitié « Ring » relie ce masquage des montants au schéma de signatures de cercle déjà présent dans Monero, afin que l'expéditeur reste lui aussi anonyme. Il vaut mieux prendre les deux idées séparément.
Les engagements de Pedersen : chiffrer un nombre sur lequel on peut quand même calculer
Un engagement est une manière de figer une valeur pour ne plus pouvoir la modifier ensuite, sans révéler de quoi il s'agit. Un engagement de Pedersen portant sur un montant ressemble à C = xG + aH, où a est le montant réel, x un secret aléatoire appelé facteur d'aveuglement (blinding factor), et où G et H sont des points fixes sur une courbe elliptique. C'est le facteur d'aveuglement qui rend l'engagement opaque : sans lui, deux sorties de même valeur produisent des engagements d'apparence totalement différente, impossible donc de deviner qu'elles sont égales.
La propriété magique, c'est que ces engagements sont additifs, autrement dit homomorphes. Additionnez les engagements de toutes les entrées d'une transaction, additionnez les engagements de toutes les sorties plus les frais, et si les montants réels s'équilibrent, les deux sommes sont des engagements portant sur le même total. L'expéditeur ajuste les facteurs d'aveuglement de telle façon que « entrées moins sorties » donne un engagement sur zéro. Chaque nœud du réseau peut vérifier cette équation — confirmant qu'aucune pièce n'a été créée ni détruite — sans jamais apprendre un seul montant de la transaction.
Toute l'astuce de RingCT tient en ceci : le réseau peut prouver que les comptes sont équilibrés au satoshi près, tout en étant mathématiquement incapable de lire la moindre ligne de ce compte.
Les preuves d'intervalle : empêcher de créer des pièces à partir de rien
L'équilibre homomorphe comporte une faille dangereuse. Comme les montants sont masqués, un expéditeur malveillant pourrait tenter de s'engager sur un montant négatif qui, grâce à l'arithmétique modulaire, repasserait en un nombre positif gigantesque et lui permettrait de faire surgir du XMR du néant. Pour empêcher cela, chaque sortie confidentielle est accompagnée d'une preuve d'intervalle (range proof) : une garantie cryptographique que le montant engagé se situe dans une plage valide — entre zéro et 2⁶⁴ — sans révéler où exactement dans cette plage il tombe.
Les preuves d'intervalle sont l'endroit où s'est concentré l'essentiel du poids et du coût de RingCT, et donc là où ont eu lieu les plus grandes améliorations. La première implémentation de 2017 utilisait des signatures de cercle de Borromean : correctes, mais volumineuses. Une transaction classique à deux sorties transportait environ 13 Ko de données de preuve d'intervalle, ce qui rendait les transactions Monero lourdes et les frais relativement élevés. Remplacer cette machinerie a été le grand chantier d'optimisation du protocole depuis lors.
L'évolution de RingCT : Bulletproofs, Bulletproofs+ et CLSAG
RingCT n'est pas figé : il a été ré-architecturé plusieurs fois au fil des hard forks de Monero — environ deux par an — chaque fois plus compact et plus rapide, tout en conservant les mêmes garanties de confidentialité. Les mises à niveau marquantes :
| Mise à niveau | Activation | Ce qui a changé |
|---|---|---|
| RingCT (Borromean) | Janv. 2017, obligatoire en sept. 2017 | Introduction des montants masqués via les engagements de Pedersen et les preuves d'intervalle de Borromean. |
| Bulletproofs | Oct. 2018 | Remplacement des preuves de Borromean ; la preuve d'intervalle d'une transaction à 2 sorties passe d'environ 13 Ko à 2,5 Ko, soit une taille totale réduite d'environ 80 % et des frais en baisse de plus de 95 %. |
| CLSAG | Oct. 2020 | Remplacement des signatures de cercle MLSAG ; signatures environ 25 % plus petites et vérification sensiblement plus rapide. |
| Bulletproofs+ | Août 2022 | Affinage de Bulletproofs pour gagner encore en taille et en vitesse de vérification ; le même fork a porté la taille du cercle à 16 et ajouté les view tags. |
Bulletproofs, déployé lors du hard fork d'octobre 2018, a été le tournant. En passant à une preuve d'intervalle de taille logarithmique, les données attachées à chaque transaction se sont effondrées, et les frais médians sont tombés de plusieurs dollars à des fractions de centime. C'est le changement qui explique, à lui seul, pourquoi Monero est aujourd'hui peu coûteux à utiliser. Bulletproofs+, en août 2022, a grappillé une marge supplémentaire et accéléré la vérification — ce qui compte, puisque chaque nœud doit contrôler chaque preuve.
Le volet « signatures de cercle » a évolué en parallèle. CLSAG (Concise Linkable Spontaneous Anonymous Group signatures) a remplacé l'ancienne construction MLSAG en octobre 2020, rendant le composant qui masque l'expéditeur environ un quart plus petit et plus rapide à vérifier. Ce même fork d'août 2022 qui a apporté Bulletproofs+ a aussi relevé la taille de cercle obligatoire de 11 à 16 — chaque sortie dépensée est désormais dissimulée parmi 15 leurres au lieu de 10 — et a introduit les view tags, une petite optimisation qui permet aux portefeuilles d'éviter l'essentiel du travail lorsqu'ils scannent la chaîne à la recherche de fonds entrants.
Comment se construit une transaction RingCT, étape par étape
Il est utile de voir comment les pièces s'assemblent quand votre portefeuille envoie du XMR. Rien de tout cela ne vous demande la moindre action — le portefeuille s'en charge en une ou deux secondes — mais comprendre la séquence démystifie ce qui se retrouve réellement sur la chaîne.
- Sélectionner l'entrée réelle et les leurres. Le portefeuille choisit la sortie que vous dépensez réellement et tire 15 autres sorties réelles de la chaîne pour servir de leurres, formant un cercle de 16 sources plausibles.
- Générer une image de clé. Une image de clé (key image) unique est dérivée de la sortie réelle. C'est elle qui permet au réseau de détecter une double dépense, sans pour autant pouvoir être reliée au membre du cercle dont elle provient.
- Créer les sorties furtives. Pour chaque destinataire, le portefeuille calcule une adresse furtive à usage unique, afin que le paiement ne puisse pas être rattaché à l'adresse publique du destinataire.
- Engager les montants. Chaque montant de sortie est enveloppé dans un engagement de Pedersen muni d'un facteur d'aveuglement aléatoire, et ces facteurs sont équilibrés pour que « entrées moins sorties moins frais » s'engage sur zéro.
- Attacher les preuves d'intervalle. Une preuve d'intervalle Bulletproofs+ est générée pour chaque sortie, prouvant que le montant masqué est non négatif et dans la plage autorisée.
- Signer avec CLSAG et diffuser. La signature de cercle CLSAG autorise la dépense au nom de tout le cercle, et la transaction est relayée — propagée via Dandelion++ pour brouiller l'adresse IP d'origine avant qu'elle n'atteigne le mempool public.
Le résultat qui atterrit sur la blockchain ne contient aucun expéditeur lisible, aucun destinataire lisible, aucun montant lisible — uniquement des engagements, des preuves et un cercle de possibilités — et reste pourtant entièrement vérifiable par chaque nœud.
Ce que les transactions confidentielles changent pour vous, concrètement
Le bénéfice concret de RingCT, c'est la fongibilité et la résistance à la surveillance, et cela se manifeste dans des situations très précises. Prenez un freelance payé en cryptomonnaie. Sur une chaîne transparente, chaque client peut voir le solde complet du portefeuille et tous les autres paiements qu'il a jamais reçus ; une seule adresse divulguée expose l'ensemble. Sur Monero, le paiement entrant est une sortie furtive au montant masqué — le client n'apprend rien au-delà de la transaction qu'il a lui-même envoyée.
Cela change aussi la façon dont l'« analyse de chaîne » s'exerce contre vous. Les sociétés qui vendent de la criminalistique blockchain ont bâti leur activité sur le regroupement d'adresses et le suivi des montants. RingCT supprime entièrement le signal du montant, les signatures de cercle brouillent la source, et les adresses furtives cassent le lien avec la destination. Il n'y a pas de solde à consulter, pas de piste financière propre à remonter — c'est précisément pour cela que le traçage des cryptomonnaies de confidentialité reste un problème non résolu plutôt qu'une fonctionnalité vendable.
C'est aussi pour cela que la manière d'acquérir compte. Si vous achetez du XMR sur une plateforme très surveillée qui relie votre identité à une sortie précise sur la chaîne, vous avez créé un point de départ connu, même si la chaîne elle-même est privée. Passer par un service d'échange comme MoneroSwapper, qui ne détient pas de compte et n'exige pas de pièce d'identité, garde ce premier saut propre, de sorte que la confidentialité offerte par RingCT sur la chaîne n'est pas sapée par une traçabilité hors chaîne. Rien de tout cela ne constitue un conseil fiscal — en France, la DGFiP continue de traiter les cessions d'actifs numériques comme des événements imposables, soumis au régime des plus-values, quelle que soit la confidentialité de la chaîne — mais cela signifie que le réseau lui-même ne diffuse pas vos finances à quiconque dispose d'un explorateur de blocs.
Vers quoi se dirige RingCT : FCMP++
Le masquage des montants par RingCT est solide comme le roc, mais l'anonymat de l'expéditeur a un plafond théorique : un cercle de 16 signifie que la vraie dépense est l'une de 16 candidates, et l'analyse statistique peut, à l'occasion, grignoter ces probabilités. La réponse de Monero, en développement actif tout au long de 2025 et 2026, c'est FCMP++ — les preuves d'appartenance à la chaîne complète (full-chain membership proofs). Au lieu de dissimuler une dépense parmi 15 leurres, FCMP++ la dissimulerait parmi toutes les sorties éligibles ayant jamais existé sur la chaîne, faisant passer l'ensemble d'anonymat de 16 à plusieurs dizaines de millions.
Point crucial : FCMP++ remplace le composant « signature de cercle », et non le composant « transaction confidentielle ». Les engagements de Pedersen et les preuves d'intervalle Bulletproofs+ qui masquent les montants restent en place ; ce qui change, c'est la manière de prouver l'appartenance à l'ensemble des sorties dépensables. Plus loin encore, le protocole de transaction Seraphis et le schéma d'adressage Jamtis sont conçus pour s'appuyer sur cette fondation. La leçon pour l'utilisateur est simple : la confidentialité des montants assurée par RingCT est une brique mûre et stabilisée de Monero, et le protocole ne cesse de renforcer ce qui l'entoure.
FAQ
Que masque réellement RingCT ?
RingCT masque le montant d'une transaction Monero. Il chiffre chaque valeur dans un engagement de Pedersen, de sorte que le chiffre n'est jamais inscrit en clair sur la blockchain, tout en laissant chaque nœud vérifier que les entrées sont égales aux sorties plus les frais. L'expéditeur et le destinataire, eux, sont masqués par des mécanismes distincts — les signatures de cercle et les adresses furtives — avec lesquels RingCT fonctionne de concert.
Si les montants sont masqués, comment le réseau empêche-t-il les fausses pièces ?
Deux garde-fous. La propriété homomorphe des engagements de Pedersen permet aux nœuds de confirmer que les entrées et les sorties masquées s'équilibrent à zéro, donc qu'aucune valeur n'est créée ni détruite. Et une preuve d'intervalle attachée à chaque sortie garantit que le montant engagé est non négatif et dans une plage valide, ce qui bloque l'astuce du dépassement (overflow) que permettraient sinon des montants négatifs masqués.
Quelle est la différence entre RingCT et les signatures de cercle ?
Ils résolvent des problèmes différents et sont souvent confondus parce que les noms se chevauchent. Les signatures de cercle masquent qui a envoyé une transaction en signant au nom d'un groupe d'émetteurs possibles. RingCT masque combien a été envoyé à l'aide d'engagements confidentiels. RingCT intègre les deux pour que les deux protections s'appliquent à la même transaction.
Bulletproofs a-t-il remplacé RingCT ?
Non. Bulletproofs et Bulletproofs+ sont des mises à niveau au sein de RingCT — précisément du composant de preuve d'intervalle. Elles ont remplacé les anciennes preuves de Borromean, plus volumineuses, réduisant la taille des transactions d'environ 80 % et les frais de bien plus de 90 %, mais le cadre global de RingCT et ses montants masqués sont restés les mêmes.
RingCT sera-t-il supprimé quand FCMP++ arrivera ?
Non. FCMP++ doit remplacer les signatures de cercle de Monero par des preuves d'appartenance à la chaîne complète, élargissant considérablement l'ensemble d'anonymat de l'expéditeur. La machinerie des montants confidentiels — engagements de Pedersen et preuves d'intervalle Bulletproofs+ — est censée rester. Autrement dit, FCMP++ renforce la confidentialité de l'expéditeur sans défaire la confidentialité des montants qu'apporte RingCT.
Conclusion
RingCT est le moteur discret de la confidentialité de Monero : il transforme chaque montant de la chaîne en un engagement que le réseau peut vérifier mais que personne ne peut lire, et il le fait tandis que les preuves d'intervalle maintiennent l'offre honnête. Combiné aux signatures de cercle qui masquent l'expéditeur et aux adresses furtives qui masquent le destinataire, c'est ce qui fait qu'une sortie Monero ressemble à toutes les autres et ne peut être ni filtrée, ni mise sur liste noire, ni tracée par la valeur. À travers Bulletproofs, Bulletproofs+ et CLSAG, il n'a fait que devenir moins cher et plus rapide, et avec FCMP++ à l'horizon, la confidentialité qui l'entoure ne cesse de se renforcer. Si vous voulez des pièces qui portent cette protection dès l'instant où vous les obtenez, vous pouvez acheter du Monero anonymement via MoneroSwapper et laisser RingCT faire le reste dès votre première transaction.
🌍 Lire en