la crypto pour tous
A
A

Comment Chainalysis piste vos bitcoins ?

sam 15 Juil 2023 ▪ 9 min de lecture ▪ par Nicolas T.
Apprendre Wallet

Comment les sociétés de surveillance comme Chainalysis relient-elles les bitcoins à des entités distinctes ? Et comment ruser grâce au Coinjoin ?

COinjoin UTXO

Big Block Brother

La société de surveillance de transactions la plus connue est Chainalysis. Mais, il y en a d’autres :

Elliptic, Neutrino (racheté par coinbase en 2019), Coinfirm, Blockchain Intelligence Group, Ciphertrace (racheté par Mastercard), Comply Advantage, Idology, Elementus, DmgBlockchain, ScoreChain, Crystal, Coinvalidation.

Leur modèle économique consiste généralement à vendre les données aux gouvernements pour des affaires criminelles, fiscales, etc. Leurs services servent aussi aux exchanges pour déceler les fonds venant d’adresses affiliées à des activités criminelles.

Chainalysis et ses acolytes utilisent de nombreuses techniques qui, couplées aux données des exchanges et des fournisseurs d’accès internet (FAI), permettent de relier des identités à des adresses Bitcoin.

En effet, la plupart des exchanges obligent leurs clients à renseigner leur identité. Les BTC pouvant être retracés avec certitude jusqu’à une adresse d’exchange peuvent donc être reliés à des identités si la justice le requiert.

Même chose pour les FAI puisque Chainalysis relie aussi les adresses BTC à des adresses IP. D’où l’intérêt de toujours connecter son wallet au réseau Bitcoin en utilisant Tor.

Pour comprendre les techniques de surveillance, il faut d’abord expliquer le fonctionnement des transactions Bitcoin (UTXO).

Bitcoin ou UTXO ?

Les UTXO (Unspent transaction output) contiennent l’ensemble des bitcoins existants.

À chaque transaction correspond la destruction et la création d’un ou plusieurs UTXO. Ils prennent la forme d’un script (un petit bout de code) reliant une adresse à une quantité de bitcoin.

[Une adresse est un encodage de clé publique]

Le principe est que seule la clé privée correspondant à la clé publique peut déverrouiller un UTXO afin de lier les BTC à une autre adresse (réaliser une transaction).

Plutôt que de « déverrouiller » un UTXO, on dit que l’on « signe une transaction » avec sa clé privée.

Pour résumer, les wallets ne contiennent pas des BTC à proprement parler. Ils hébergent seulement les clés privées et les clés publiques correspondantes (affichées sous forme d’adresses). Les clés privées permettent de dépenser les UTXO qui sont gardés en mémoire par les nœuds.

L’ensemble des bitcoins existe actuellement sous la forme d’une grosse centaine de millions d’UTXO de diverses tailles. Certains UTXO sont liés à des milliers de BTC, d’autres à seulement quelques satoshis.

Lors d’une transaction, un ou plusieurs UTXO sont consommés pour produire un ou plusieurs UTXO reliés à de nouvelles adresses. Nous disons « plusieurs », car il se peut qu’aucun UTXO dans votre wallet ne soit assez important pour couvrir le montant de la transaction. Il faut alors en utiliser plusieurs d’un coup.

En outre, il est très rare de trouver une combinaison d’UTXO correspondant pile-poil au montant de la transaction. Il faut donc se renvoyer la monnaie via la création simultanée d’un UTXO supplémentaire.

Une chose importante à réaliser est que cette monnaie rendue n’est pas forcément une petite somme. Admettons que vous vouliez réaliser une transaction de 0.1 BTC. Et que votre wallet ne contient qu’un seul UTXO de 1 BTC. Il faudra alors dépenser cet UTXO et se rendre la monnaie sous la forme d’un UTXO de 0.9 BTC.

En somme, une transaction comprend généralement plusieurs UTXO en entrée et plusieurs UTXO en sortie, dont l’UTXO de la monnaie rendue qui est celui qui intéresse le plus les firmes de surveillance.

LA technique de pistage des bitcoins

En théorie, il n’est pas évident de savoir quels UTXO appartiennent à qui en sortie de transaction. Lequel correspond à la transaction et lequel à la monnaie rendue ??

Cependant, la comparaison du type d’adresse utilisé pour chaque UTXO fournit souvent la réponse. Si un seul des deux UTXO en sortie arbore le même type d’adresse que l’UTXO apporté en entrée, c’est qu’il s’agit de la monnaie rendue.

Cette faille vient du fait que différents formats d’adresse émergent au fur et à mesure du développement du protocole Bitcoin. Les wallets n’utilisent pas toujours le même format. D’autre part, les vieux UTXO sont forcément liés à de vieux formats d’adresse.

