Les crypto-monnaies : le monero

Toujours dans notre série consacrée aux crypto-monnaies et après la présentation du bitcoin puis de l’ethereum, nous présentons aujourd’hui le monero, une crypto-monnaie mettant en avant la sécurité, la protection de la vie privée et l’intraçabilité.

monero-logo

Une crypto-monnaie de plus, mais pourquoi ?

La question ne s’est pas posée avec le projet ethereum, car ce dernier met grandement en avant la chaîne de bloc et ses utilisations possibles et dans laquelle la monnaie du projet l’ether n’occupe qu’une place secondaire, en tout cas au point de vue de l’attention qu’officiellement le projet semble lui accorder. Pourtant devant la multiplication des crypto-monnaies et en particulier les premiers dérivés de bitcoin, comme le litecoin ou le dogecoin, on peut légitimement s’interroger sur l’intérêt d’une crypto-monnaie de plus.

Dogecoin et Litecoin, des clones techniques très proches de bitcoin

Dogecoin et Litecoin, des clones techniques très proches de bitcoin

Les premières crypto-monnaies alternatives

Devant le succès de bitcoin, de très nombreux projets alternatifs se sont créées, cherchant plus ou moins à bénéficier de sa popularité croissante et offrant peu d’évolutions par rapport aux caractéristiques intrinsèques du projet bitcoin.

En effet le bitcoin est le premier essai grandeur nature de l’utilisation d’une crypto-monnaie ayant rencontré un succès certain et ayant pu être testé à grande échelle. Étudier une crypto-monnaie dans son utilisation grandeur nature a permis d’identifier de nombreux problèmes concrets, touchant en général à la sécurité des utilisateurs, à la protection de leur vie privée et des possibilités de traçage dans leur utilisation d’une crypto-monnaie.

Car si les médias généralistes se sont emparés du bitcoin, c’est avant tout grâce à plusieurs affaires judiciaires ayant défrayées la chronique, en particulier la saga Silk Road, un site web spécialisé dans la vente de drogue sur lequel les paiements s’effectuaient en bitcoin, les utilisateurs des crypto-monnaies ont dont été rapidement confrontés aux réactions des autorités et à leur capacité d’enquête et donc à s’interroger sur la solidité de la protection de la vie privée et de l’intraçabilité du bitcoin.

Silk Road, site de vente de substances illégales présent sur Tor

Silk Road, site de vente de substances illégales ayant opéré via Tor

Devant les manques du porte-monnaie bitcoin, les alternatives offrant davantage de sécurité émergent aujourd’hui et en particulier le monero.

La sécurité du monero

Votre porte-monnaie monero est protégé par une phrase de passe sans laquelle il est inutile. Vous pouvez générer une suite mnémonique de 25 mots, suite correspondante à votre clé privée, afin de régénérer votre clé privée en cas de perte de données sur votre ordinateur.

La protection de vos données personnelles par monero

Avec monero, vous pouvez envoyer et recevoir des fonds sans que la transaction associée soit visible sur la chaîne de bloc.

L’intraçabilité du monero

Rendre les fonds intraçables est une fonctionnalité du monero, rendant ambigu quels fonds ont été dépensés par qui, afin d’empêcher de relier des fonds à un utilisateur particulier

Installer le porte-monnaie monero

Maintenant entrons dans le vif du sujet. Le porte-feuille monero est téléchargeable sur le site web officiel du projet. Nous choisissons de télécharger ce dernier directement afin de ne pas dépendre d’un mainteneur intermédiaire et d’être le plus à jour possible quant à la version du porte-monnaie monero installée sur notre poste.

Vous pouvez installer le porte-monnaie monero à l’aide des commandes suivantes (version Linux 64 bits) :

$ mkdir -p ~/wallets/monero
$ cd ~/wallets/monero
$ wget https://downloads.getmonero.org/monero.linux.x64.v0-10-0-0.tar.bz2
$ sha256sum monero.linux.x64.v0-10-0-0.tar.bz2 |grep 6fe4cdb98d6ea7d2eded79841f70cb64edb840fcb2c84b904a1114424cffc5b1
6fe4cdb98d6ea7d2eded79841f70cb64edb840fcb2c84b904a1114424cffc5b1 monero.linux.x64.v0-10-0-0.tar.bz2
$ mkdir monero_0.10.0.0 && cd monero_0.10.0.0
$ tar jxvf monero.linux.x64.v0-10-0-0.tar.bz2

