Certes, en tant qu'utilisateur de bitcoin, d'éther ou de toute autre crypto-monnaie, vous craigniez que quiconque puisse voir combien de pièces vous avez dans votre portefeuille, à qui vous les avez transférées et de qui vous les avez reçues. Il y a beaucoup de controverse autour des crypto-monnaies anonymes, mais on ne peut pas être en désaccord avec quelque chose, comme l'a déclaré le chef de projet Monero Riccardo Spagni dans son compte Twitter: "Et si je ne veux pas que le caissier du supermarché sache combien d'argent j'ai sur le bilan et sur quoi je les dépense? "

Dans cet article, nous examinerons l'aspect technologique de l'anonymat - comment ils le font, et donnerons un bref aperçu des méthodes les plus populaires, leurs avantages et leurs inconvénients.
Aujourd'hui, il existe une dizaine de blockchains qui permettent des transactions anonymes. Dans le même temps, pour certains, l'anonymat des transferts est obligatoire, pour d'autres il est facultatif, certains ne cachent que les destinataires et les destinataires, tandis que d'autres ne permettent pas aux tiers de voir même le montant des transferts. Presque toutes les technologies que nous envisageons offrent un anonymat complet - aucun observateur extérieur ne peut analyser les soldes, ni les destinataires, ni l'historique des transactions. Mais nous commençons notre revue par l'un des pionniers dans ce domaine pour retracer l'évolution des approches de l'anonymat.
Les technologies d'anonymisation actuellement disponibles peuvent être divisées en deux groupes: basées sur le pétrissage - où les pièces utilisées sont mélangées avec d'autres pièces de la blockchain - et les technologies qui utilisent des preuves basées sur des polynômes. Ensuite, nous nous concentrerons sur chacun de ces groupes et examinerons leurs avantages et leurs inconvénients.
Basé sur le pétrissage
Coinjoin
CoinJoin n'anonymise pas les traductions des utilisateurs, mais ne fait que compliquer leur suivi. Mais nous avons décidé d'inclure cette technologie dans notre examen, car c'était l'une des premières tentatives pour augmenter le niveau de confidentialité des transactions dans le réseau Bitcoin. Cette technologie est captivante par sa simplicité et ne nécessite pas de modification des règles de réseau, elle peut donc être facilement utilisée dans de nombreuses chaînes de blocs.
Il est basé sur une idée simple - que se passe-t-il si les utilisateurs se plient et effectuent leurs paiements en une seule transaction? Il s'avère que si Arnold Schwarzenegger et Barack Obama ont fait une puce et effectué deux paiements à Charlie Sheen et Donald Trump en une seule transaction, il devient alors plus difficile de comprendre qui a financé la campagne Trump - Arnold ou Barack.
Mais du principal avantage de CoinJoin, son principal inconvénient suit - une sécurité médiocre. À ce jour, il existe déjà des moyens d'identifier les transactions CoinJoin dans le réseau et de comparer des ensembles d'entrées à des ensembles de sorties en comparant les quantités de pièces dépensées et générées. Un exemple d'outil pour une telle analyse est
CoinJoin Sudoku .
Avantages:
• simplicité
Inconvénients:
• Démontré la possibilité de piratage
Monero
La première association qui se pose avec les mots «crypto-monnaie anonyme» est Monero. Cette pièce
a prouvé sa stabilité et sa confidentialité sous le microscope de services spéciaux:

