Qu’est-ce que CryptoNote?

Qu’est-ce que CryptoNote?

CryptoNote est la technologie permettant la création de cryptomonnaies orientés vers le quasi-anonymat. Vous pouvez consulter leur site web ici. Le niveau de quasi-anonymat que permet CryptoNote est intrinsèquement impossible avec une base Bitcoin.

Deux des particularités principales de CryptoNote sont les signatures en anneau qui masquent l’identité de l’expéditeur par mixage et les transactions intraçables accomplies en créant des clés à usage unique pour les paiements individuels. A elles deux, ces technologies assurent un haut degré d’anonymat sans effort supplémentaire de la part de l’utilisateur.

Contrairement à Bitcoin, vos fonds ne sont pas détenus à l’adresse que vous donnez aux autres. Au contraire, chaque fois que vous recevez un paiement, il va dans une adresse intraçable générée avec des nombres aléatoires. Quand vous décidez de dépenser les fonds de cette adresse unique, le montant sera coupé en petits morceaux qui seront indiscernables d’autres montants identiques dans la blockchain.

Par exemple, si 556.44 MRO sont envoyés, le protocole le coupera en 500 + 50 + 6 + 0.4 + 0.04 et une signature en anneaux sera effectuée avec d’autres montants de 500, 50, 6, 0.4 et 0.04. Contrairement à la méthode de mixage « CoinJoin », CryptoNote mixe les sorties, pas les transactions. Ce qui signifie qu’aucun autre expéditeur n’a besoin de participer en même temps que vous ou avec les mêmes quantités. N’importe quel montant envoyé n’important quand pourra toujours être rendu fondamentalement indiscernable (une preuve mathématique est donnée dans le livre blanc).

Les signatures en boucle sont expliquées ci-dessous. Reproduit et traduit de CryptoNote:

Une signature normale ressemble à ceci. Il n’y a qu’un seul participant, ce qui permet une mappage un-pour-un.

Une signature en anneaux voile les identités parce qu’elle prouve uniquement qu’un signataire appartient à un groupe.

Ceci permet un haut niveau de quasi-anonymat dans les transaction de cryptomonnaies. Voyez-le comme un mixeur décentralisé sans besoin de confiance.

Comment ceci se compare-t-il à d’autres solutions de quasi-anonymat ?

Les signatures en anneaux proviennent des travaux de Rivest et al. en 2001 et l’implémentation de CryptoNote s’appuie en particulier sur les travaux de Fujisaki et Suzuk sur les signatures en anneaux traçable. Il existe deux autres implémentations de quasi-anonymat actuellement en développement : l’une repose sur les preuves de connaissance zéro de ZeroCoin/ZeroCash. L’autre est basée sur CoinJoin, l’idée de gmaxwell (tel que les services de mixage de Bitcoin ou de l’altcoin DarkCoin).

1. Comparison avec ZeroCoin et les approches de type ZKP

Vous pouvez vous documenter sur ZeroCoin et les preuves de connaissance zéro (zero-knowledge proofs, ZKP) here. Le plus grand risque est que c’est une recherche récente en cryptography, qui n’a donc pas encore des années de recul en cryptanalyse et par conséquents, des failles peuvent apparaitre. Les signatures en anneaux sont plus mures, bien que CryptoNote représente leur première utilisation dans une cryptomonnaie.

Parmi les autres problèmes de ZKP, notons le fait que l’on doit faire confiance au générateur de la clé RSA privée d’amorçage de l’accumulateur pour bien la détruire après usage. De plus, l’ensemble de l’économie est voilée, pas juste l’identité de l’émetteur et du destinataire. Ceci peut être problématique si adviennent des bogues ou des failles amenant à une inflation ou une manipulation, car les dégâts seraient cachés à tous. There is a tradeoff between these inherent risks and l’anonymat total que permet la ZKP. CryptoNote vise quelque chose de différent grâce à la combinaison d’une double couche de quasi-anonymat permises par les clés à usage unique et les signatures en anneaux.

2. Comparaison avec les approches de type CoinJoin

MRO is qualitativement plus proche des implémentations de mixage comme CoinJoin. The differences arise in the departure from the Bitcoin protocol, ce qui permet à MRO d’utiliser une nouvelle cryptography qui permet une mixage décentralisé et sans confiance de meilleure qualité. Le problème principal avec les services de mixage est le besoin de faire confiance aux opérateurs. Ainsi, le mixeur de blockchain.info donne l’avertissement suivant : « Cependant, si le serveur était compromis, ou que nous étions sous injonction de paraitre (subpoena), il pourrait être nécessaire de conserver des logs. Si ceci devait arriver, vous n’auriez gagné aucune privauté mais vous n’en auriez perdu aucune non plus. »

DarkCoin, basée sur CoinJoin, pratique le mixage avec des « masternodes », puisqu’il utilise des signatures ordinaires qui peuvent être mappées en un-pour-un. Ce n’est qu’une amélioration négligeable sur un service de mixage plus centralisé puisque un node sélectionné aléatoirement a moins de chance d’être de mauvaise foi (par exemple en conservant des journaux). Cependant, cette approche repose toujours sur l’intégrité et la bonne volonté des nodes, ce à quoi l’approche plus fondamentale de MRO n’est pas vulnerable. Même dans des conditions optimales, la qualité du quasi-anonymat avec cette méthode est faible par rapport aux signatures en anneaux de MRO.

Les signatures en anneaux de MRO sont aussi bien plus sécurisée et pratiques que CoinJoin car elles mixent les sorties, pas les transactions. Ce qui signifie qu’une transaction n’implique par d’attendre que d’autres envoi quelque chose avec quoi mixer. De même, un utilisateur n’est pas restreint à mixer uniquement avec des personnes mixant la même quantité. Des échanges de taille arbitraire peuvent être envoyés à n’importe quel moment sans la participation d’autrui. Cette fonctionnalité rend une analyse temporelle [NdT timing analysis] de la blockhain inutile pour mapper les identities. Le degrée de quasi-anonymat est aussi un choix plutôt que d’être décidé par le protocole : voulez-vous être caché au milieu de cinq ou au milieu de cinquante ? La taille de la signature croit linéairement tel que O(n+1) avec l’ambiguité donc une meilleurs anonymisation est payée par des frais plus élevés pour les mineurs.

Aperçu d’une transaction

Bob décide de dépenser une somme, qui a été envoyé par une clé publique à usage unique. Il a besoin de Extra (1), TxOutNumber (2), et de la clé privée de son compte (3)  afin de récupérer sa clé privée à usage unique (4).

Quand il envoit une transaction à Carol, Bob génère sa valeur Extra au hasard (5). Il utilise (6), TxOutNumber (7) et la clé publique du compte de Carol’s (8) pour obtenir sa clé de sortie publique (9).

En entrée, Bob cache le lien vers sa sortie parmi les clés étrangères (10). Afin d’éviter la double-dépense, il embarque aussi l’image de la clé, déduite de sa clé privé à usage unique (11).

Enfin, Bob signe la transaction, en utilisant sa clé privée à usage unique (12), toutes les clés publiques (13) et son image clé (14). Il adjoint la signature en anneaux en résultant à la fin de la transaction (15).

Explication de David Latapie
Monero Core Team

Please rate this

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *