Comment fonctionne Monero ?
La vue d’ensemble : un registre public où rien n’est lisible — et où pourtant tout est vérifiable
Monero est une monnaie électronique, comme Bitcoin : un registre partagé (la blockchain) tenu par des milliers d’ordinateurs, sans banque au milieu. La différence, c’est que le registre de Monero ne montre ni qui a envoyé, ni qui a reçu, ni combien. Et pourtant, chaque participant peut vérifier que personne n’a créé de l’argent à partir de rien ni dépensé deux fois la même pièce.
Le problème : une blockchain est un portefeuille en verre
La blockchain de Bitcoin est un tableau public. N’importe qui peut ouvrir un explorateur de blocs et voir que 0,3 BTC sont passés de l’adresse bc1q…a7 à l’adresse bc1q…f2. Il n’y a pas de noms, mais dès qu’une adresse est associée à une personne (un paiement vers une plateforme d’échange, un virement à un ami, une adresse de dons publiée en ligne), tout son historique devient visible : combien elle possède, qui elle paie, qui la paie.
Monero fait en sorte qu’aucune de ces trois informations ne puisse être lue dans le registre. Chacune repose sur sa propre technique.
1. Qui a reçu ? — les adresses à usage unique
Vous avez une adresse publique (une longue chaîne qui commence par 4). Mais elle n’apparaît jamais sur la blockchain. L’expéditeur prend votre adresse, y mélange un nombre aléatoire et calcule une toute nouvelle adresse à usage unique. C’est là que l’argent est envoyé.
Un observateur extérieur voit des millions d’adresses à usage unique et ne peut pas dire lesquelles appartiennent à la même personne. Votre portefeuille, grâce à sa clé de visualisation secrète, examine chaque nouvelle transaction et reconnaît « les siennes ».
Imaginez une boîte aux lettres à laquelle pousse une nouvelle fente, avec un nouveau numéro, pour chaque lettre. Vous seul savez que toutes ces fentes mènent à votre boîte.
2. Combien ? — les montants cachés
Au lieu d’un montant, la blockchain stocke un engagement (commitment) — un nombre qui « verrouille » le montant à l’intérieur. On ne peut pas retrouver le montant à partir de l’engagement, mais les engagements ont une propriété magique : on peut les additionner. Le réseau additionne les engagements des entrées et des sorties et vérifie que le solde est équilibré — sans connaître aucun des montants.
Il reste une faille : et si quelqu’un inscrivait un montant négatif ? « −100 + 101 = 1 » est aussi équilibré, et de l’argent apparaît de nulle part. C’est pourquoi chaque sortie est accompagnée d’une preuve d’intervalle (Bulletproofs+) : une courte preuve que le nombre caché n’est pas négatif et n’est pas gigantesque.
3. Qui a envoyé ? — les anneaux (et bientôt, toute la blockchain)
Quand vous dépensez une pièce, vous devez prouver qu’elle vous appartient. Dans Bitcoin, c’est une signature qui désigne directement la sortie dépensée. Monero utilise aujourd’hui une signature en anneau : vous prenez votre sortie plus 15 sorties aléatoires d’autres personnes dans la blockchain (des leurres) et vous signez de façon à convaincre le vérificateur que « le propriétaire de l’une de ces 16 a signé » — sans révéler laquelle.
Alors comment empêcher qu’une même pièce soit dépensée deux fois ? Chaque sortie, lorsqu’elle est dépensée, laisse une « empreinte » unique — une key image (image de clé). Le réseau conserve toutes les key images et rejette toute transaction dont la key image a déjà été vue. La key image ne permet pas de savoir laquelle des 16 sorties a été dépensée, mais on ne peut pas la dépenser une seconde fois.
Un anneau de 16 est un compromis : un anneau plus grand signifie plus de confidentialité, mais des transactions plus lourdes et plus lentes. Ce compromis a des faiblesses connues. C’est pourquoi Monero se prépare à passer à FCMP++ : au lieu de 16 candidates, l’entrée réelle pourra être n’importe quelle sortie de toute la blockchain — plus de cent millions de possibilités.
Tout ensemble : RingCT
La combinaison « signatures en anneau + montants cachés + adresses à usage unique » s’appelle RingCT (Ring Confidential Transactions, transactions confidentielles en anneau). Elle est obligatoire pour toutes les transactions Monero depuis 2017. Dans Monero, la confidentialité n’est pas une option qu’on peut oublier d’activer : toutes les transactions se ressemblent, si bien que la vôtre se cache dans la foule de toutes les autres.
Pour le reste, c’est comme Bitcoin
Sous la couche de confidentialité, Monero est une cryptomonnaie ordinaire :
- Blockchain — une chaîne de blocs, avec un nouveau bloc environ toutes les 2 minutes.
- Minage — Proof-of-Work (preuve de travail) avec RandomX, conçu pour convenir aux processeurs ordinaires.
- Émission — l’émission principale s’est terminée en 2022 ; désormais, chaque bloc apporte 0,6 XMR, pour toujours (émission de queue).
- Nœuds — n’importe qui peut faire tourner
monerodet vérifier lui-même chaque règle.
À lire ensuite
- Pourquoi la confidentialité ? — sur la fongibilité de la monnaie.
- RingCT et FCMP++ en mots simples — si c’est pour ça que vous êtes venu.
- La courbe Ed25519 — le début de la partie technique.