Dans l'un de nos
articles récents
, nous avons décrit le protocole Monero en détail, et aujourd'hui nous résumons ce qui a été dit.
Dans le protocole Monero, chaque sortie dépensée dans une transaction est mélangée avec au moins 11 (au moment de la rédaction de l'article) des sorties arbitraires de la blockchain, compliquant ainsi le graphique de transfert sur le réseau et rendant la tâche de suivi des transactions difficile à calculer. Les entrées mixtes sont signées avec une signature en anneau, ce qui garantit que le propriétaire de l'une des pièces mixtes l'a signée, mais ne permet pas de déterminer qui exactement.
Pour cacher les destinataires, chaque pièce nouvellement générée utilise une adresse unique, ce qui rend impossible pour l'observateur (autant que la tâche de casser les clés de cryptage est difficile, bien sûr) d'associer une sortie à une adresse publique. Et depuis septembre 2017, Monero a commencé à prendre en charge le protocole des
transactions confidentielles (CT) avec quelques ajouts, cachant ainsi également le montant des transferts. Un peu plus tard, les développeurs de crypto-monnaie ont remplacé les signatures Borromean par Bulletproofs, réduisant ainsi considérablement la taille de la transaction.
Avantages:
• Testé dans le temps
• Simplicité relative
Inconvénients:
• La génération et la vérification des preuves sont plus lentes que celles des ZK-SNARK et ZK-STARK
• Non résistant à la fissuration en utilisant des ordinateurs quantiques
Mimblewimble
Mimblewimble (MW) a été inventé comme une technologie évolutive pour anonymiser les transferts dans le réseau Bitcoin, mais a trouvé sa mise en œuvre en tant que blockchain indépendante. Utilisé dans les crypto-monnaies
Grin et
BEAM .
MW est remarquable en ce qu'il ne dispose pas d'adresses publiques, et afin d'envoyer une transaction, les utilisateurs échangent directement les résultats, éliminant ainsi la possibilité pour un observateur extérieur d'analyser les transferts du destinataire au destinataire.
Pour masquer les sommes d'entrées et de sorties, un protocole assez courant proposé par Greg Maxwell en 2015,
Transactions confidentielles (CT), est utilisé. Autrement dit, les montants sont chiffrés (ou plutôt,
le schéma d'obligation est utilisé), et à la place, le réseau fonctionne avec les soi-disant
obligations . Pour qu'une transaction soit considérée comme valide, il est nécessaire d'égaler les quantités de pièces dépensées et générées, plus une commission. Le réseau ne fonctionnant pas directement avec des nombres, l'égalité est assurée par l'équation de ces mêmes obligations, ce que l'on appelle l'engagement à zéro.
Dans le CT d'origine, les signatures Borromean (signatures en anneau Borromeo) sont utilisées pour garantir des valeurs non négatives (dites `` range proof ''), qui occupaient beaucoup d'espace sur la blockchain (environ 6 kilo-octets par sortie). À cet égard, les inconvénients des monnaies anonymes utilisant cette technologie incluaient une taille de transaction importante, mais maintenant ils ont décidé d'abandonner ces signatures au profit d'une technologie plus compacte - les balles.
Dans le bloc MW lui-même, il n'y a pas de concept de transaction, il n'y a que des sorties dépensées et générées. Aucune transaction - aucun problème!
Pour empêcher la désanonymisation du participant au transfert au stade de l'envoi d'une transaction au réseau, le protocole
Dandelion est utilisé, qui utilise une chaîne de nœuds proxy d'un réseau de longueur arbitraire, se transférant la transaction avant sa distribution réelle à tous les participants, ce qui confond la trajectoire de la transaction entrant dans le réseau.
Avantages:
• Petite taille de blockchain
• Simplicité relative
Inconvénients:
• La génération et la vérification des preuves sont plus lentes que celles des ZK-SNARK et ZK-STARK
• La prise en charge de fonctionnalités telles que les scripts et les signatures multiples est difficile à mettre en œuvre
• Non résistant à la fissuration en utilisant des ordinateurs quantiques
Données probantes sur les polynômes
ZK-SNARKs
Le nom complexe de cette technologie signifie «
Zero-Knowledge Succinct Non-Interactive Argument of Knowledge», qui peut être traduit par «Preuve non interactive compressée sans divulgation». Il est devenu une continuation du protocole zerocoin, qui a évolué en zerocash et a d'abord été implémenté dans la crypto-monnaie Zcash.
Dans le cas général, la preuve de connaissance zéro permet à une partie de prouver la seconde à la vérité d'une déclaration mathématique sans révéler aucune information à ce sujet. En ce qui concerne les crypto-monnaies, de telles méthodes sont utilisées pour prouver que, par exemple, une transaction ne produit pas plus de pièces qu'elle n'en dépense, sans divulguer le montant des transferts.
Les ZK-SNARK sont très difficiles à comprendre et plus d'un article sera nécessaire pour décrire les principes de son fonctionnement. Sur la page officielle de Zcash, première monnaie mettant en œuvre ce protocole,
7 articles sont consacrés à la description de son travail. Par conséquent, dans ce chapitre, nous nous limitons à une description superficielle.
En utilisant des polynômes algébriques, ZK-SNARKs prouve que l'expéditeur du paiement est propriétaire des pièces qu'il dépense et que le montant des pièces dépensées ne dépasse pas le montant généré.
Ce protocole a été créé afin de réduire la taille des preuves de la validité de la déclaration et en même temps de la vérifier rapidement. Ainsi, selon une
présentation de Zooko Wilcox, PDG de Zcash, la taille de la preuve ne prend que 200 octets, et vous pouvez vérifier son exactitude en 10 millisecondes. De plus, dans la dernière version de Zcash, les développeurs ont pu réduire le temps de génération des preuves à environ deux secondes.
Cependant, avant d'utiliser cette technologie, une procédure de configuration compliquée par des personnes de confiance des «paramètres publics», appelée «cérémonie» (
La Cérémonie ), est nécessaire. Toute la difficulté réside dans le fait que lors de l'installation de ces paramètres, aucune des parties ne dispose de clés privées, appelées «déchets toxiques», sinon elle pourra générer de nouvelles pièces. Vous pouvez découvrir comment cette procédure fonctionne à partir de la vidéo sur
YouTube .
Avantages:
• Preuve de petite taille
• Vérification rapide
• Génération de preuves relativement rapide
Inconvénients:
• Procédure complexe pour définir les paramètres publics
• Déchets toxiques
• La relative complexité de la technologie
• Non résistant à la fissuration en utilisant des ordinateurs quantiques
ZK-STARKs
Les auteurs des deux dernières technologies sont doués pour jouer avec les acronymes, et l'acronyme suivant signifie «Zero-Knowledge Scalable Transparent ARguments of Knowledge». Cette méthode a été conçue pour résoudre les inconvénients actuels des ZK-SNARK: la nécessité d'un réglage fiable des paramètres publics, la présence de déchets toxiques, l'instabilité de la cryptographie au craquage à l'aide d'algorithmes quantiques et la génération de preuves insuffisamment rapide. Cependant, les développeurs de ZK-SNARK ont surmonté le dernier inconvénient.
Les ZK-STARK utilisent également des preuves basées sur des polynômes. La technologie n'implique pas l'utilisation de la cryptographie sur les clés publiques, mais s'appuie plutôt sur la théorie du hachage et du transfert d'informations. Le rejet de ces outils cryptographiques rend la technologie résistante aux algorithmes quantiques. Mais cela a un prix - les preuves peuvent atteindre plusieurs centaines de kilo-octets.
Maintenant, ZK-STARK n'a d'implémentation dans aucune des crypto-monnaies, mais existe uniquement sous la forme de la bibliothèque
libSTARK . Cependant, les développeurs ont des plans qui vont bien au-delà des chaînes de blocs (dans leur
livre blanc, les auteurs donnent un exemple avec des preuves de la présence d'ADN dans la base de données de la police). À cet effet,
StarkWare Industries a été créée, ce qui a permis à la fin de 2018 de lever
36 millions de dollars d' investissements auprès des plus grandes entreprises de l'industrie.
Vous pouvez en savoir plus sur l'organisation de ZK-STARK dans les postes de Vitalik Buterin (
partie 1 ,
partie 2 ,
partie 3 ).
Avantages:
• Résistance au piratage par les ordinateurs quantiques
• Génération de preuves relativement rapide
• Vérification d'épreuve relativement rapide
• Pas de déchets toxiques
Inconvénients:
• La complexité de la technologie
• Preuve de grande taille
Conclusion
La blockchain et la demande croissante d'anonymat posent de nouveaux défis pour la cryptographie. Ainsi, la section de la cryptographie qui est apparue au milieu des années 1980 - des preuves sans divulgation - a été reconstituée en quelques années avec de nouvelles méthodes de développement dynamique.
Ainsi, la fuite de la pensée scientifique a rendu CoinJoin obsolète et MimbleWimble un nouveau venu prometteur avec des idées assez fraîches. Monero est toujours resté un géant indéfectible pour protéger notre vie privée. Mais les SNARK et les STARK, même s'ils ont des défauts, peuvent devenir des leaders dans le domaine. Peut-être que dans les années à venir, les points indiqués par nous dans la colonne «Contre» de chacune des technologies deviendront hors de propos.