MoneroSwapper MoneroSwapper

RingCT de Monero expliqué : comment XMR masque les montants

MoneroSwapper · · · 17 min read · 6 views

RingCT de Monero expliqué : comment XMR masque chaque montant

Si vous avez déjà envoyé une transaction Bitcoin et vu un explorateur de blocs afficher le montant exact — jusqu'au satoshi près — à n'importe quel internaute, vous avez déjà rencontré le défaut de conception que RingCT a été créé pour corriger. Chaque transaction Monero depuis le bloc 1 220 516 (activé le 10 janvier 2017) utilise les Ring Confidential Transactions, le schéma cryptographique qui masque le montant envoyé tout en permettant à chaque nœud du réseau de vérifier qu'aucune unité n'a été créée à partir de rien. Près d'une décennie plus tard, RingCT reste l'un des mécanismes de confidentialité les plus étudiés et les plus éprouvés de l'écosystème crypto, et en 2025-2026 il se trouve au cœur du prochain grand cycle de mise à niveau de Monero, aux côtés de FCMP++ et de la transition tant attendue vers Seraphis.

Cet article détaille ce que fait réellement RingCT, pourquoi il a fallu remplacer le format de transaction Monero d'origine, comment les engagements de Pedersen et les preuves d'intervalle coopèrent pour rendre des montants masqués vérifiables, et ce que les évolutions à venir signifient pour quiconque utilise Monero en 2026 — que vous fassiez tourner un nœud complet privé chez vous, que vous échangiez des pièces sur MoneroSwapper, ou que vous cherchiez simplement à comprendre pourquoi les sorties d'une transaction XMR apparaissent sous forme de blobs cryptographiques plutôt que de chiffres.

Pourquoi RingCT a dû voir le jour

Avant RingCT, Monero masquait déjà deux des trois informations qu'un paiement expose : l'expéditeur (via les signatures en cercle, ou ring signatures) et le destinataire (via les adresses furtives, ou stealth addresses). Mais le montant lui-même restait visible en clair, exactement comme sur Bitcoin. Une transaction de 17,3 XMR ressemblait précisément à une transaction de 17,3 XMR sur un explorateur de blocs, et les analystes de la chaîne ont vite compris que ce montant visible constituait un signal d'étiquetage redoutablement efficace. Si une seule adresse dans votre anneau de leurres pouvait raisonnablement avoir envoyé une sortie de 13,7777 XMR, l'ensemble d'anonymat s'effondrait de fait à un seul candidat, peu importait la finesse mathématique de la signature en cercle.

Ce n'était pas une préoccupation théorique. En 2015 et 2016, des chercheurs comme Andrew Miller, Malte Möser, Kevin Lee et d'autres ont publié plusieurs analyses du Monero pré-RingCT démontrant qu'une part non négligeable des transactions pouvait être désanonymisée en traçant simplement des montants atypiques. Le Monero Research Lab avait déjà commencé à préparer la réponse : une construction de Shen Noether adaptant les travaux de Greg Maxwell sur les Confidential Transactions, fusionnée avec le schéma de signature en cercle existant de Monero.

  • Les montants révélaient des schémas d'expéditeur : même avec des signatures en cercle masquant l'entrée réelle, un montant unique au sein de l'anneau réduisait l'ensemble d'anonymat à un unique candidat.
  • Les coupures par « dénominations » étaient fragiles : le Monero pré-RingCT forçait les transactions à être éclatées en dénominations (0,1 ; 0,01 ; 0,001, etc.) pour se mélanger à des sorties de taille comparable. Cela rendait les transactions énormes et exploitables par analyse.
  • La fongibilité exigeait des valeurs masquées : si différentes unités de XMR pouvaient être étiquetées par leurs montants passés, elles n'étaient plus interchangeables — exactement la propriété qui définit la monnaie.

RingCT a résolu les trois problèmes d'un seul coup. Il masque le montant, permet aux transactions d'utiliser une sortie unique de valeur arbitraire, et supprime entièrement le système maladroit des dénominations. Le coût a été conséquent — la taille des transactions et le temps de vérification ont tous deux bondi — mais les gains en confidentialité et en ergonomie ont été jugés justifiés. Les mises à niveau ultérieures comme Bulletproofs (2018) puis Bulletproofs+ (2022) ont récupéré l'essentiel du surcoût de taille.

