Relazioni peritali e testimonianza · Lezione 3 di 4
Visualizzazione dei flussi e prove visive per i tribunali
13 min di lettura
La maggior parte dei lettori di una relazione di tracciamento guarda prima le immagini, e alcuni non leggono affatto il testo. Giudici e giurati ricordano il diagramma di flusso molto tempo dopo aver dimenticato la tabella delle transazioni. Ciò rende le figure la parte più persuasiva di un caso relativo alle criptovalute, ma anche quella più esposta alle contestazioni: un grafico che esprime una certezza maggiore rispetto alla relazione, o che non è riconducibile ai dati, può compromettere la credibilità di tutto il resto di quanto affermato dall'esperto. Questa lezione illustra come scegliere e costruire la visualizzazione adatta, mantenerla fedele ai dati e leggibile e trasformarla in un documento probatorio che il tribunale possa seguire, verificare e utilizzare con fiducia. La relazione che accompagna le figure è trattata nella Lezione 9.2.
Scegliere la visualizzazione in base alla domanda
Partire dalla domanda a cui il lettore deve trovare risposta, non dallo strumento aperto sullo schermo.
| Domanda del lettore | Visualizzazione più adatta | Cosa nasconde |
|---|---|---|
| Quanto è stato trasferito e dove? | Diagramma di Sankey | Tempistiche, singole transazioni |
| Come sono collegati questi indirizzi e attraverso quale percorso? | Grafo dei flussi | Importi, se non indicati nelle etichette |
| Quando si sono verificati gli eventi e in quale ordine? | Linea temporale | Struttura della rete |
| Quali indirizzi appartengono a quale entità? | Mappa dei cluster | Direzione dei flussi e tempistiche |
| Come è cambiato un saldo o un volume nel tempo? | Grafico a linee o a barre | Controparti |
Ogni visualizzazione semplifica e ciascuna nasconde qualcosa. Una figura destinata al tribunale dovrebbe esprimere una sola affermazione: se la relazione contiene quattro risultanze, potrebbero servire quattro figure, oppure una panoramica con figure di dettaglio, ciascuna collegata al numero di una risultanza.
Diagrammi di Sankey
Un diagramma di Sankey rappresenta i flussi mediante bande la cui larghezza è proporzionale al valore trasferito. Prende il nome da Matthew Sankey, che ne utilizzò uno nel 1898 per mostrare l'efficienza energetica di una macchina a vapore, ed è il modo più chiaro per mostrare come è stata suddivisa una somma. Esempio svolto: un indirizzo dell'attaccante detiene 941,2 ETH dopo aver convertito il bottino, e da esso si dipartono tre bande: 600 ETH verso un servizio di swap cross-chain, 300 ETH verso un bridge e 41,2 ETH rimasti fermi. Le larghezze sono nel rapporto 600 : 300 : 41,2, quindi il lettore vede immediatamente che quasi due terzi hanno seguito la stessa direzione.
Regole per mantenere un diagramma di Sankey fedele ai dati:
- Conservare il valore. Ciò che entra in un nodo equivale a ciò che esce più ciò che rimane. Mostrare commissioni, saldi non spesi e importi non tracciati mediante bande esplicite ("commissioni 0,002 BTC", "non movimentati 41,2 ETH", "non tracciato"); non lasciarli mai scomparire senza indicazione.
- Una sola unità per diagramma. Disegnare un diagramma di Sankey per ciascun asset, oppure convertire in un'unica valuta al momento di ciascun trasferimento e dichiarare la fonte del prezzo.
- Ordinare le colonne per passaggio o per tempo, da sinistra a destra, specificando il criterio utilizzato.
- Evitare i cicli. I trasferimenti di andata e ritorno vanno rappresentati in un grafo dei flussi.
I dati alla base di un diagramma di Sankey sono un elenco di archi (origine, destinazione, valore), prodotto direttamente da una tabella del caso contenente i trasferimenti di ETH tracciati, con le stesse colonne di transactions (Lezione 2.7):
-- Elenco di archi per un Sankey: valore trasferito tra entità etichettate
SELECT
COALESCE(ls.entity, t.from_address) AS source,
COALESCE(lt.entity, t.to_address) AS target,
SUM(t.value) / 1e18 AS eth_moved, -- valore in wei, come in transactions
COUNT(*) AS transfers
FROM traced_transfers t
LEFT JOIN labels ls ON ls.address = t.from_address
LEFT JOIN labels lt ON lt.address = t.to_address
GROUP BY 1, 2
ORDER BY eth_moved DESC;
I left join utilizzano i nomi delle entità quando esiste un'etichetta e, in caso contrario, mantengono l'indirizzo originale. Un unico raggruppamento "Senza etichetta" unirebbe invece indirizzi non correlati e rappresenterebbe flussi mai avvenuti. I join presuppongono un'etichetta per indirizzo (altrimenti le somme si moltiplicano; vedere la Lezione 2.8), e la divisione per 1e18 produce un numero in virgola mobile in molti motori, quindi occorre effettuare una conversione a un tipo decimale ad alta precisione quando sono necessari valori esatti.
Grafi dei flussi, linee temporali e mappe dei cluster
Un grafo dei flussi rappresenta indirizzi o entità come riquadri e trasferimenti come frecce: è la rappresentazione naturale del lavoro di tracciamento (Lezione 3.1).
- Utilizzare una disposizione a livelli, da sinistra a destra, con ciascuna colonna che rappresenta un passaggio o una fase temporale, in modo che i lettori seguano il denaro come un testo. Le disposizioni basate sulle forze servono solo per l'esplorazione: in tali disposizioni, la posizione è un prodotto dell'algoritmo e due nodi disegnati vicini appaiono correlati anche quando non lo sono.
- Distinguere ciò che è osservato da ciò che è inferito. Frecce continue per i trasferimenti registrati on-chain; frecce tratteggiate per le inferenze (una corrispondenza tra operazioni di un bridge basata su importo e tempo, l'identificazione di un output di resto), con accanto il grado o il termine di probabilità.
- Etichettare gli archi con importo, data e un breve riferimento alla transazione; conservare l'hash completo nell'appendice.
- Mostrare dove si è interrotto il tracciamento e perché: "servizio di custodia, registrazioni richieste" oppure "non tracciato ulteriormente". Il limite è una scelta, non il punto in cui il denaro si ferma.
- Mantenere dimensioni contenute. Oltre circa 30–50 nodi un grafo smette di essere leggibile. Riunire le peel chain ("peel chain, 9 passaggi") e i cluster in singoli riquadri, riportando i dettagli nell'appendice.
Qualunque strumento si utilizzi (tra quelli aperti figurano Graphviz per le disposizioni a livelli e Gephi o Cytoscape per l'esplorazione), esportare l'elenco degli archi insieme alla figura.
Una linea temporale risponde a "quando" e "in quale ordine", aspetti che in tribunale spesso contano più del percorso, perché collegano gli eventi on-chain alle testimonianze e mostrano se vi fosse tempo per un congelamento. Mostrare gli orari dei blocchi in UTC con le altezze dei blocchi e, quando gli eventi devono essere confrontati con i racconti dei testimoni, anche l'ora locale vissuta dai testimoni, specificando lo scostamento. Utilizzare una corsia per ciascuna blockchain nei casi cross-chain, in modo che il deposito su un bridge e il relativo rilascio siano affiancati. Distinguere gli eventi on-chain (una transazione confermata) da quelli off-chain (la denuncia della vittima, una richiesta di congelamento, un arresto) mediante la forma o la corsia, non soltanto mediante il colore. Mantenere visibili gli intervalli: una pausa di tre settimane prima di un deposito costituisce un elemento probatorio; segnalare qualsiasi interruzione dell'asse.
Una mappa dei cluster mostra la risoluzione delle entità: ciascun cluster come un contenitore con i suoi indirizzi o il loro numero, e ciascun motivo di collegamento (input comuni, indirizzo di deposito condiviso) mediante uno stile di linea distinto. Se l'area delle bolle rappresenta una dimensione, specificare se indica il numero di indirizzi o il saldo e avvertire il lettore quando un cluster è sospettosamente grande (Lezione 4.4).
Le mappe geografiche comportano un rischio particolare. La geolocalizzazione IP ricavata dalle registrazioni dei fornitori è approssimativa e gli indirizzi possono appartenere a VPN, fornitori di hosting o reti mobili. Mostrare tali localizzazioni come una regione o un raggio, con fonte e data, mai come un segnaposto su una strada. La sede legale di un fornitore, i suoi server e i suoi clienti possono trovarsi in tre paesi diversi; una mappa di "dove è andato il denaro" deve precisare quale di questi elementi rappresenta.
Una figura è un documento probatorio
In tribunale una figura è parte delle prove, o almeno una sintesi sulla quale il tribunale fa affidamento. Il fatto che un grafico costituisca una prova autonoma o soltanto un ausilio varia tra gli ordinamenti; in ogni caso, trattarlo come un documento probatorio. Deve avere un identificativo univoco e una versione corrispondenti alla relazione, il limite di acquisizione dei dati e i dati di origine, le righe dell'appendice che supportano ogni arco, importo e data, nonché l'autore e lo strumento. Generare le figure a partire dai dati anziché disegnarle e conservare il file di input corredato del relativo hash, affinché l'esperto della controparte possa rigenerare la stessa immagine:
{
"figure_id": "FIG-04",
"version": 2,
"title": "Movement of the stolen 41.6 BTC, 14 to 16 March 2026",
"source_file": "fig04_edges_v2.csv",
"source_sha256": "9c1e…a07b",
"appendix_rows": "A14-A31, B3-B9",
"data_cutoff": {"bitcoin_block": 941350, "ethereum_block": 24812000},
"generated_with": {"tool": "open-source graph layout library", "version": "12.1"},
"supersedes": "FIG-04 v1, report v1.0",
"author": "Examiner 2"
}
Se una figura cambia tra la relazione e l'udienza, il manifesto ne registra il motivo e la versione mostrata in tribunale deve essere quella comunicata alle parti. Una figura che compare per la prima volta in udienza, o differisce dalla versione comunicata, è facilmente contestabile e può essere esclusa (Lezione 8.4).
Progettare per l'aula di tribunale
Una figura destinata al tribunale serve al giudice o al collegio, ai decisori non togati negli ordinamenti che li prevedono e all'esperto della controparte, che verificherà ogni numero. Potrebbero trovarla in fascicoli cartacei, spesso fotocopiati in scala di grigi e ridotti; proiettata in un'aula di tribunale a diversi metri di distanza; su schermi condivisi durante udienze in videoconferenza; oppure in file elettronici su qualsiasi dispositivo. Progettare per le condizioni peggiori: stamparla in scala di grigi nelle dimensioni del fascicolo, osservarla proiettata dal fondo di una stanza e verificare che ogni etichetta sia leggibile senza ingrandimento.
- Mettere la legenda per prima, in alto: "linea continua: trasferimento registrato sulla blockchain; linea tratteggiata: inferenza dell'esperto, con il relativo grado".
- Utilizzare nomi semplici: "indirizzo di deposito presso l'exchange K", non "cluster 88412".
- Rendere conto dell'intero valore: se sono entrati 41,6 BTC, mostrare dove sono andati tutti i 41,6 BTC, comprese commissioni, saldi non movimentati e importi non tracciati.
Mostrare l'incertezza
L'incertezza chiaramente espressa nella relazione spesso scompare nella figura. Assegnare un grado a ogni arco inferito utilizzando gli stessi termini della relazione, come "forte supporto" o "molto probabile", e nessun termine più forte. Mostrare gli intervalli quando i metodi non concordano: se FIFO attribuisce 2,0 BTC all'exchange K e haircut ne attribuisce 0,7 BTC (Lezione 3.3), mostrare entrambi i valori o l'intervallo, non il numero più favorevole. Mostrare i candidati: un rilascio da un bridge scelto fra tre va rappresentato con le alternative oppure annotato con "1 di 3 candidati nella finestra temporale". Arrotondare nella figura, riportare i valori esatti nell'appendice: "circa 2,95 BTC" nell'immagine, otto decimali nella tabella; "1.912.400,000000 USDC" in una figura suggerisce una certezza sull'attribuzione che l'importo non conferisce. Datare ogni valore in valuta fiat, indicando la fonte del prezzo e specificando se si riferisce al momento di ciascun trasferimento, del furto o della relazione; in un mercato volatile questi valori possono differire di varie volte.
Evitare visualizzazioni fuorvianti
Le visualizzazioni traggono in inganno più spesso attraverso la disposizione che attraverso dati errati:
- Assi troncati o incoerenti: un grafico a barre che inizia da 900 ETH fa apparire 950 come il doppio di 925. Utilizzare una sola scala nei grafici destinati al confronto.
- Area rispetto a lunghezza: se il raggio di una bolla rappresenta il valore, raddoppiare il raggio quadruplica l'area. Proporzionare l'area, non il raggio.
- Le scale logaritmiche non etichettate vengono lette come lineari.
- Colore suggestivo: il rosso per un'entità soltanto sospettata implica un giudizio; riservare i colori di allarme ai fatti accertati, come un contratto di exploit confermato.
- Omissione selettiva: mostrare soltanto i percorsi che raggiungono il sospettato ed escludere flussi più consistenti diretti altrove.
Prima che una figura venga inserita nel fascicolo, un revisore che non l'ha realizzata esegue una verifica pre-udienza:
| Verifica | Domanda da porre |
|---|---|
| Coerenza | La figura afferma o suggerisce un grado di certezza non presente nella relazione? |
| Formulazione neutrale | Le etichette sono prive di conclusioni giuridiche come "riciclaggio" o "proventi di reato"? |
| Colore neutrale | Il colore di allarme è riservato ai fatti accertati? |
| Completezza | I flussi che si allontanano dal sospettato sono mostrati con la stessa chiarezza di quelli diretti verso di lui? |
| Verifica di equità | L'esperto della controparte concorderebbe sul fatto che la figura rispecchia i dati, pur contestando l'inferenza? |
| Verifica del supporto | È leggibile stampata in scala di grigi e proiettata dal fondo della stanza? |
| Didascalia | La didascalia esprime il messaggio principale con le parole della relazione e cita la risultanza? |
Un'animazione che fa "sfrecciare" i fondi attraverso gli indirizzi suggerisce una velocità e una certezza che i dati potrebbero non supportare e non può essere inserita in un fascicolo cartaceo. Preparare una versione statica di ogni sequenza animata, comunicare entrambe alle parti e rendere il fotogramma finale identico alla figura statica.
Accessibilità
Le relazioni vengono lette sui telefoni, stampate in scala di grigi e lette da persone con deficit della visione dei colori, che interessa circa 1 uomo su 12 e 1 donna su 200. Le Web Content Accessibility Guidelines (WCAG 2.1 e 2.2) forniscono obiettivi utili anche per i documenti: contrasto del testo di almeno 4,5:1 (3:1 per il testo di grandi dimensioni), almeno 3:1 per gli elementi grafici significativi come linee e bande e mai il solo colore per veicolare un significato. Le linee continue per ciò che è osservato e tratteggiate per ciò che è inferito funzionano anche in scala di grigi. Fornire per ogni figura un testo alternativo o una didascalia che esprima il messaggio principale ("due terzi dei fondi sono stati trasferiti allo swap cross-chain"), non soltanto una descrizione ("un diagramma di Sankey"), e includere la tabella sottostante nell'appendice affinché gli utenti di lettori di schermo e i revisori ricevano le stesse informazioni.
Focus sull'esame: abbinamento della visualizzazione alla domanda (Sankey per gli importi, grafo dei flussi per i percorsi, linea temporale per l'ordine, mappa dei cluster per la risoluzione delle entità) e una sola affermazione per figura; regole dei diagrammi di Sankey (conservazione, commissioni e importi non tracciati espliciti, una sola unità, nessun ciclo); costruzione di un elenco di archi senza unire gli indirizzi privi di etichetta; disposizioni a livelli rispetto a disposizioni basate sulle forze; frecce continue per i trasferimenti registrati, tratteggiate e corredate del relativo grado per le inferenze, e indicazione del punto in cui si è interrotto il tracciamento; UTC più ora locale dichiarata ed eventi on-chain e off-chain separati nelle linee temporali; geolocalizzazione IP come regione con fonte, mai come segnaposto su una strada; figura come documento probatorio con identificativo, versione, limite di acquisizione, hash della fonte e righe dell'appendice, e corrispondenza con la versione comunicata alle parti; progettazione per la stampa in scala di grigi e la proiezione; rappresentazione degli intervalli tra metodi, dei candidati alla corrispondenza e dei valori fiat datati; disposizioni fuorvianti e verifica pre-udienza; versioni statiche delle animazioni; obiettivi WCAG di 4,5:1 per il testo e 3:1 per gli elementi grafici.
Domande di esercitazione
Verifica la tua comprensione. Queste domande non contano per l’esame.
Accedi per salvare i tuoi progressi e riprendere da dove hai lasciato. È gratuito. Accedi