Mixeurs et cryptomonnaies de confidentialité · Leçon 4 sur 5
Cryptomonnaies de confidentialité
11 min de lecture
Lorsqu'une piste entre dans Monero ou dans un pool protégé de Zcash, le traçage ordinaire s'arrête, et la tentation est soit d'abandonner, soit de surinterpréter les rares signaux qui subsistent. Aucune de ces attitudes n'est acceptable dans un rapport d'analyse forensique. Cette leçon présente ce que chaque protocole masque, ce que les enquêteurs peuvent encore observer et prouver, ce que les recherches publiées permettent d'étayer et la manière de formuler des conclusions qui résistent à l'examen.
Monero : ce qui est masqué et ce qui reste visible
Monero masque les trois éléments nécessaires au traçage. Les paiements sont envoyés à des adresses furtives à usage unique, dérivées de l'adresse publique du destinataire (et de ses sous-adresses), de sorte que l'adresse du destinataire n'apparaît jamais sur la chaîne. Chaque entrée est signée au moyen d'une signature en anneau portant sur la sortie réelle et des leurres : depuis la mise à niveau du réseau d'août 2022, chaque anneau compte 16 membres, le membre réel et 15 leurres. Une image de clé empêche la double dépense sans révéler quel membre a été dépensé. RingCT, activé en janvier 2017 et obligatoire depuis septembre 2017, masque les montants au moyen d'engagements accompagnés de preuves d'intervalle.
Les dates sont importantes pour les éléments de preuve anciens, car la protection s'est renforcée par étapes. Jusqu'en octobre 2018, le protocole ne fixait qu'une taille minimale d'anneau, et les portefeuilles pouvaient choisir des anneaux plus grands : aucun minimum avant mars 2016 (les anneaux sans leurres étaient valides), puis au moins 3 membres à partir de mars 2016, 5 à partir de septembre 2017 et 7 à partir d'avril 2018. La mise à niveau du 18 octobre 2018 a fixé chaque anneau à exactement 11 membres, et celle du 13 août 2022 à 16 membres (les anneaux de 11 membres ont encore été acceptés pendant environ une journée, jusqu'à la bifurcation complémentaire du 14 août). La taille de l'anneau ne permet donc de dater une transaction que dans certaines limites : un anneau inférieur à un minimum situe la transaction avant l'entrée en vigueur de ce minimum, et, depuis octobre 2018, la taille est uniforme pour chaque période, mais un anneau de 11 membres ou plus ne suffit pas à démontrer qu'une transaction est postérieure à octobre 2018. Les transactions sont relayées au moyen de Dandelion++ depuis 2020, ce qui rend plus difficile l'identification du nœud d'origine par l'observation du réseau.
Ce qui reste public : l'existence d'une transaction, son bloc et son horodatage, ses frais, son nombre d'entrées et de sorties, les membres de l'anneau de chaque entrée (l'ensemble des candidats) et le champ extra.
Preuves d'appartenance à l'ensemble de la chaîne. Une mise à niveau prévue, FCMP++, remplacerait les anneaux de 16 membres par une preuve portant sur l'ensemble des sorties. Une fois cette mise à niveau activée, l'analyse fondée sur les anneaux ne s'appliquera plus aux nouvelles transactions ; elle restera applicable à l'historique de la période des anneaux. Datez toute déclaration concernant son état d'avancement.
Les clés qui permettent la divulgation. Monero offre au détenteur plusieurs moyens de révéler des informations sans céder son pouvoir de dépense, tous vérifiables par l'examinateur :
- une clé privée de visualisation révèle les paiements entrants vers une adresse (les dépenses sortantes nécessitent également les images de clé) ;
- une clé de transaction ou une preuve de paiement prouve qu'une transaction précise a versé un montant précis à une adresse précise ;
- une preuve de réserve prouve qu'un portefeuille détient au moins un solde déclaré.
Pour une rançon payée en Monero, demandez à la victime l'identifiant de transaction, la clé de transaction ou la preuve de paiement, ainsi que l'adresse de destination. Vérifiez la preuve avec un portefeuille à code source ouvert en vous appuyant sur votre propre nœud, consignez la version du logiciel, et le paiement devient un fait de niveau A, même si la chaîne le masque à tous les autres. Les portefeuilles saisis constituent un cas différent : les anciens portefeuilles Monero utilisent des phrases de récupération de 25 mots plutôt que BIP-39 (voir la leçon Récupération de portefeuilles dans un cadre légal).
Zcash : pools, frontières et tourniquet
Zcash possède un pool transparent (adresses t1…, t3…), qui fonctionne comme Bitcoin, ainsi que des pools protégés : Sprout (ancien, zc…), Sapling (depuis octobre 2018, zs…) et Orchard (depuis la mise à niveau NU5 du 31 mai 2022, utilisé au moyen d'adresses unifiées commençant par u1). À l'intérieur d'un pool protégé, l'expéditeur, le destinataire, le montant et le mémo sont masqués ; les frais sont toujours visibles.
Les frontières laissent filtrer des informations. La mise sous protection révèle l'expéditeur transparent et le montant ; la sortie de protection révèle le montant et le destinataire transparent. Puisque la valeur franchissant chaque frontière est visible, chacun peut calculer le total détenu dans chaque pool protégé : ce mécanisme est appelé le tourniquet. Une règle de consensus (ZIP 209) rend invalide tout bloc qui ferait passer le solde d'un pool en négatif ; une création frauduleuse de monnaie à l'intérieur d'un pool serait donc détectée au tourniquet. Consignez les soldes des pools au moment des événements qui vous intéressent : ils donnent l'ordre de grandeur de l'ensemble d'anonymat. Les détenteurs peuvent divulguer volontairement leur activité protégée au moyen de clés de visualisation.
Ce que chaque conception révèle, en parallèle :
| Observation | Monero | Zcash protégé | Zcash transparent |
|---|---|---|---|
| Expéditeur | L'un des 16 membres de l'anneau | Masqué | Visible |
| Destinataire | Masqué (adresse furtive) | Masqué | Visible |
| Montant | Masqué (RingCT) | Masqué ; visible à la frontière du pool | Visible |
| Horodatage et frais | Visibles | Visibles | Visibles |
| Divulgation volontaire | Clé de visualisation, preuve de paiement | Clé de visualisation | Non nécessaire |
| Entrée et sortie auprès des services | Registres du service | Registres du service | Registres du service |
Ce que les enquêteurs peuvent encore observer
| Observation | Source | Utilisation probatoire |
|---|---|---|
| Entrée et sortie auprès des plateformes d'échange et des services de conversion | Registres du service obtenus par voie légale | Le principal levier : identité, adresses de dépôt et de retrait, horodatages, données IP |
| Concordance temporelle et montants entre différents actifs | Un dépôt de bitcoins ou de jetons auprès d'un service de conversion et un versement en Monero, ou l'inverse | Ensembles de candidats de niveau D jusqu'à confirmation par les registres du service (voir les leçons Passage d'une chaîne à l'autre et traçage interchaînes et Conversions sur DEX, plateformes d'échange instantané et flux de liquidité) |
| Flux transparents de Zcash | Chaîne publique | Traçage de type Bitcoin, niveau A pour les flux |
| Montants aux frontières de Zcash | Transactions de mise sous protection et de sortie de protection | Rapprochements d'allers-retours portant sur des montants similaires ; inférence uniquement |
| Appartenance à un anneau Monero | Chaîne publique | Une sortie connue (par exemple, versée au sujet par une plateforme d'échange coopérante) apparaissant dans l'anneau d'une transaction ultérieure est un candidat parmi 16, et non une dépense |
| Preuves de paiement, clés de visualisation | Victimes, services coopérants, portefeuilles saisis | Divulgation vérifiable de paiements précis |
| Données de portefeuille | Appareils saisis légalement | Historique complet des transactions propres au portefeuille |
| Utilisation d'un nœud distant | Un portefeuille connecté au nœud d'un tiers a exposé son adresse réseau à cet opérateur | Un détenteur potentiel de registres ; attendez-vous à peu d'informations |
La ligne relative à l'appartenance à un anneau mérite une attention particulière. Si un même service voit une sortie qu'il a versée à un client apparaître dans l'anneau d'une transaction qui lui est ensuite reversée, cette coïncidence peut être prise en compte, mais la sélection des leurres puise délibérément dans les sorties récentes ; l'apparition fortuite d'une sortie connue dans un anneau est donc attendue. Il n'existe aucun taux d'erreur publié et validé pour de tels liens. Présentez-les comme des inférences, en indiquant la taille de l'anneau et le nombre d'anneaux dans lesquels la sortie est apparue.
Recherches publiées et limites
| Étude | Résultat | Période et limites |
|---|---|---|
| Möser et al. (2018), Monero | Environ 62 % des entrées comportant au moins un leurre étaient traçables par élimination (« réaction en chaîne »), et choisir le membre le plus récent de l'anneau donnait le bon résultat dans environ 80 % des cas | Données jusqu'en avril 2017 ; les auteurs ont constaté que les transactions de la période RingCT résistaient généralement à l'élimination ; des tailles d'anneau obligatoires et une nouvelle sélection des leurres ont ensuite été introduites |
| Quesnelle (2017), Zcash | Le rapprochement d'allers-retours a permis de relier 31,5 % des unités monétaires envoyées à des adresses protégées | L'auteur qualifie les rapprochements de circonstanciels, avec des paires pouvant résulter d'une coïncidence |
| Kappos et al. (2018), Zcash | Le comportement des fondateurs et des mineurs expliquait 69 % de l'activité du pool protégé ; le rapprochement par valeur unique a permis de relier plus de 1 million de ZEC, soit 28,5 % des unités monétaires déposées dans le pool | Données jusqu'en janvier 2018, lorsque la majeure partie de l'activité était transparente |
| Biryukov et al. (2019), Zcash | Attaques actives et canaux cachés susceptibles de permettre l'identification de transactions protégées par leur empreinte | Des mécanismes, et non des taux de rapprochement observés sur le terrain |
En mars 2024, des chercheurs de Monero ont également étudié un épisode soupçonné d'inondation par billes noires : un grand volume de transactions dont les sorties, si elles avaient été créées par une seule partie, seraient connues de cette partie comme étant des leurres, affaiblissant ainsi les anneaux pendant cet épisode. Cela montre que la taille effective d'un anneau peut être inférieure à 16 sur certaines périodes, ce qui importe lorsque vous évaluez une transaction de la période des anneaux.
Lisez ces recherches en examinateur. Chaque chiffre décrit une période historique et un taux agrégé. Aucun ne vous indique qu'une entrée précise de votre dossier était traçable. Les résultats d'élimination concernant Monero avant 2017 ne s'appliquent pas à une transaction de 2025. Les affirmations de prestataires commerciaux selon lesquelles ils peuvent tracer Monero ou le Zcash protégé n'ont pas été publiées avec leurs méthodes et des taux d'erreur validés ; elles ne peuvent donc pas fonder une conclusion ; elles indiquent tout au plus où rechercher des registres.
Retraits de la cote et déplacement des points de sortie
De 2023 à 2024, plusieurs grandes plateformes d'échange ont retiré Monero de leur cote ou en ont restreint l'accès dans certaines régions, en invoquant les attentes réglementaires. Les règles diffèrent selon les juridictions, et certaines s'orientent vers une interdiction totale, pour les prestataires réglementés, de prendre en charge les cryptomonnaies de confidentialité. Pour les enquêtes, cela signifie que les points de sortie réglementés qui tiennent des registres sont moins nombreux et que les flux se déplacent vers des services de conversion instantanée sans garde, des transactions de pair à pair et des échanges atomiques. Identifiez rapidement le service à chaque extrémité, préservez ses données publiques et demandez quels registres il détient (voir la leçon Collaboration avec les prestataires de services).
Formulation qui résiste à l'examen : « Le compte du sujet sur la plateforme d'échange a effectué un retrait de 41,2 XMR à 14:05 UTC (registres de la plateforme d'échange). Le paiement de la rançon de 41,0 XMR à l'adresse de l'attaquant est établi par la preuve de paiement de la victime, vérifiée à l'aide de notre nœud. Entre ces événements, la chaîne ne montre aucun lien que nous puissions affirmer. » Formulation qui n'y résiste pas : « L'analyse de la blockchain a permis de remonter du Monero jusqu'au sujet. »
Points clés pour l'examen : Les adresses furtives et les sous-adresses de Monero, la taille d'anneau de 16 membres depuis août 2022, les images de clé et RingCT, ainsi que l'historique des tailles d'anneau pour dater les éléments de preuve ; pourquoi l'analyse fondée sur les anneaux ne s'appliquerait pas aux transactions effectuées après une mise à niveau vers des preuves d'appartenance à l'ensemble de la chaîne, mais reste applicable à l'historique de la période des anneaux ; les clés de visualisation, les preuves de paiement et les preuves de réserve comme moyens de divulgation vérifiables ; les pools transparent, Sprout, Sapling et Orchard de Zcash, les fuites aux frontières, le tourniquet et ZIP 209 ; ce qui reste observable (extrémités auprès des services, flux transparents, montants aux frontières, appartenance à un anneau en tant que candidat) ; les résultats de Möser et al., de Quesnelle et de Kappos et al., et les raisons pour lesquelles ils ne sont pas transposables aux transactions actuelles ; les retraits de la cote et le déplacement vers des points de sortie sans garde.