Lors de cette installation très standard, nous vérifions la somme de hachage de l’archive afin de vérifier sa conformité par rapport à celle fournie par le projet monero.

Téléchargement de la chaîne de bloc monero

Nous commençons par lancer le binaire qui s’occupe de télécharger la chaîne de bloc avec laquelle vous allez ensuite synchroniser votre porte-monnaie. Cela se fait avec la commande suivante :

$ ./monerod

Le temps de téléchargement de la chaîne de bloc va dépendre du débit de votre connexion internet. Prévoir également 10 gigaoctets de données qui seront stockées dans ~/.bitmonero/lmdb/data.mdb

Premier lancement du porte-monnaie monero

Tout d’abord, bien que le projet monero soit assez ancien et très complet en fonctionnalité, le porte-monnaie officiel reste à ce jour une application en ligne de commande. Des initiatives sont subventionnées par le projet pour aboutir à un porte-monnaie graphique et à une application mobile sont toutefois en cours. Pour lancer votre porte-monnaie monero, il suffit de passer la commande suivante :

$ ./monero-wallet-cli
 Creating the logger system
 Monero 'Wolfram Warptangent' (v0.10.0.0-release)
 Logging at log level 0 to /tmp/./monero-wallet-cli.log
 Specify wallet file name (e.g., MyWallet). If the wallet doesn't exist, it will be created.
 Wallet file name: mymonerowallet

Un mot de passe vous est ensuite demandé ainsi que la langue à utiliser :

password: ****************
password: ****************
List of available languages for your wallet's seed:
0 : English
1 : Spanish
2 : German
3 : Italian
4 : Portuguese
5 : Russian
6 : Japanese
Enter the number corresponding to the language of your choice: 0

La génération du porte-monnaie commence. Des informations très importantes vous sont communiquées :

Generated new wallet: 499Rz7wbvVhW6bLDfMQ1448zCZSThj7c7RMZEj1woF6sWP2XhdRYpXR3tf5WUScjAG3t4wyhsr24dUS14Fk4rrUt6PK2oXm
 View key: 23765909984c2f2633ddf343692bb1b277ec66662a626257a5ccd3bde7b49c02
 **********************************************************************
 Your wallet has been generated!
 
 PLEASE NOTE: the following 25 words can be used to recover access to your wallet. Please write them down and store them somewhere safe and secure. Please do not store them in your email or on file storage services outside of your immediate control.

money agile bays scamper meeting omission kiosk jury
 jeans mesh ripped bays jury academy vexed tomorrow
 espionage fainted cease comb swagger mesh urgent vexed fainted
 **********************************************************************

Nous retiendrons ici la clé mnémonique correspondant à la clé privée de votre porte-monnaie monero. Il est important de sauver ces informations mais en les conservant à l’abri des indiscrétions.

Consulter son porte-monnaie Monero

Au second lancement de votre porte-monnaie monero, voici les informations qui vous seront immédiatement présentées :

Starting refresh...
Refresh done, blocks received: 553
Balance: 0.940000000000, unlocked balance: 0.940000000000

Nous voyons donc immédiatement notre solde immédiatement utilisable (ici unlocked balance) et le solde restant à confirmer (ici Balance).

Envoyer du monero

Rien de plus simple que d’envoyer du monero, il vous suffit de connaître l’adresse de votre destinataire et de passer la commande suivante :

[wallet 33NGv8]: transfer 49EqSG4URLDFfzSxvRBUxTLftcNM98DT5MvFp4JNJRih3icqrjVJiY8Jr9YF1atXN7UFBDx4vKq4s3ozUpkwrEAuEioqyWC 0.5
Money successfully sent, transaction <b4d25ebb877cfcbf9f430b509fd71205e7941e6f6aeed551500646e12e12f4ea>

