Monero, qui signifie “monnaie” en Esperanto, est l’une des plus anciennes cryptodevises, et pourtant sa substance reste peu connue du public. Son protocole tente de résoudre un des plus gros défis auquel les développeurs de monnaies cryptographiques sont confrontés : offrir des transactions réellement confidentielles.
Monero s’appuie sur le protocole CryptoNote, et utilise différents outils afin de garantir un haut niveau de confidentialité des transactions : les signatures de cercle et les adresses furtives.
Créé par un développeur sous pseudonyme, comme Bitcoin, Monero est aujourd’hui développé conjointement par une équipe composée d’experts en cryptographie. Plus de 200 personnes ont collaboré à ce projet.
Le but des créateurs de cette crypto-monnaie est de pallier à certaines faiblesses que comportent de nombreuses blockchains ouvertes quant à la protection de la vie privée des utilisateurs.
Le problème de la fongibilité :
La notion de fongibilité qualifie le caractère interchangeable d’un actif. Dans le cas de la monnaie, cela signifie que toutes les unités de compte doivent être égales : un billet de cent euros vaudra toujours la même valeur qu’un autre billet de cent euros ou que deux billets de cinquante.
Sur le réseau Bitcoin, la fongibilité signifie que tous les bitcoins doivent avoir la même valeur indépendamment de leur historique, ou de l’entité qui les possède.
Cette propriété n’est pas automatique dans le cas des monnaies cryptographiques décentralisées : dans le cas de Bitcoin, la traçabilité des transactions inscrites dans la blockchain pose des problèmes de fongibilité. Certains coins sont jugés “sales”, lorsque l’historique des transactions associées comporte des opérations illégales (bitcoins volés, ou ayant servi a acheter des produits illicites). Par exemple, Coinbase refuse automatiquement les coins qui sont passés par certains dark markets, ou ayant servi à jouer en ligne.
Cela pose un gros problème quant au bon fonctionnement du réseau décentralisé, car tous les coins ne sont pas égaux. Certains utilisateurs sont même prêts à payer des frais supplémentaires pour “blanchir” leurs coins en utilisant des services de mixage.
La confidentialité des transactions :
La confidentialité des transactions est donc nécessaire pour assurer la fongibilité d’une monnaie décentralisée; mais également pour permettre à des entreprises ou à des banques d’utiliser ce nouveau type de monnaie sans divulguer des données sensibles. Aucune entreprise n’a envie de communiquer le détail de ses opérations financières à ses concurrents, tout comme le particulier ne ressent pas forcément le besoin de communiquer au monde entier la nature et le montant des achats qu’il effectue.
Si de nombreuses solutions sont proposées sur le réseau Bitcoin, Monero fut créé dès le départ dans le but d’assurer un haut niveau de confidentialité des transactions via différents procédés. Le succès de cette crypto-monnaie est dû à cette propriété essentielle.
Le protocole CryptoNote :
Il s’agit du préalable cryptographique à la genèse de Monero.
CryptoNote est un protocole open-source permettant d’assurer l’anonymat des contreparties et la confidentialité des transactions, servant de base à plusieurs crypto-monnaies. Contrairement au réseau Bitcoin, une blockchain administrée via CryptoNote ne révèle pas l’origine ou la destination des unités de compte.
- Anonymat de l’émetteur : il est assuré en utilisant plusieurs clefs publiques pour signer une transaction (signatures de cercle). Les noeuds du réseau peuvent prouver que la transaction a bien été signée par l’émetteur; mais sans être en mesure d’identifier la clef qui a été utilisée.
- Anonymat du récepteur : le protocole permet de générer une paire de clefs à usage unique pour chaque transaction (adresses furtives). Il est alors impossible pour une tierce partie de déterminer si certaines transactions sont envoyées au même récepteur.
- Protection contre les doubles-dépenses : l’ancêtre des signatures de cercle (les signatures de groupe) s’appuyait sur une tierce partie pour protéger le système contre les double-dépenses. Désormais, chaque adresse furtive laisse une empreinte dans la blockchain et le protocole rejette toute transaction impliquant une adresse furtive qui a déjà été utilisée.
- Preuve de travail “égalitaire” : le système souhaite assurer la linéarité entre l’investissement financier et la puissance de hachage correspondante, quel que soit le matériel utilisé pour miner, qu’il s’agisse des GPUs/FPGA/ASICs ou des CPUs.
CryptoNote fut le premier protocole à implémenter les signatures de cercle et les adresses furtives. Le dernier hard fork de Monero a permis d’implémenter des améliorations, inspirées notamment par le développeur de Bitcoin Core Gregory Maxwell.
Les signatures de cercle (ring signatures) :
Il existe plusieurs versions de ce tour de passe-passe cryptographique, mais le but est toujours le même : cacher la clef publique associée à la clef privée ayant servi à signer une transaction tout en étant en mesure de prouver que la signature est bien authentique. Dans le cas de Monero, le protocole s’appuie sur les travaux d’Eiichiro Fujisaki et de Koutarou Suzuki.
Une signature de cercle permet de signer un message au nom d’un ensemble de clefs publiques : il est impossible d’identifier l’auteur de la signature parmi l’ensemble des signataires (il y a équiprobabilité des émetteurs de la transaction parmi les signataires). Les noeuds du réseau peuvent juste s’assurer que la signature est correcte : il faut obligatoirement posséder une clef privée associée à l’une des clefs publiques utilisées pour que la signature soit correcte, mais il est impossible de lier une signature à l’adresse publique de l’émetteur de la transaction.
Chaque émetteur d’un paiement doit obligatoirement prouver qu’il dépense des sorties non-dépensées (UTXOs) comme dans le cas de Bitcoin, mais ces UTXOs n’ont pas à être connues pour effectuer la vérification. Dans la pratique, cela signifie que lorsqu’un utilisateur souhaite effectuer une transaction de 50 XMR, il utilisera, par exemple, (22 XMR + 10 XMR + 3.8 XMR + 6.7 XMR + 6.5 XMR) provenant de différentes adresses inconnues.
Les adresses furtives (stealth adresses) :
Chaque compte Monero possède :
- Une adresse publique,
- Une clef de dépense privée (spend key) : cette clef privée permet d’émettre le paiement,
- Une clef d’observation (view key) qui permet de visualiser les transactions entrantes vers le compte. Privée par défaut, elle peut être partagée afin de divulguer le solde d’un compte Monero.
Le système des adresses furtives permet à l’émetteur d’une transaction de créer des adresses à usage unique, aléatoires, pour le compte du récepteur. La clef privée de ces adresses est également liée au compte du récepteur, mais il est impossible d’identifier son adresse publique associée pour une tierce partie sans connaître sa clef d’observation. Par ce procédé cryptographique, seules les contreparties impliquées peuvent avoir connaissance de la transaction.
Monero dans la pratique :
Le marché :
La capitalisation de Monero est valorisée à près de 2 milliards de dollars. Le cours du XMR a dépassé les 130 $, pour un volume d’échange journalier dépassant désormais les 120 M$.
L’arrivée de Monero sur les plateformes de change coréennes a fait monter son cours en flèche la semaine passée. Les transactions sont beaucoup moins lentes à effectuer que lorsqu’on utilise Zcash, une autre crypto-monnaie axée sur la confidentialité utilisant les preuves à divulgation nulle de connaissance (zk-SNARKs), beaucoup plus lentes à générer.
Il est évident que la confidentialité des transactions effectuées sur le réseau Monero n’attire pas que des entités menant des activités légales : Monero est de plus en plus utilisé sur les dark markets. Avant tout, ce haut niveau de confidentialité offre de nombreux avantages aux professionnels qui respectent la loi mais souhaitent protéger des informations sensibles (par exemple un commerçant ne souhaitant pas divulguer l’identité de ses clients ou le montant des transactions effectuées) : cette crypto-monnaie présente donc un beau potentiel de croissance.
Le minage de Monero :
Miner du Monero est actuellement très rentable : l’algorithme de preuve de travail utilisé est CryptoNight, et la profitabilité du minage de XMR est supérieure, par exemple, à celles de Bitcoin et Bitcoin Cash. Le site cryptogains.fr a réalisé deux tutoriels en français disponibles ici :
Comment miner du Monero (cartes nVidia)
Emission et réception d’une transaction :
Plusieurs wallets multi-devises gèrent Monero, mais afin de bénéficier de l’ensemble des fonctionnalités offertes par le protocole il est nécessaire d’installer le logiciel client complet sur votre ordinateur. Les sources sont disponibles ici, et de nombreuses langues sont supportées, dont le français.
Après installation du logiciel client, il faudra télécharger l’intégralité de la blockchain sur votre disque dur. Sa taille est d’environ 25 Go. Afin de lancer la synchronisation avec le réseau, il faut lancer l’exécutable “monerod.exe” présent à la racine du dossier. Il est possible de modifier le chemin d’accès à la blockchain, qui se trouve par défaut dans le répertoire C:\ProgramData\bitmonero\lmdb :
- Soit en passant par l’invite de commande :
{cmd.exe, touche Windows + R} et en ajoutant "--data-dir N:\nouveau\chemin\d'accès"
- Soit en modifiant le champ “Daemon startup flags” (“Options de démarrage” en français) de l’onglet “Settings” (“Réglages”) dans l’interface graphique utilisateur.
La création d’un nouveau portefeuille est tout à fait classique, si ce n’est que la graine (phrase mnémonique, seed) comporte deux fois plus de mots en comparaison avec Bitcoin.
La réception d’un paiement (via l’adresse publique) est également triviale : son format est “humain-compatible” et le QR code associé s’affiche en grand format.
L’émission d’une transaction, en revanche, doit être configurée en fonction du niveau de confidentialité souhaité, c’est-à-dire qu’il est possible d’augmenter la taille du cercle de signataires à sa guise. Bien évidemment, cela augmente les frais.
Les développements à venir
La prochaine amélioration est prévue pour le mois de septembre : il s’agit d’un hard fork visant à augmenter la taille du cercle de signataires et le nombre de ring signatures obligatoires pour effectuer une transaction. L’équipe a également prévu de mettre en place les fluffy blocks (ils permettront d’alléger les données propagées entre les noeuds du réseau, réduisant ainsi la bande passante nécessaire au maintien d’un noeud complet), ainsi que d’améliorer l’interface utilisateur du logiciel client.
La feuille de route de Monero.
Les projets de recherche concernent des solutions de couches secondaires au protocole devant améliorer la vitesse et la scalabilité du réseau.
Conclusion :
Je suis un citoyen honnête. Pourquoi aurais-je besoin de transactions anonymes ?
Les lecteurs de la première heure savent que la défense des moyens de paiement anonymes est un des chevaux de bataille de BitConseil. La confidentialité des transactions est indispensable pour les institutions financières et les entreprises, mais également pour le particulier, à cause de l’asymétrie de l’information (lorsque certains participants à un échange disposent d’informations pertinentes que d’autres n’ont pas):
- Si certaines entités s’accaparent d’une quantité très largement supérieure d’informations au dépends des autres, notamment les données financières des simples citoyens, les marchés ne seront jamais libres étant donné que les conditions de concurrence pure et parfaite ne seront jamais remplies.
- Les corporations ont un énorme avantage face au consommateur lambda car elles possèdent beaucoup plus d’informations que lui, l’empêchant de faire ses choix en connaissance de cause ou de proposer un business compétitif. La divulgation des données financières des consommateurs accroîtra grandement ces inégalités.
- Les entreprises peuvent utiliser les données financières de leurs utilisateurs afin de manipuler les marchés, vendre ces données à des tierces parties ou se les faire subtiliser.
- Les entreprises ayant accès à ce Big Data peuvent influencer les consommateurs ou ajuster leurs tarifs à leur guise (exemple : assurance santé).
- Au-delà de la simple perte ou vol de données, cela peut créer des problèmes de sécurité physique, dans le contexte des objets connectés (exemple : voitures autonomes).
- L’histoire est remplie d’exemples montrant que les gouvernements ont une fâcheuse tendance à utiliser les données financières de leurs citoyens pour justifier, à discrétion, des restrictions de libertés individuelles élémentaires.
Ces problématiques feront l’objet d’articles plus approfondis sur BitConseil.
Commentaires