Mixer, CoinJoin e criptovalute orientate alla privacy · Lezione 1 di 5
Mixer custodiali
10 min di lettura
Un mixer custodiale riceve le monete di un cliente e in seguito ne versa altre, perciò il collegamento on-chain tra deposito e pagamento semplicemente non esiste. Per un investigatore questo significa due cose: basandosi solo sulla blockchain, il massimo che si può produrre è un insieme di candidati fondato su ipotesi dichiarate; e, quando un mixer viene smantellato, i suoi server possono trasformare quei candidati in registrazioni. Sapere quale delle due situazioni si sta affrontando e dichiararlo è la competenza forense che questa lezione sviluppa.
Come funziona un mixer custodiale
Il cliente richiede un ordine, riceve un nuovo indirizzo di deposito e indica uno o più indirizzi di pagamento, un ritardo e talvolta un livello di commissione. Trascorso il ritardo, l'operatore versa l'importo depositato meno la commissione dalla propria riserva, composta dalle monete di clienti precedenti. Wu e colleghi (Towards understanding and demystifying Bitcoin mixing services, 2021), che hanno studiato diversi servizi effettuando depositi di prova, hanno descritto due meccanismi:
| Meccanismo | Come vengono effettuati i pagamenti | Quadro on-chain | Esempio dello studio |
|---|---|---|---|
| Scambio | Monete della riserva inviate lungo catene di peel, un pagamento per ogni passaggio | Un input, due output per passaggio; tipi di script coerenti | Un servizio in cui gli utenti sceglievano il ritardo e la suddivisione dell'importo |
| Offuscamento | Depositi suddivisi in "chip" di valore fisso, raggruppati in transazioni con output di pari importo | Molti output uguali, come in un CoinJoin creato da un unico operatore | ChipMixer, dove gli utenti potevano anche prelevare chip importando le chiavi private fornite dal servizio |
Due caratteristiche sono importanti come prove. Molti servizi rilasciano una lettera di garanzia, un messaggio firmato dal servizio che indica l'indirizzo di deposito e le condizioni dell'ordine; i clienti la conservano per dimostrare di aver effettuato un ordine. Molti forniscono inoltre ai clienti abituali un codice, affinché non ricevano mai indietro le proprie monete. Entrambi sono reperti che possono trovarsi sul dispositivo di un sospettato o in un database sequestrato e, in un modo che la blockchain non può mai consentire, collegano una persona a un ordine (vedere la lezione Wallet su dispositivi sequestrati). Alcuni servizi si sono spinti oltre: l'operatore di Helix, che ha elaborato circa 354.468 BTC dal 2014 al 2017, ha creato un'interfaccia che consentiva ai mercati del darknet di inviare i prelievi dei clienti direttamente al mixer.
Il quadro on-chain su ciascun lato
Sul lato del deposito, il percorso è deterministico fino all'indirizzo di deposito e, di solito, per un ulteriore passaggio, quando l'operatore consolida i depositi nel proprio cluster. È importante sapere come è stato identificato quel cluster: un'etichetta basata su un deposito di prova effettuato personalmente, un'etichetta ricavata da dati sequestrati o un'etichetta commerciale hanno livelli di affidabilità diversi (vedere la lezione Fonti di attribuzione e loro affidabilità). Annotare quale sia stata usata.
Sul lato dei prelievi, i pagamenti escono dalla riserva attraverso catene di peel o in batch. La forma dei prelievi può diventare di per sé una prova della loro origine. Zavřel e colleghi (Tumbling down the stairs: exploiting a tumbler's attempt to hide with ordinary-looking transactions using wallet fingerprinting, presentato a DFRWS EU 2025 e pubblicato su Forensic Science International: Digital Investigation) hanno creato un'impronta del wallet per un tumbler a partire da circa 40 delle sue transazioni, utilizzando combinazioni rare della versione della transazione, del segnale replace-by-fee e del locktime che il suo software impostava apparentemente in modo casuale. Seguendo in avanti e all'indietro le transazioni corrispondenti, hanno separato 344 indirizzi del servizio da 461 indirizzi dei clienti. Hanno anche avvertito che la corrispondenza con un'impronta è probabilistica e non hanno riportato un tasso di errore convalidato. Un'impronta può quindi attribuire un pagamento al mixer con grado C; non può indicare a quale cliente fosse destinato.
Una volta che i fondi entrano nel mixer, trattare il deposito come si tratterebbe un deposito presso un exchange: la blockchain termina al confine del servizio (vedere la lezione Tracciare attraverso servizi custodiali).
Analisi di tempi e importi
Senza registrazioni, l'esaminatore può solo chiedersi quali pagamenti siano compatibili con un deposito noto. I parametri sono l'importo del deposito, l'intervallo di commissioni pubblicizzato dal servizio, la commissione di rete e il ritardo massimo. La query qui sotto esamina una finestra.
-- Pagamenti candidati per un deposito di 0.50000000 BTC confermato al blocco 850,100
WITH payouts AS ( -- transazioni che spendono monete del cluster del mixer
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 -- ritardo fino a 144 blocchi
AND o.value_btc BETWEEN 0.4748 AND 0.4950 -- commissione 1-5%, commissione di rete fino a 0.0002
AND o.address NOT IN (SELECT address FROM mixer_cluster) -- escludi il resto interno
ORDER BY t.block_number;
La CTE individua le transazioni che spendono monete provenienti dal cluster del mixer. La query esterna mantiene i loro output che ricadono nella finestra temporale e il cui valore corrisponde al deposito meno una commissione dell'1–5% e meno fino a 0,0002 BTC di commissione di rete (0,5 × 0,95 − 0,0002 = 0,4748; 0,5 × 0,99 = 0,4950), ed esclude gli output che tornano nel cluster. Ogni numero nella clausola WHERE è un'ipotesi, e il risultato è valido solo quanto lo è il cluster.
La dimensione dell'insieme dei candidati è molto sensibile a queste ipotesi. Nelle transazioni di prova pubblicate da Tippe e Deckers (Unmixing the mix: patterns and challenges in Bitcoin mixer investigations, DFRWS EU 2025, nella stessa rivista), una ricerca su una finestra di 24 ore per l'importo esatto del deposito meno la commissione del mixer ha restituito due pagamenti candidati, uno dei quali era quello reale. Cercando nell'intervallo di commissioni pubblicizzato si sono ottenuti 4.453 candidati; usando un intervallo aperto da zero fino a quell'importo, 461.140. Quando il cliente ha suddiviso il pagamento tra due indirizzi, nessun singolo output corrispondeva all'importo complessivo. Ecco perché il risultato è l'insieme dei candidati insieme ai relativi parametri, mai «il» pagamento.
Una documentazione difendibile di tale analisi contiene:
- il txid, l'importo e il blocco del deposito;
- come è stato identificato il cluster del mixer e la data della sua istantanea;
- ciascun parametro e la relativa provenienza (commissioni e ritardi pubblicizzati dal servizio, archiviati);
- il numero di candidati per ciascun insieme di parametri, eseguendo la ricerca almeno due volte con intervalli di ampiezza diversa;
- il grado: una corrispondenza basata su tempi e importi è di grado D, e sale di grado solo con riscontri indipendenti, come le registrazioni (vedere la lezione Tracciare secondo uno standard probatorio).
Server sequestrati come prove
Gli smantellamenti cambiano il quadro, perché le registrazioni dell'operatore contengono il collegamento che la blockchain nasconde.
| Smantellamento (contesto) | Quanto riferito dagli investigatori | Rilevanza probatoria |
|---|---|---|
| Bestmixer, maggio 2019 | Sequestrati sei server in due paesi; operativo da maggio 2018 con un fatturato di circa 27.000 BTC; registrazioni di un anno di attività, inclusi indirizzi IP, dettagli delle transazioni, indirizzi e messaggi di chat; pacchetti informativi condivisi con altri paesi | Registrazioni a livello di cliente, distribuite a molte indagini |
| ChipMixer, 15 marzo 2023 | Sequestrati quattro server, 7 TB di dati e circa 1.909,4 BTC; si stima che dal 2017 siano stati riciclati 152.000 BTC, inclusi proventi di ransomware | Dati e fondi di riserva; le stime dei volumi sono quelle delle autorità |
| Bitcoin Fog, operativo dal 2011 al 2021 | Sono stati movimentati oltre 1,2 milioni di BTC; l'operatore è stato collegato tramite le registrazioni dei conti presso exchange, i cui depositi risalivano ai cluster del servizio, e tramite registrazioni associate ai primi pagamenti del dominio del servizio | L'identità è emersa dalle registrazioni; la difesa ha contestato l'affidabilità del software di clustering |
Tippe e Deckers, esaminando i casi ChipMixer, Helix e Bitcoin Fog, hanno osservato che in tutti e tre gli operatori sono stati identificati tramite informazioni off-chain, non tramite il solo tracciamento sulla blockchain.
Un database sequestrato è potente e rischioso. Prima di farvi affidamento, l'esaminatore verifica:
- Provenienza: la catena di custodia e i valori hash delle immagini dell'autorità che ha effettuato il sequestro, nonché il canale attraverso cui sono arrivati i dati (vedere le lezioni Autorità legale e cooperazione internazionale e Hashing, registrazione e catena di custodia).
- Schema e orario: il significato di ogni tabella e colonna, il fuso orario dei timestamp, gli ordini di prova o annullati.
- Completezza: i periodi di conservazione o cancellazione; un servizio che prometteva di cancellare i log dopo pochi giorni potrebbe contenere solo gli ordini più recenti.
- Riconciliazione: ogni deposito registrato dovrebbe corrispondere a una transazione on-chain diretta al suo indirizzo di deposito, e ogni pagamento registrato a un output on-chain. Riportare il tasso di corrispondenza per l'intera tabella, non solo per un campione.
- Integrità: se l'operatore avrebbe potuto alterare le registrazioni e se i totali interni corrispondono ai saldi di riserva on-chain.
Un ordine riconciliato e registrato in modo che un secondo esaminatore possa ripetere il controllo:
{
"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"
}
La registrazione cita il file del database e l'hash dell'immagine da cui proviene, fissando così la fonte. Specifica per ciascun indirizzo se la blockchain conferma la registrazione e tiene separati l'orario del database e il relativo fuso orario dall'orario del blocco. Lo scarto grezzo di quasi un'ora scompare una volta applicato il fuso orario del server: l'ordine è stato registrato circa dieci minuti prima della conferma del deposito, come previsto. Solo dopo questa verifica il collegamento tra deposito e pagamenti passa da «nessun collegamento» al grado B.
Limiti delle inferenze
Tenere presenti tre limiti. Primo, l'uso di un mixer non è di per sé una prova della provenienza dei fondi; molti utenti cercano riservatezza per motivi legittimi. Secondo, in termini di blockchain, la «fonte» di un pagamento è costituita dai depositi di altri clienti, quindi etichettare come contaminato ogni pagamento di un mixer, o ogni cliente, attribuisce un reato a persone che non hanno alcun collegamento con il caso. Terzo, una registrazione sequestrata prova ciò che il sistema dell'operatore ha registrato, e una registrazione riconciliata prova che il valore si è spostato nel modo registrato; nessuna delle due prova chi abbia inserito l'ordine. Per questo servono comunque prove relative a un account, a un dispositivo o alla rete.
| Affermazione | Supportata? |
|---|---|
| «L'indirizzo del soggetto ha inviato 0,5 BTC a un indirizzo di deposito nel cluster del mixer al blocco 850.100.» | Sì: flusso deterministico e un'etichetta del cluster con provenienza dichiarata |
«L'output bc1q…m2pz è uno dei due pagamenti compatibili con il deposito, date le ipotesi dichiarate su commissione e ritardo.» | Sì, come inferenza (grado D) |
«La registrazione dell'ordine sequestrata, riconciliata con la blockchain, collega il deposito ai pagamenti bc1q…m2pz e bc1q…r81d.» | Sì, grado B |
| «Tutti i pagamenti del mixer sono proventi del furto.» | No |
Focus sull'esame: i meccanismi di scambio e offuscamento dei mixer e le relative forme on-chain; le lettere di garanzia e i codici cliente come reperti che collegano una persona a un ordine; l'impronta del wallet sui prelievi di un mixer e la sua natura probabilistica; la creazione di un insieme di candidati basato su tempi e importi a partire da parametri dichiarati e la comunicazione della sua sensibilità (due candidati rispetto a 461.140); Bestmixer, ChipMixer, Helix e Bitcoin Fog come contesto e il fatto che gli operatori sono stati identificati tramite informazioni off-chain; la convalida di un database sequestrato (provenienza, schema e fuso orario, completezza, riconciliazione completa, integrità); perché non è giustificato etichettare come contaminati tutti i pagamenti o gli utenti di un mixer.