Comme nous le voyons, transférer du monero ne présente aucune difficulté. Le premier argument est la clé publique du destinataire et le second argument le montant à envoyer. Les frais d’envoi son automatiquement calculés et prélevés par rapport à la somme envoyée. Cela a un côté très pratique et évite les erreurs de débutant qui omettent les frais de transfert et voit leur requête échouer après plusieurs jours voire plusieurs heures d’attente car aucun mineur n’a voulu traiter une transaction n’offrant pas de paiement des frais en retour.

Recevoir du monero

Recevoir du monero ne pose aucun problème particulier, il peut suffire de fournir son adresse publique qu’on obtient avec la commande suivante :

[wallet 33NGv8]]: address
43GGv8KzVhxehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznKHGAhDi

Toutefois si vous fournissez cette adresse à différents payeurs, vous ne saurez pas qui vous a payé telle ou telle somme. Il est donc important d’associer une identité de paiement à une adresse. Pour cela nous allons utiliser la commande suivante :

[wallet 33NGv8]: integrated_address
Random payment ID: <5be0cca74c8bf209>
Matching integrated address: 4Cxwvw9V6yUehv832FWPTF7FSVuWjuBarFd17QP163uxMaFyoqwmDf1aiRtS5jWgCiRsi73yqedNJJ6V1La2joznUA5uvhQu3yj22nZ4Bz

Ici nous saurons donc que l’identité de paiement 5be0cca74c8bf209 est associée à l’adresse ci-dessus. Nous pourrons ainsi communiquer à un tiers cette adresse (qui embarque l’identité de paiement) et plus tard recevoir les fonds transmis via cette adresse et en déduire l’identité de paiement associé et donc la ou les personnes à qui nous l’avons communiquée.

Sauvegarder votre porte-monnaie monero

Le seul fichier à sauvegarder est mymonerowallet.keys, qui contient votre clé privée. Tous les autres seront automatiquement régénérés. Il faut également sauvegarder la clé mnémonique vue plus haut en cas de corruption de votre clé sur l’ensemble de vos ordinateurs. Vous pouvez facilement réaliser une sauvegarde papier de cette clé mnémonique qui ne tient que sur 25 mots.

Monero, un projet communautaire

Monero est un projet s’appuyant fortement sur sa communauté très active de développeurs et d’utilisateurs. Des financements participatifs sont régulièrement réalisés pour implémenter de nouvelles fonctionnalités ou soutenir des idées intéressantes.

C’est dans cette optique que j’ai lancé un financement participatif afin de réunir des fonds pour financer mon projet PyMoneroWallet, une bibliothèque Python pour le porte-monnaie monero.

python-logo-master-v3-TMPython et monero, l’association d’un puissant langage de programmation et d’une crypto-monnaie efficace

Visant à développer l’usage par les autres programmes Python et l’automatisation des actions des actions possibles avec le porte-monnaie Monero, ce financement participatif – bien sûr en monero – sera financé par la communauté pour que je puisse mener à bien ce projet, selon une liste d’engagement soumise à la communauté.

$ python3
>>> from monerowallet import MoneroWallet
>>> mw = MoneroWallet()
>>> mw.getbalance()
{'unlocked_balance': 2262265030000, 'balance': 2262265030000}

Si vous trouvez l’idée intéressante, n’hésitez pas à laisser un commentaire allant dans ce sens (en anglais) sur la page dédiée au projet sur le forum officiel monero.

Conclusion

Offrant des fonctionnalités inédites par rapport aux autres crypto-monnaies, activement développé par sa propre communauté dans un périmètre clair et bien défini – beaucoup moins vaste et flou que celui de l’ethereum par exemple – le monero est une crypto-monnaie alternative pouvant aller très loin car elle a bien su cerner les manques des autres crypto-monnaies et offrir des solutions innovantes pour combler ces manques.

Très communautaire, bien valorisé dans son cours actuel – 1 monero équivaut à 9,3mB (pour milli-bitcoin) – le monero offre un terrain d’expérimentation très intéressant à explorer et pour lequel beaucoup de choses restent à faire.

Vus : 1011
Publié par Carl Chenet : 277