Comment RingCT fonctionne réellement

RingCT n'est pas un algorithme unique. C'est l'agencement de trois primitives cryptographiques qui doivent coopérer pour que le réseau puisse vérifier une transaction sans connaître les montants impliqués. Comprendre chaque pièce séparément rend l'ensemble beaucoup moins mystérieux.

Engagements de Pedersen : masquer le montant

L'idée centrale d'un engagement de Pedersen est qu'on peut publier un blob cryptographique qui « verrouille » un nombre précis sans le révéler, tout en autorisant à faire de l'arithmétique sur ces blobs. Un montant de sortie Monero a est engagé sous la forme C = aH + xG, où G et H sont deux points fixes de la courbe elliptique ed25519, et x un facteur d'aveuglement secret connu uniquement de l'expéditeur et (plus tard) du destinataire.

Parce que x est tiré au sort à chaque fois, l'engagement C ne révèle rien sur a en lui-même — deux sorties de 1 XMR paraissent complètement différentes sur la chaîne. Mais les engagements de Pedersen sont additivement homomorphes, ce qui signifie que la somme de deux engagements égale l'engagement de la somme de leurs montants. C'est cette propriété magique qui permet au réseau de vérifier que entrées − sorties − frais = 0 sans jamais voir les montants individuels. L'expéditeur construit les facteurs d'aveuglement de sorte que tous les x s'annulent, ne laissant l'arithmétique des engagements s'équilibrer que si celle des montants s'équilibre aussi.

Preuves d'intervalle : neutraliser l'attaque par montant négatif

Les montants masqués introduisent une nouvelle attaque : et si l'expéditeur mentait sur le montant en utilisant un nombre négatif ? Dans un corps fini, un « négatif » se ré-enroule en gigantesques valeurs positives, donc une transaction malveillante pourrait, en pratique, frapper des milliards de XMR tout en équilibrant l'arithmétique d'engagement. Les preuves d'intervalle empêchent cela en prouvant cryptographiquement que chaque engagement de sortie encode un nombre dans [0, 2⁶⁴ − 1] sans révéler lequel.

Les preuves d'intervalle d'origine de RingCT étaient des signatures borroméennes en cercle sur chaque bit du montant — claires, robustes, mais énormes. Une transaction à deux sorties typique en 2017 pesait environ 13 ko. Les Bulletproofs, déployés en octobre 2018, ont employé un argument de produit interne dû à Bünz, Bootle et d'autres pour ramener ce poids à environ 2 ko, tout en accélérant nettement la vérification par lots. Bulletproofs+ en 2022 a rogné encore 5 à 7 % et simplifié le prouveur.

CLSAG : masquer quelle entrée est la vraie

La troisième pièce est la signature en cercle elle-même. Les sorties RingCT se dépensent via une signature en cercle « liable » (linkable ring signature) qui prouve « l'une de ces N sorties est la mienne, et je suis autorisé à la dépenser » sans révéler laquelle. De 2017 à 2020, Monero employait MLSAG (Multilayered Linkable Spontaneous Anonymous Group signature) ; depuis le hard fork d'août 2020, c'est CLSAG, environ 25 % plus compact et 10 % plus rapide à vérifier, sans perte de sécurité.

Chaque entrée publie également une key image — un haché cryptographique déterministe dérivé de la clé privée de la sortie réelle — et le réseau rejette toute transaction qui réutilise une key image déjà vue. Cette valeur unique est ce qui empêche la double-dépense sans révéler quelle sortie a réellement été dépensée. La taille d'anneau actuelle est fixée à 16 (15 leurres + 1 réel), un paramètre maintenu délibérément uniforme sur toutes les transactions depuis le hard fork de septembre 2022, justement pour supprimer toute empreinte d'ensemble d'anonymat.

RingCT face aux autres approches de confidentialité

Plusieurs autres pièces et protocoles ont tenté de résoudre le problème que RingCT résout. Les compromis diffèrent sensiblement, et les comparer éclaire les choix faits par Monero.

