Mixeurs, CoinJoin et cryptomonnaies axées sur la confidentialité · Leçon 1 sur 5
Mélangeurs avec dépositaire
11 min de lecture
Un mélangeur avec dépositaire prend les pièces d'un client et lui en verse ensuite d'autres, de sorte que le lien sur la chaîne entre le dépôt et le versement n'existe tout simplement pas. Pour un enquêteur, cela signifie deux choses : à partir de la chaîne seule, le mieux que vous puissiez produire est un ensemble de candidats fondé sur des hypothèses déclarées ; et lorsqu'un mélangeur est démantelé, ses serveurs peuvent transformer ces candidats en enregistrements. Savoir lequel de ces deux cas vous examinez, et le préciser, est la compétence d'analyse forensique que cette leçon développe.
Fonctionnement d'un mélangeur avec dépositaire
Le client passe une commande, reçoit une nouvelle adresse de dépôt, puis indique une ou plusieurs adresses de versement, un délai et parfois un niveau de frais. Une fois le délai écoulé, l'opérateur verse le montant déposé moins ses frais à partir de sa réserve, constituée des pièces de clients précédents. Wu et ses collègues (Towards understanding and demystifying Bitcoin mixing services, 2021), qui ont étudié plusieurs services en y effectuant leurs propres dépôts de test, ont décrit deux mécanismes :
| Mécanisme | Mode de versement | Représentation sur la chaîne | Exemple de l'étude |
|---|---|---|---|
| Échange | Pièces de la réserve envoyées le long de chaînes de décorticage, avec un versement par étape | Une entrée, deux sorties par étape ; types de script cohérents | Un service où les utilisateurs choisissaient le délai et la répartition du montant |
| Obfuscation | Dépôts répartis en « jetons » de valeur fixe, regroupés dans des transactions à sorties égales | De nombreuses sorties égales, comme dans un CoinJoin créé par un seul opérateur | ChipMixer, où les utilisateurs pouvaient aussi récupérer des jetons en important les clés privées fournies par le service |
Deux caractéristiques sont importantes pour les éléments de preuve. De nombreux services délivrent une lettre de garantie, un message signé par le service qui indique l'adresse de dépôt et les conditions de la commande ; les clients la conservent pour prouver qu'ils ont passé une commande. Beaucoup fournissent aussi aux clients réguliers un code afin qu'ils ne récupèrent jamais leurs propres pièces. Ces deux éléments peuvent se trouver sur l'appareil d'un suspect ou dans une base de données saisie, et tous deux relient une personne à une commande d'une manière que la chaîne ne peut jamais établir (voir la leçon Portefeuilles sur des appareils saisis). Certains services sont allés plus loin : l'opérateur de Helix, qui a traité environ 354 468 BTC de 2014 à 2017, a créé une interface permettant aux marchés du darknet d'envoyer directement les retraits de leurs clients dans le mélangeur.
Représentation sur la chaîne de part et d'autre
Du côté du dépôt, la piste est déterministe jusqu'à l'adresse de dépôt et généralement jusqu'à une étape supplémentaire, lorsque l'opérateur regroupe les dépôts dans sa propre grappe. La manière dont cette grappe a été identifiée est importante : une étiquette provenant d'un dépôt de test que vous avez effectué vous-même, d'une donnée saisie ou d'une étiquette commerciale n'a pas le même degré de fiabilité (voir la leçon Sources d'attribution et leur fiabilité). Consignez cette information.
Du côté du retrait, les versements quittent la réserve le long de chaînes de décorticage ou par lots. La forme des retraits peut elle-même devenir un indice de leur origine. Zavřel et ses collègues (Tumbling down the stairs: exploiting a tumbler's attempt to hide with ordinary-looking transactions using wallet fingerprinting, présenté à DFRWS EU 2025 et publié dans Forensic Science International: Digital Investigation) ont créé une empreinte de portefeuille pour un mélangeur à partir d'environ 40 de ses propres transactions, en utilisant de rares combinaisons de version de transaction, de signalisation replace-by-fee et de verrouillage temporel que son logiciel définissait apparemment au hasard. En suivant les transactions correspondantes dans les deux sens, ils ont distingué 344 adresses du service et 461 adresses de clients. Ils ont également averti qu'une correspondance d'empreinte est probabiliste et n'ont communiqué aucun taux d'erreur validé. Une empreinte peut donc attribuer un versement au mélangeur avec un niveau C ; elle ne peut pas vous indiquer pour quel client le versement a été effectué.
Une fois que les fonds entrent dans le mélangeur, traitez le dépôt comme un dépôt effectué auprès d'une plateforme d'échange : la chaîne s'arrête à la frontière du service (voir la leçon Suivi à travers les services avec dépositaire).
Analyse du moment et du montant
Sans enregistrements, l'examinateur ne peut que chercher quels versements sont compatibles avec un dépôt connu. Les paramètres sont le montant du dépôt, la fourchette de frais annoncée par le service, les frais de réseau et le délai maximal. La requête ci-dessous examine une fenêtre.
-- Versements candidats pour un dépôt de 0.50000000 BTC confirmé au bloc 850,100
WITH payouts AS ( -- transactions dépensant des pièces de la grappe du mélangeur
SELECT DISTINCT i.spending_transaction_hash AS tx
FROM inputs i
JOIN mixer_cluster m ON m.address = i.address
)
SELECT o.transaction_hash, o.output_index, o.value_btc, t.block_number
FROM outputs o
JOIN payouts p ON p.tx = o.transaction_hash
JOIN transactions t ON t.hash = o.transaction_hash
WHERE t.block_number BETWEEN 850100 AND 850244 -- délai maximal de 144 blocs
AND o.value_btc BETWEEN 0.4748 AND 0.4950 -- frais de 1 à 5 %, frais de réseau jusqu'à 0.0002
AND o.address NOT IN (SELECT address FROM mixer_cluster) -- exclure la monnaie rendue au sein du service
ORDER BY t.block_number;
L'expression de table commune repère les transactions qui dépensent des pièces provenant de la grappe du mélangeur. La requête externe conserve leurs sorties dans la fenêtre de délai dont la valeur correspond au dépôt, moins des frais de 1 à 5 % et jusqu'à 0,0002 BTC de frais de réseau (0,5 × 0,95 − 0,0002 = 0,4748 ; 0,5 × 0,99 = 0,4950), et exclut les sorties renvoyées dans la grappe. Chaque nombre de la clause WHERE est une hypothèse, et le résultat n'est fiable que dans la mesure où la grappe l'est.
La taille de l'ensemble de candidats dépend fortement de ces hypothèses. Dans des transactions de test publiées par Tippe et Deckers (Unmixing the mix: patterns and challenges in Bitcoin mixer investigations, DFRWS EU 2025, dans la même revue), une recherche sur une fenêtre de 24 heures pour trouver exactement la valeur du dépôt moins les frais du mélangeur a laissé deux versements candidats, dont l'un était le versement réel. Une recherche couvrant la fourchette de frais annoncée a produit 4 453 candidats, et une fourchette ouverte allant de zéro à cette valeur en a produit 461 140. Lorsque le client répartissait le versement entre deux adresses, aucune sortie unique ne correspondait au montant total. C'est pourquoi le résultat est l'ensemble des candidats accompagné de ses paramètres, et jamais « le » versement.
Un compte rendu défendable d'une telle analyse comprend :
- le txid, le montant et le bloc du dépôt ;
- la manière dont la grappe du mélangeur a été identifiée et la date de son instantané ;
- chaque paramètre et sa source (frais et délais annoncés par le service, archivés) ;
- le nombre de candidats pour chaque ensemble de paramètres, avec au moins deux exécutions utilisant des largeurs différentes ;
- le niveau : une correspondance fondée sur le moment et le montant est de niveau D, qui ne peut augmenter qu'avec une corroboration indépendante, comme des enregistrements (voir la leçon Suivi selon une norme probatoire).
Serveurs saisis comme éléments de preuve
Les démantèlements changent la donne, car les enregistrements de l'opérateur contiennent le lien que la chaîne dissimule.
| Démantèlement (contexte) | Informations communiquées par les enquêteurs | Point probatoire |
|---|---|---|
| Bestmixer, mai 2019 | Six serveurs saisis dans deux pays ; service actif depuis mai 2018, avec un chiffre d'affaires d'environ 27 000 BTC ; enregistrements couvrant une année d'activité, notamment des adresses IP, des détails de transactions, des adresses et des messages de clavardage ; des dossiers de renseignement partagés avec d'autres pays | Enregistrements au niveau du client, transmis à de nombreuses enquêtes |
| ChipMixer, 15 mars 2023 | Quatre serveurs, 7 To de données et environ 1 909,4 BTC saisis ; estimation de 152 000 BTC blanchis depuis 2017, notamment des produits de rançongiciels | Données et fonds de réserve ; les estimations de volume sont celles des autorités |
| Bitcoin Fog, exploité de 2011 à 2021 | Plus de 1,2 million de BTC transférés ; l'opérateur a été identifié grâce aux enregistrements de comptes de plateformes d'échange, dont les dépôts remontaient aux grappes du service, ainsi qu'à des enregistrements liés aux premiers paiements du domaine du service | L'identité a été établie à partir d'enregistrements ; la défense a contesté la fiabilité du logiciel de regroupement |
Tippe et Deckers, qui ont examiné les affaires ChipMixer, Helix et Bitcoin Fog, ont noté que, dans les trois cas, les opérateurs avaient été identifiés grâce à des informations hors chaîne, et non par le seul traçage de la chaîne de blocs.
Une base de données saisie est un outil puissant, mais risqué. Avant de s'y fier, l'examinateur vérifie :
- Provenance : la chaîne de conservation de l'autorité ayant effectué la saisie et les valeurs de hachage de l'image, ainsi que le canal par lequel les données ont été reçues (voir les leçons Autorité légale et coopération internationale et Hachage, journalisation et chaîne de conservation).
- Schéma et heure : la signification de chaque table et colonne, le fuseau horaire des horodatages, les commandes de test ou annulées.
- Exhaustivité : les périodes de conservation ou de suppression ; un service qui promettait d'effacer les journaux après quelques jours peut ne conserver que les commandes récentes.
- Rapprochement : chaque dépôt enregistré doit correspondre à une transaction sur la chaîne vers son adresse de dépôt, et chaque versement enregistré à une sortie sur la chaîne. Communiquez le taux de correspondance pour l'ensemble de la table, et non pour un simple échantillon.
- Intégrité : la possibilité que l'opérateur ait modifié les enregistrements et la concordance entre les totaux internes et les soldes de réserve sur la chaîne.
Un ordre rapproché, consigné de façon à ce qu'un deuxième examinateur puisse répéter la vérification :
{
"source": "seized_image_03/orders.db, image SHA-256 9c1e…44ab",
"order_id": "A7F3…",
"deposit": {"address": "bc1q…7k3f", "txid": "9b1e…47d0", "onchain_match": true},
"payouts": [
{"address": "bc1q…m2pz", "txid": "9b0d…e7a2", "onchain_match": true},
{"address": "bc1q…r81d", "txid": "c4e1…0f9b", "onchain_match": true}
],
"db_time": "2022-11-04T13:22:07", "db_timezone": "UTC+1 (from server config)",
"block_time_utc": "2022-11-04T12:31:55Z",
"grade": "B (record corroborated by chain)",
"examiner": "EX-14", "verified_utc": "2026-10-20T09:12:00Z"
}
L'enregistrement cite le fichier de base de données et le hachage de l'image dont il provient, ce qui fixe la source. Il indique pour chaque adresse si la chaîne confirme l'enregistrement, et distingue l'heure de la base de données et son fuseau horaire de l'heure du bloc. L'écart brut de près d'une heure disparaît une fois le fuseau horaire du serveur appliqué : la commande a été enregistrée environ dix minutes avant la confirmation du dépôt, comme prévu. Ce n'est qu'après cette vérification que le lien entre le dépôt et les versements passe de « aucun lien » au niveau B.
Limites des inférences
Gardez trois limites à l'esprit. Premièrement, l'utilisation d'un mélangeur ne constitue pas en soi une preuve de l'origine des fonds ; de nombreux utilisateurs cherchent à protéger leur vie privée pour des raisons légitimes. Deuxièmement, du point de vue de la chaîne, la « source » d'un versement correspond aux dépôts d'autres clients ; attribuer une origine illicite à chaque versement d'un mélangeur, ou à chaque client, revient à imputer un crime à des personnes sans aucun lien avec l'affaire. Troisièmement, un enregistrement saisi prouve ce que le système de l'opérateur a consigné, et un enregistrement rapproché prouve que la valeur a été transférée comme indiqué ; aucun des deux ne prouve qui a saisi la commande. Il faut pour cela des preuves liées au compte, à l'appareil ou au réseau.
| Énoncé | Étayé ? |
|---|---|
| « L'adresse du sujet a envoyé 0,5 BTC à une adresse de dépôt de la grappe du mélangeur au bloc 850 100. » | Oui : flux déterministe et étiquette de grappe dont la provenance est précisée |
« La sortie bc1q…m2pz est l'un des deux versements compatibles avec le dépôt selon les hypothèses de frais et de délai indiquées. » | Oui, en tant qu'inférence (niveau D) |
« L'enregistrement de commande saisi, rapproché avec la chaîne, relie le dépôt aux versements bc1q…m2pz et bc1q…r81d. » | Oui, niveau B |
| « Tous les versements du mélangeur sont des produits du vol. » | Non |
Points clés pour l'examen : les mécanismes d'échange et d'obfuscation des mélangeurs et leurs formes sur la chaîne ; les lettres de garantie et les codes client comme éléments reliant une personne à une commande ; l'empreinte de portefeuille des retraits d'un mélangeur et son caractère probabiliste ; la création d'un ensemble de candidats fondé sur le moment et le montant à partir de paramètres déclarés, et la présentation de sa sensibilité (deux candidats contre 461 140) ; Bestmixer, ChipMixer, Helix et Bitcoin Fog comme exemples de contexte, ainsi que le fait que les opérateurs ont été identifiés grâce à des informations hors chaîne ; la validation d'une base de données saisie (provenance, schéma et fuseau horaire, exhaustivité, rapprochement complet, intégrité) ; les raisons pour lesquelles attribuer une origine illicite à chaque versement ou utilisateur d'un mélangeur n'est pas étayé.
Questions d’entraînement
Vérifiez votre compréhension. Ces questions ne comptent pas pour l’examen.
Connectez-vous pour enregistrer votre progression et reprendre là où vous vous êtes arrêté. C’est gratuit. Se connecter