Rapports analytiques · Leçon 1 sur 6
De la question à l’hypothèse
10 min de lecture
Toute enquête commence par une question, et la qualité de cette question limite la qualité de la réponse. Les données on-chain sont si vastes et si interconnectées qu’un analyste qui part d’une explication qu’il privilégie peut presque toujours trouver des transactions qui semblent la confirmer. Cette leçon montre comment transformer une demande vague en une question analytique à laquelle il est possible de répondre, comment en définir la portée et comment confronter plusieurs explications au lieu de construire un dossier en faveur d’une seule.
De la demande à la question analytique
Les demandes arrivent rarement sous une forme exploitable. « Découvrez qui se cache derrière ce portefeuille » ou « Recevons-nous des fonds issus d’un piratage ? » expriment une préoccupation, pas une question à laquelle les données peuvent répondre. Une bonne question analytique est :
- Précise : elle nomme les actifs, les adresses ou les événements concernés.
- Délimitée : elle comporte une limite de temps, de sauts ou d’effort.
- À laquelle il est possible de répondre : les données que l’analyste peut obtenir légalement pourraient, en principe, permettre de trancher.
- Pertinente pour la décision : la réponse change ce que fera le demandeur (geler, signaler, publier, clôturer le dossier).
- Neutre : elle ne présuppose pas la réponse.
| Demande reçue | Question analytique |
|---|---|
| « À qui appartient 0xA1b2…9F ? » | Quels services ou entités étiquetées ont envoyé des fonds à 0xA1b2…9F ou en ont reçu de cette adresse entre les blocs 24 700 000 et 24 800 000, et quel type d’entité ce schéma laisse-t-il supposer ? |
| « Recevons-nous des fonds volés issus de l’exploitation ? » | Une adresse de dépôt de notre plateforme a-t-elle reçu une valeur dont la trace remonte, en cinq sauts au maximum, à la transaction d’exploitation 0x9c4e…a71b, et quel en est le montant ? |
| « Le lancement de ce jeton était-il un rug pull ? » | Des adresses liées au déployeur ont-elles retiré des liquidités ou vendu plus de 20 % de l’offre dans les 72 heures suivant le premier apport de liquidités ? |
Remarquez que la première reformulation supprime « à qui ». L’identité réelle d’une personne privée ne peut généralement pas être établie à partir des seules données de la chaîne, et ce n’est souvent pas ce dont le demandeur a besoin ; il lui faut connaître le type d’entité et les services auprès desquels il existe des dossiers hors chaîne (voir la leçon Suivre la valeur à travers les plateformes d’échange et les services, ainsi que la leçon Protection des données, éthique et divulgation responsable pour comprendre pourquoi l’identité doit être traitée avec précaution).
Il est également utile de classer la question. Les questions descriptives demandent ce qui s’est passé (où les fonds sont-ils allés ?). Les questions explicatives demandent pourquoi ou de qui il s’agit (s’agit-il d’un service ou d’un particulier ?). Les questions estimatives portent sur quelque chose qui n’est pas directement observable ou qui ne s’est pas encore produit (les fonds restants atteindront-ils une plateforme d’échange ?). Chaque type de question nécessite une réponse différente et une formulation différente du degré de confiance, comme l’explique la leçon Confiance, incertitude et langage.
Délimiter les chaînes, les actifs et les périodes
Avant d’exécuter la moindre requête, consignez une courte déclaration de portée dans le dossier. Elle protège l’analyste contre l’élargissement du périmètre et indique au lecteur les limites de chaque constat.
| Élément de portée | Exemple |
|---|---|
| Points de départ | Transaction d’exploitation 0x9c4e…a71b ; adresse de l’attaquant 0xE7c1…44aD |
| Chaînes et actifs | Réseau principal Ethereum (chainId 1), un rollup, Bitcoin ; ETH, WETH, USDC, BTC |
| Période | Blocs Ethereum 24 790 112 à 24 812 000 (dates UTC consignées en parallèle) |
| Profondeur | Jusqu’à 5 sauts sur les chaînes à comptes, 10 sauts sur une chaîne de décantation Bitcoin |
| Règles d’arrêt | Arrêter à toute adresse regroupée avec un service de conservation |
| Exclusions | Transferts inférieurs à 0,01 ETH ; jetons de spam distribués par airdrop |
Indiquez les périodes en hauteurs de blocs ainsi qu’en dates UTC. Les plages de blocs sont exactes et reproductibles, tandis que les horodatages comportent les réserves décrites dans la leçon Les blocs et les en-têtes comme données.
Les limites de profondeur sont importantes, car le traçage s’étend rapidement. Si chaque adresse envoie des fonds à trois autres en moyenne, cinq sauts produisent déjà 3^5 = 243 parcours, et dix sauts en produisent plus de 59 000. Une règle d’arrêt aux services de conservation n’est pas de la paresse : au-delà d’un portefeuille chaud, les mouvements on-chain n’appartiennent plus au propriétaire d’origine.
Une requête rapide d’estimation de volume vous indique si la portée est réaliste avant que vous ne vous y engagiez :
-- Estimer le volume : activité des adresses de départ dans la plage de blocs
SELECT
COUNT(*) AS transfers,
COUNT(DISTINCT counterparty) AS counterparties,
MIN(block_number) AS first_block,
MAX(block_number) AS last_block
FROM (
SELECT block_number, to_address AS counterparty FROM token_transfers
WHERE from_address IN ('0xa1b2…9f', '0xe7c1…44ad')
AND block_number BETWEEN 24790112 AND 24812000
UNION ALL
SELECT block_number, from_address FROM token_transfers
WHERE to_address IN ('0xa1b2…9f', '0xe7c1…44ad')
AND block_number BETWEEN 24790112 AND 24812000
) t;
La requête interne recueille les transferts dans les deux sens ; la requête externe les dénombre, ainsi que leurs contreparties distinctes. Le filtre de blocs se trouve dans chaque branche afin que le moteur puisse éliminer les partitions (voir la leçon Performances, coûts et reproductibilité). Si le résultat indique 40 contreparties, la portée est gérable ; s’il en indique 40 000, l’un des points de départ est probablement un service et la question doit être repensée.
Formuler des hypothèses concurrentes
Une hypothèse est une explication vérifiable de ce que montrent les données. Il faut en formuler plusieurs avant d’en évaluer une, et inclure l’explication banale et bénigne.
Prenons un schéma courant : une adresse Bitcoin bc1q…m4x2 reçoit 38 petits paiements de 38 adresses différentes sur six jours, puis dépense la totalité en une transaction vers deux sorties. Au moins trois explications sont possibles :
- H1, balayage par un service : bc1q…m4x2 est une adresse de dépôt d’une plateforme d’échange, et la dépense correspond au transfert des fonds vers un portefeuille chaud de la plateforme.
- H2, regroupement par le propriétaire : une personne ou une entreprise regroupe plusieurs de ses propres petites sommes lorsque les frais sont bas.
- H3, regroupement à des fins de blanchiment : un voleur rassemble des sorties issues de chaînes de décantation antérieures avant de les déplacer.
Demandez-vous « qu’est-ce qui pourrait produire d’autre ce schéma ? » jusqu’à ce qu’aucune nouvelle réponse ne vienne. Les hypothèses devraient être aussi mutuellement exclusives que possible, de sorte que les éléments qui réfutent l’une appuient une autre.
Les biais cognitifs qui affectent les analystes on-chain
Richards Heuer, ancien analyste de la CIA, soutenait que les biais cognitifs fonctionnent comme des illusions d’optique : les connaître ne les fait pas disparaître. La parade consiste à structurer l’analyse, et non à compter sur sa volonté.
| Biais | Manifestation sur la chaîne | Contre-mesure |
|---|---|---|
| Biais de confirmation | Ne suivre que les parcours qui mènent au suspect | Rechercher des éléments susceptibles de réfuter l’hypothèse privilégiée |
| Ancrage | La première étiquette d’un explorateur ou la première piste orientent tout le dossier | Consigner votre première opinion, puis la réévaluer après chaque nouvel élément |
| Biais d’automatisation | Accepter le regroupement ou l’étiquette d’un outil sans en vérifier la source | Vérifier la provenance des étiquettes et la qualité des regroupements (voir Évaluer la qualité des regroupements) |
| Conclusion prématurée | S’arrêter à la première explication qui convient | Exiger au moins trois hypothèses avant l’évaluation |
| Négligence du taux de base | Considérer tout contact avec un mixeur comme une preuve de crime | Se demander à quelle fréquence des utilisateurs légitimes présentent ce schéma |
| Biais de vivacité | Accorder trop de poids à un transfert important et spectaculaire | Évaluer chaque élément selon sa capacité à départager les hypothèses, et non selon son montant |
Analyse des hypothèses concurrentes (ACH)
L’analyse des hypothèses concurrentes (ACH) est la technique structurée décrite par Heuer dans Psychology of Intelligence Analysis (CIA Center for the Study of Intelligence, 1999). Il s’agit d’une méthode issue du renseignement, et non d’une norme juridique, qui convient bien aux questions on-chain. La procédure de Heuer comporte huit étapes :
- Recenser les hypothèses possibles, idéalement avec des collègues qui envisagent le dossier différemment.
- Dresser la liste des éléments probants et arguments importants, y compris les hypothèses et l’absence d’éléments attendus.
- Construire une matrice avec les hypothèses en haut et les éléments probants sur le côté, puis indiquer pour chaque case si l’élément est compatible, incompatible ou non applicable.
- Affiner la matrice : ajouter les hypothèses apparues et écarter les éléments qui ne permettent pas de départager les hypothèses.
- Tirer des conclusions provisoires en tentant de réfuter les hypothèses. L’hypothèse présentant le moins d’incompatibilités l’emporte ; le nombre d’éléments compatibles importe peu.
- Analyser la sensibilité de la conclusion à quelques éléments probants essentiels.
- Présenter la conclusion en indiquant la vraisemblance relative de toutes les hypothèses, et pas seulement de la gagnante.
- Définir des jalons : des observations futures qui montreraient que les événements suivent une autre trajectoire.
L’idée centrale est la valeur diagnostique. Un élément compatible avec toutes les hypothèses, comme « l’adresse a reçu de nombreuses entrées », ne vous apprend rien sur celle qui est vraie, quelle que soit la quantité d’éléments que vous recueillez. Un seul élément incompatible avec deux hypothèses peut suffire à trancher.
Exemple de matrice ACH
Revenons à bc1q…m4x2. L’analyste recueille cinq éléments :
- E1, 38 entrées sur six jours : compatible avec les trois hypothèses. Aucun pouvoir diagnostique.
- E2, sept des entrées remontent en trois sauts ou moins à des produits de l’exploitation : compatible avec H1 (les plateformes d’échange reçoivent des fonds de n’importe qui) et H3, incompatible avec H2, sauf si le « propriétaire » est le voleur, auquel cas il s’agit de H3.
- E3, la transaction de dépense utilise également 112 autres adresses qu’une source publique d’étiquettes identifie comme des adresses de dépôt d’une plateforme d’échange : compatible uniquement avec H1, selon la logique de l’heuristique des entrées communes (voir L’heuristique de propriété des entrées communes).
- E4, la sortie principale est envoyée à une adresse de longue date identifiée comme le portefeuille chaud de cette plateforme d’échange : compatible uniquement avec H1.
- E5, la dépense a payé 2 sat/vB pendant un week-end calme : compatible avec les trois hypothèses. Aucun pouvoir diagnostique.
H1 ne présente aucune incompatibilité ; H2 et H3 en présentent chacune deux ou trois. L’étape d’analyse de sensibilité consiste ensuite à déterminer quels éléments fondent la conclusion : E3 et E4, qui s’appuient tous deux sur une seule source d’étiquettes. Si cette source est erronée, H1 s’effondre. L’analyste vérifie donc l’étiquette de manière indépendante, par exemple en confirmant que le schéma de balayage se répète pour de nombreuses adresses de dépôt, avant de rendre compte de ses conclusions. Le jalon : si bc1q…m4x2 envoie un jour des fonds ailleurs que vers le portefeuille chaud connu de la plateforme d’échange, l’interprétation comme adresse de dépôt perd en solidité et H1 mérite d’être réexaminée.
En pratique, cela signifie que les fonds ont très probablement atteint un service de conservation. L’étape suivante consiste donc à demander des dossiers par voie judiciaire, plutôt qu’à poursuivre le traçage on-chain.
Points clés pour l’examen : les cinq qualités d’une bonne question analytique et la manière de reformuler une demande vague ; les questions descriptives, explicatives et estimatives ; les éléments d’une déclaration de portée, notamment les périodes définies par hauteur de bloc, les limites de sauts et les règles d’arrêt aux services de conservation ; pourquoi la profondeur du traçage augmente de façon exponentielle (3^5 = 243 parcours) ; la formulation d’hypothèses concurrentes, dont une hypothèse bénigne ; les biais courants (confirmation, ancrage, automatisation, conclusion prématurée, négligence du taux de base) et leurs contre-mesures ; les étapes de l’ACH de Heuer, le classement selon les incompatibilités, la valeur diagnostique, l’analyse de sensibilité et les jalons.