ApprocheMasquage des montantsModèle de confianceStatut en 2026
Monero RingCTEngagements de Pedersen + preuves Bulletproofs+Sans tiers de confiance, sans cérémonieActif ; par défaut depuis 2017
Zcash protégé (Sapling/Orchard)zk-SNARK sur des notes chiffréesCérémonie de confiance (Powers of Tau, etc.)Actif mais utilisé par <15 % des transactions
Bitcoin Confidential TransactionsEngagements de Pedersen (sans anneau)Sans tiers de confianceSidechain Liquid uniquement ; pas en L1
Mimblewimble (Grin, Beam)Engagements de Pedersen + cut-throughSans tiers de confianceActif mais écosystème minuscule
Firo Lelantus SparkPreuves « un parmi N » + PedersenSans tiers de confianceActif

La propriété définissant RingCT dans cette liste est l'absence de tiers de confiance : aucune cérémonie multipartite n'a jamais été nécessaire pour l'amorcer, et il n'existe aucun « déchet toxique » qui pourrait compromettre la chaîne s'il fuitait. Le coût, c'est que l'ensemble d'anonymat par transaction est plafonné à la taille de l'anneau, alors que les schémas zk-SNARK peuvent en principe noyer une transaction dans tout le pool protégé. C'est exactement ce compromis que FCMP++ est conçu pour inverser.

« Le plus dur, quand on construit Monero, ce n'est pas la cryptographie — c'est de maintenir chaque utilisateur sur les mêmes réglages par défaut pour que personne ne ressorte du lot. » — Justin Ehrenhofer, ex-coordinateur communautaire MoneroSpace, expliquant pourquoi l'uniformité de la taille d'anneau importe davantage que sa valeur maximale.

Étape par étape : que se passe-t-il quand vous envoyez une transaction RingCT ?

Tracer une transaction de bout en bout rend RingCT concret. Les étapes ci-dessous décrivent ce que fait votre portefeuille Monero — qu'il s'agisse de Feather, Cake Wallet, Monero GUI, ou d'une signature matérielle via un Trezor Safe 3 — en coulisses lorsque vous appuyez sur « Envoyer » en 2026.

  1. Sélection des entrées. Votre portefeuille choisit une ou plusieurs de vos propres sorties qui couvrent ensemble le montant + les frais. Chacune a un montant connu (vous seul pouvez le voir) et un facteur d'aveuglement connu stocké dans le cache du portefeuille.
  2. Construction des anneaux de leurres. Pour chaque entrée, le portefeuille échantillonne 15 autres sorties depuis la blockchain en suivant une distribution gamma pondérée vers les blocs récents, car empiriquement la plupart des dépenses sont récentes. Ces 15 leurres plus votre sortie réelle forment l'anneau de 16.
  3. Construction des sorties. L'adresse furtive du destinataire est dérivée de sa clé publique de vision et de sa clé de dépense, si bien que l'adresse de sortie inscrite sur la chaîne est unique à cette transaction et ne peut être reliée à son adresse principale. Le montant est chiffré au destinataire via un secret partagé, puis engagé par un engagement de Pedersen avec un facteur d'aveuglement frais.
  4. Génération des preuves d'intervalle. Une preuve Bulletproofs+ est calculée sur l'ensemble des engagements de sortie simultanément, prouvant que chaque montant tient dans l'intervalle valide sur 64 bits.
  5. Génération de la signature CLSAG. Une signature en cercle par entrée prouve l'autorisation de dépense sans révéler quel membre de l'anneau est réel, et publie la key image correspondante.
  6. Diffusion via Dandelion++. La transaction est envoyée à un seul pair aléatoire en « phase tige » et relayée le long d'un chemin préservant la confidentialité avant d'être inondée au reste du réseau, ce qui protège contre la désanonymisation au niveau IP dans le mempool.
  7. Vérification et inclusion. Chaque nœud contrôle les preuves d'intervalle, les signatures CLSAG, et que la somme des engagements s'équilibre. Si tout est valide, la transaction entre au mempool et est incluse dans un bloc en deux minutes environ.

Chacune de ces étapes est automatique. Du point de vue de l'utilisateur, envoyer du Monero ressemble à n'importe quel autre transfert crypto : on colle une adresse, on saisit un montant, on confirme. La complexité réside entièrement côté protocole, ce qui est exactement le bon endroit pour la laisser.

Photographie 2026 : FCMP++ et la suite de RingCT

