L’un des piliers de la communauté des cryptomonnaies repose sur le fait que les adresses numériques des portefeuilles de bitcoins et autres protégeront l’identité de ceux qui les utilisent pour acheter et vendre.
Un nouvel article, publié cette semaine par des chercheurs du Baylor College of Medicine et de la Rice University, a fait voler en éclats cet anonymat revendiqué. Intitulé « Cooperation among an anonymous group, protected Bitcoin during failures of decentralization », l’article est désormais publié sur le serveur des chercheurs.
64 personnes seulement au démarrage
La chercheuse principale, Alyssa Blackburn, ainsi que ses coéquipiers Christoph Huber, Yossi Eliaz, Muhammad S. Shamim, David Weisz, Goutham Seshadri, Kevin Kim, Shengqi Hang et Erez Lieberman Aiden, ont utilisé une technique appelée « liaison d’adresses » (« address linking », dans le texte) pour étudier les transactions de Bitcoin au cours des deux premières années de son existence, de janvier 2009 à février 2011.
Leur principale découverte est que, durant ces deux premières années, « la plupart des bitcoins ont été minés par seulement soixante-quatre agents […] représentant collectivement ₿2 676 800 (soit une valeur actuelle de 84 milliards de dollars). » Ils font référence au processus de frappe de nouveaux coins en résolvant des défis informatiques.
Ce nombre, 64 personnes au total, est « 1000 fois plus petit que les estimations précédentes de la taille de la première communauté Bitcoin (75 000) », observent-ils. Parmi ces 64 personnes, on trouve des personnalités qui sont déjà devenues des légendes, comme Ross Ulbricht, connu sous le nom de Dread Pirate Roberts. Ross Ulbricht est le fondateur de Silk Road, une opération de marché noir qui utilisait des bitcoins à des fins illicites – jusqu’à ce qu’elle soit fermée par le FBI.
Pour Alyssa Blackburn et son équipe, il s’agissait d’étudier les effets de la participation de personnes à des situations de théorie du jeu en tant que parties anonymes. De manière surprenante, ils ont découvert que les premiers initiés comme Ross Ulbricht auraient pu exploiter la relative rareté des participants en minant le bitcoin pour doubler les pièces, mais ils ne l’ont pas fait. Ils ont agi de manière « altruiste » pour maintenir l’intégrité du système.
Si cette découverte est intriguante, les chercheurs ont mis en évidence une autre découverte plus urgente qui est que les adresses peuvent être tracées et les identités révélées.
Retracer les adresses pour lever l’anonymat
Pour découvrir qui effectuait ces premières transactions, Alyssa Blackburn et son équipe ont dû procéder à une rétro-ingénierie du principe même du bitcoin et de toutes les cryptomonnaies : l’anonymat. Comme l’indique Satoshi Nakamoto lui-même dans le livre blanc original du bitcoin, la vie privée devait être préservée par deux moyens : l’utilisation anonyme de clés publiques et la création de nouvelles paires de clés pour chaque transaction.
Le public peut voir que quelqu’un envoie un montant à quelqu’un d’autre sans que des informations relient la transaction à qui que ce soit. Cela ressemble au niveau d’information publié par les bourses, où l’heure et la taille des transactions individuelles, la « bande », sont rendues publiques sans identifier les parties.
Une nouvelle paire de clés doit être utilisée pour chaque transaction afin d’éviter qu’elles ne soient liées à un propriétaire commun. Une certaine liaison est toujours inévitable avec les transactions à entrées multiples, qui révèlent que le même propriétaire possédait leurs entrées. Le risque est que si le propriétaire d’une clé est révélé, la liaison pourrait révéler d’autres transactions qui appartenaient au même propriétaire.
Alyssa Blackburn et son équipe ont dû retracer ces paires de clés pour révéler les premières parties des transactions de Bitcoin. Pour ce faire, ils ont développé ce qu’ils appellent un nouveau système de liaison d’adresses.
Follow the money
Le système trouve deux modèles qui désignent les utilisateurs : l’un est la présence de bits de code récurrents, l’autre est la présence d’adresses en double pour certaines transactions. Ces techniques exploitent la façon dont le logiciel de minage Bitcoin génère des chaînes de caractères, qui sont utilisées dans le cadre des protections cryptographiques de Bitcoin contre la falsification. En fait, il existe de nombreuses corrélations entre les chaînes apparemment dénuées de sens associées à un seul utilisateur. Ils exploitent également les comportements peu sûrs des utilisateurs, comme l’utilisation de plusieurs adresses pour payer une seule transaction, qui permettent de relier les adresses en fonction de l’activité de la transaction.
Les conséquences, écrivent-ils, sont qu’il est possible de « suivre l’argent » pour exposer n’importe quelle identité en suivant une chaîne de parenté dans un graphe d’adresses, à partir d’une identité connue.
« Dans cette approche, l’identité d’une adresse Bitcoin cible peut être déterminée en identifiant un court chemin de transaction la reliant à une adresse dont l’identité est connue, puis en utilisant des sources de données hors chaîne (allant des données publiques aux assignations à comparaître) pour suivre le chemin, en déterminant qui a payé qui pour dépersonnaliser les adresses jusqu’à ce que l’adresse cible soit identifiée », écrivent les chercheurs.
En outre, ils émettent l’hypothèse que « de nombreuses cryptomonnaies peuvent être sensibles aux attaques de type « follow-the-money ». »
« Lorsque vous cryptez des données privées et que vous les rendez publiques, vous ne pouvez pas supposer qu’elles resteront privées pour toujours » a commenté Alyssa Blackburn au New York Times.
Comme le conclut l’équipe dans le rapport, « goutte à goutte, la fuite d’informations érode les blocs autrefois impénétrables, sculptant un nouveau paysage de données socio-économiques. »
Source : ZDNet.com
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/all.js#appId=243265768935&xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));
Cliquez ici pour lire l’article depuis sa source.