Taproot et P2WPKH (Pay-to-Witness-Public-key-adress) sont les types d’adresses les plus couramment utilisés. Les adresses Taproot commencent par « bc1 ». Il existe d’autres encodages de clé publique comme P2PKH (Pay-to-public-key-hash) qui commence par « 1 ». Ou encore P2SH (Pay-to-script-hash) qui commence par « 3 ».

Bref, l’un des principaux objectifs des sociétés de surveillance est d’identifier l’UTXO de la monnaie rendue. C’est une information vitale pour identifier un groupe d’UTXO comme appartenant à une seule entité.

Chainalysis utilise pour ce faire plusieurs heuristiques ainsi que des suppositions (dont l’exactitude n’est jamais certaine).

Autres techniques

Adresse IP

Des documents divulgués sur le dark web montrent que Chainalysis utilise des explorateurs de bloc pour recueillir des adresses IP. Chainalysis a récolté les adresses IP de tous ceux qui ont rentré des adresses BTC leur appartenant sur « walletexplorer.com« .

Rappelez-vous qu’un wallet ne possède que des clés. Au démarrage, il doit donc se connecter à un nœud (qui détient la liste de l’ensemble des UTXO) pour se mettre à jour. Plus précisément, il va vérifier si une ou plusieurs de ses clés publiques ont été reliées à des BTC (si le wallet à reçu une transaction).

Selon le document, Chainalysis recueille également des IP en gérant des nœuds. Cela permet de relier une adresse IP à l’ensemble des adresses (utilisées et non inutilisées…) d’un wallet qui s’y connecte .

D’où l’intérêt, encore une fois, de toujours connecter son wallet au réseau Bitcoin en passant par le réseau Tor.

Réutilisation des adresses BTC

La réutilisation d’adresses est bien entendu une grosse erreur à ne pas faire. Lorsque plusieurs UTXO sont liés à la même adresse, c’est qu’ils appartiennent à la même clé privée et donc la même personne.

En outre, si une transaction se fait vers une adresse réutilisée, il est très probable qu’il s’agisse de la transaction principale et non pas de la monnaie rendue.

BIP 125

La BIP 125 a introduit RBF (Replace-by-fee). Certains wallets (Electrum) l’ont adopté, d’autres non (Wasabi).

Lorsqu’une transaction se propage aux nœuds, les frais de transaction fixés peuvent se révéler trop faibles. Les mineurs donnent en effet la priorité aux transactions offrant les frais les plus élevés.

Afin d’accélérer la confirmation d’une transaction, un utilisateur peut utiliser RBF pour augmenter les frais de transaction (un tout petit UTXO allant aux mineurs). Les nœuds qui ont adopté BIP 125 accepteront la nouvelle transaction et supprimeront l’ancienne de leur mempool.

Espionner le mempool permet d’identifier l’UTXO de la monnaie rendue puisqu’il est très probable que ce soit lui qui sera raboté pour augmenter l’UTXO correspondant aux frais versés au mineur.

Montants ronds

Réaliser des transactions avec des montants ronds est également une grave erreur. S’il n’y a que deux UTXO en sortie, celui ne comprenant pas un nombre rond de BTC sera forcément la monnaie rendue.

La solution Coinjoin

Les transactions Bitcoin étant publiques au nom de la décentralisation, il est possible de remonter toute la chaîne d’adresses d’un UTXO jusqu’à la récompense coinbase. Les explorateurs de blockchain font cela très bien.

Le destinataire d’une transaction (d’un UTXO) peut consulter tout l’historique des transactions de l’émetteur. De même, l’expéditeur peut voir les dépenses futures du destinataire.

Toute vie privée n’est pas perdue pour autant. Il suffit de mixer ses UTXO à l’aide d’un Coinjoin. Il s’agit tout simplement d’une très grosse transaction réunissant de nombreuses personnes (et donc de nombreux UTXO) en même temps.

Chacun doit fournir des UTXO et des adresses vierges afin de construire cette transaction qui va rebattre les cartes grâce à de nombreux UTXO de même montant en sortie.

« En un seul coinjoin, 33 BTC ont été rendus fongibles.
Cela représente plus d’un million de dollars de bitcoins rendus privés pour des centaines d’utilisateurs différents.
Avec 349 UTXO en entrée et 356 UTXO en sortie, c’est un megacoinjoin. »

On comprend facilement l’intérêt d’une telle transaction pour brouiller les pistes. Imaginez un hélicoptère poursuivant 10 voitures de toutes les couleurs passant soudainement dans un tunnel. Et que 15 voitures de même couleur ressortent de l’autre côté du tunnel. Lesquelles appartiennent à qui ?

Le wallet Trezor modèle T, en tandem avec le wallet Wasabi, offre cette option Coinjoin pour couper effacer ses traces.

Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.


Cliquez ici pour rejoindre 'Read to Earn' et transformez votre passion pour la crypto en récompenses !
A
A
Nicolas T. avatar
Nicolas T.

Reporting on Bitcoin, "the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy".

DISCLAIMER

Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.