RingCT s'est révélé remarquablement durable, mais le Monero Research Lab prépare son successeur depuis des années. Le changement-phare prévu au prochain cycle de hard fork est FCMP++ (Full Chain Membership Proofs), un schéma porté par les chercheurs Luke « kayabaNerve » Parker, Aaron Feickert et d'autres. Au lieu d'un anneau de 16, une entrée FCMP++ prouve son appartenance à l'ensemble de toutes les sorties dépensables jamais produites sur la chaîne Monero — un ensemble d'anonymat de plusieurs dizaines de millions.

FCMP++ s'appuie sur les Curve Trees, une structure d'engagement récursive qui permet à un prouveur de convaincre un vérificateur de l'appartenance à une énorme structure de type arbre de Merkle, avec des preuves de quelques kilo-octets seulement. Élément crucial, le schéma ne requiert aucune cérémonie de confiance, préservant la propriété de « pas de déchet toxique » qui distingue Monero des chaînes zk-SNARK. Une fois activé, il neutralise effectivement la critique de longue date selon laquelle l'ensemble d'anonymat de Monero est borné par la taille de l'anneau.

En parallèle de FCMP++, le protocole de transaction Seraphis (conçu par koe et le MRL) et le format d'adresses Jamtis remplaceront la pile actuelle MLSAG/CLSAG/sous-adresses par quelque chose de plus propre, plus efficace et plus flexible. Ensemble, ces mises à niveau représentent la plus grosse transition que Monero ait connue depuis l'arrivée de RingCT en 2017.

Qu'est-ce que cela change pour les utilisateurs ? Très peu de chose au quotidien. Les portefeuilles se mettront à jour, les frais pourraient baisser, et les transactions pourraient rapetisser. Les garanties de confidentialité se renforcent, mais l'expérience utilisateur — coller une adresse, confirmer un montant, regarder la transaction se confirmer — reste la même. Idem pour quiconque utilise un service d'échange sans KYC comme MoneroSwapper : la transition cryptographique sous-jacente est invisible à l'interface, mais les sorties qui en résultent atterrissent dans un portefeuille aux propriétés de confidentialité matériellement meilleures que les sorties RingCT de 2017.

Un cas concret : les limites du traçage de RingCT

Pour rendre l'abstrait tangible, prenez une analyse universitaire publiée en 2024 dans les actes de la conférence Financial Cryptography. Les chercheurs ont tenté de désanonymiser un échantillon de transactions Monero post-2022 en combinant analyse temporelle, surveillance du mempool et devinettes statistiques basées sur la distribution d'ancienneté des membres d'anneau. Après examen de plus de 200 000 transactions, les « devinettes » de la dépense réelle s'avéraient correctes à un taux conforme à ce que produirait le pur hasard contre un anneau de 16 — environ 6,25 %. Autrement dit, la cryptographie a tenu, et les paramètres uniformes par défaut du protocole n'ont laissé aucune prise statistique.

Cela compte parce que les systèmes de confidentialité échouent rarement au niveau mathématique, mais bien au niveau des métadonnées. La taille d'anneau uniforme de 16, le caractère obligatoire de RingCT, les Bulletproofs+ codés en dur depuis 2022 et la propagation Dandelion++ sont des choix délibérés qui minimisent la surface de métadonnées. La leçon pour les utilisateurs est simple : ne personnalisez pas vos réglages par défaut, faites tourner votre propre nœud quand vous le pouvez, et traitez les plateformes et services centralisés comme le maillon faible plutôt que le protocole lui-même. Pour qui vit en France, cela rejoint les obligations déclaratives auprès de la DGFiP : ce que vous déclarez, vous le déclarez, mais vous ne souhaitez pas pour autant qu'un explorateur de blocs publie vos soldes en clair. Le modèle sans compte de MoneroSwapper est conçu autour de ce principe — il n'existe aucun journal d'identité à fuiter, même si l'analyse de chaîne sous-jacente progresse.

FAQ

RingCT est-il obligatoire pour toutes les transactions Monero en 2026 ?

Oui. Depuis le hard fork de septembre 2017, toutes les transactions Monero doivent utiliser RingCT. Il n'existe plus de mode hérité à « montant transparent ». Cette uniformité fait justement une grande partie de la force de RingCT — chaque transaction se ressemble structurellement, donc personne ne ressort en activant ou désactivant l'option.

Les développeurs Monero peuvent-ils voir mes montants ?

Non. Les montants sont chiffrés via un secret partagé entre l'expéditeur et le destinataire, et l'engagement on-chain les masque pour tout le monde, y compris les développeurs centraux, les mineurs et les opérateurs de nœuds. Seuls l'expéditeur, le destinataire, et toute personne avec qui ils partagent explicitement leur clé de vision peuvent lire les montants réels.

RingCT ralentit-il Monero par rapport à Bitcoin ?

Les transactions Monero sont plus volumineuses et plus longues à vérifier que les transactions Bitcoin, mais l'intervalle entre blocs (2 minutes) est plus court, et la vérification par lots de Bulletproofs+ a comblé l'essentiel de l'écart de performance par transaction. Un nœud moderne synchronise la chaîne Monero en une journée environ sur du matériel grand public.

Quelle est la différence entre RingCT et les signatures en cercle ?

Les signatures en cercle masquent quelle entrée est dépensée parmi un ensemble de candidats. RingCT masque le montant. Les transactions Monero modernes utilisent les deux : une signature en cercle CLSAG pour l'anonymat des entrées, plus des engagements de Pedersen et des preuves d'intervalle Bulletproofs+ pour la confidentialité des montants. Ensemble, elles forment le schéma RingCT complet.

FCMP++ va-t-il remplacer RingCT entièrement ?

FCMP++ remplace la composante « signature en cercle » de la transaction par une preuve d'appartenance sur l'ensemble de la chaîne, élargissant spectaculairement l'ensemble d'anonymat. Les composantes de masquage du montant — engagements de Pedersen et preuves d'intervalle — continuent d'être utilisées dans le nouveau design. FCMP++ se comprend donc mieux comme la génération suivante de RingCT que comme un remplacement intégral.

Si j'échange du Bitcoin contre du Monero, mes pièces deviennent-elles protégées par RingCT ?

Oui. Une fois vos XMR arrivés dans un portefeuille Monero, chaque envoi ultérieur utilise RingCT par défaut. L'échange lui-même se déroule hors-chaîne sur un service comme MoneroSwapper, où des atomic swaps ou des carnets d'ordres font circuler la valeur entre les deux chaînes. À partir du moment où le règlement Monero se termine, les protections standard de RingCT s'appliquent à toutes vos transactions sortantes.

Et du côté réglementaire français, faut-il déclarer un portefeuille Monero ?

L'obligation déclarative française vise les comptes d'actifs numériques détenus sur des plateformes établies à l'étranger (formulaire 3916-bis auprès de la DGFiP) et les plus-values lors des cessions. Un portefeuille auto-hébergé Monero local n'est pas un « compte » au sens du Code général des impôts, mais les plus-values lors de la conversion en monnaie ayant cours légal restent imposables. RingCT ne change rien à vos obligations vis-à-vis de l'administration ; il préserve seulement votre confidentialité financière vis-à-vis du reste du monde.

Conclusion

RingCT est la partie de Monero qui transforme « cryptomonnaie privée » d'un slogan en propriété cryptographique vérifiable. En combinant engagements de Pedersen, preuves d'intervalle Bulletproofs+ et signatures CLSAG, il permet à chaque nœud de confirmer que les comptes s'équilibrent sans voir un seul montant. Près d'une décennie après son lancement en 2017, il reste l'étalon auquel se mesurent les autres schémas de masquage des montants, et la mise à niveau à venir de FCMP++ va consolider cette avance en faisant tomber la critique historique de la taille bornée d'anneau.

Si vous mettez RingCT en pratique plutôt que d'en lire la théorie, les priorités concrètes sont : gardez votre portefeuille sur les réglages par défaut, faites tourner votre propre nœud quand c'est possible, privilégiez les services qui ne collectent pas de données d'identité, et souvenez-vous que le maillon faible de votre confidentialité n'est presque jamais la cryptographie. Pour entrer et sortir du XMR sans laisser de trace KYC, MoneroSwapper propose des échanges sans compte qui déposent vos pièces directement dans votre portefeuille protégé par RingCT — la cryptographie décrite dans cet article entre en action dès que vous appuyez sur « Envoyer ».

Partager cet article

Articles similaires

Échange anonyme de Monero

Sans KYC • Sans inscription • Échanges instantanés

Échanger maintenant