Una analisi sulla potenziale capacita’ di anonimato delle criptovalute

Cosa-ci-racconta-analisi-blockchainChi dice che con i bitcoin si possono tranquillamente evadere le tasse, effettuare acquisti di prodotti illegali o finanziare il terrorismo e’ male informato o in mala fede. Vediamo di capire il perche’.

Indirizzi IP

L’indirizzo ip, per i pochi che ancora non lo sanno, e’ l’indirizzo numerico assegnato agli utenti connessi ad Internet. Dall’indirizzo ip usato da un utente, possiamo sapere anche da quale Stato, spesso anche da quale citta’, si sta collegando l’utente, e con quale Internet provider. Tramite l’Internet provider, diventa possibile arrivare a conoscere esattamente quale abbonato ha utilizzato quella connessione.

E’ diffusa la convinzione che da un wallet, o indirizzo bitcoin, non essendo legato ad un indirizzo ip, ad una email o ad altri tipi di informazioni sull’utente, si possa garantire un alto livello di anonimato.
Ci sono diversi motivi per i quali questa convinzione e’ pericolosamente sbagliata.

Mappare tutti gli indirizzi IP dei client bitcoin

Bisogna innanzitutto considerare che il sistema dei Bitcoin e’ una rete P2P (peer to peer).
Questo vuol dire che non c’e’ un server centrale, e i client bitcoin si collegano direttamente tra di loro.

Ogni client bitcoin, o meglio ogni nodo della rete P2P, colleziona una lista di indirizzi IP degli altri nodi della rete che conosce. Un client bitcoin normalmente limita questa lista a 20480 indirizzi, e quando riceve da altri nodi una richiesta degli indirizzi (getaddr) restituisce il 23% degli indirizzi ma comunque non piu’ di 2500 indirizzi.

In questo modo diventa relativamente semplice, con una serie di chiamate successivi ai gli indirizzi ricevuti, compilare una lista abbastanza completa degli indirizzi dei nodi che costituiscono la rete P2P.
Come esempio se ne puo’ avere una rappresentazione aggiornata in tempo reale sul sito getaddr.bitnodes.io, o scaricare un programma open source che fa questa operazione.

Tor

Tor e’ una rete per consentire agli utenti Internet di superare la censura imposta da alcuni stati, e per nascondere l’indirizzo ip utilizzato. I client bitcoin possono essere facilmente configurati per usare la rete TOR.
Ma questo non e’ sufficiente per assicurarne la garanzia di anonimato. Il web si riempie ogni giorno di piu’ di articoli che spiegano che anche se TOR e’ sicuramente un modo per aumentare la privacy sul proprio traffico Internet, questo sistema e tutt’altro che infallibile.
Nel caso poi dei bitcoin, e’ possibile costringere un nodo configurato per tor a rifiutare le connessioni via tor o altri servizi di anonimizzazione, con la conseguenza di esporre il proprio indirizzo.

Collegare un indirizzo Bitcoin ad un indirizzo IP

I nodi della rete P2P bitcoin comunicano tra loro inviandosi messaggi, non solo per scambiarsi gli indirizzi ip degli altri nodi, ma diverse informazioni tra cui quelle relativamente ai pagamenti, o piu’ precisamente alle transazioni.
In queste transazioni c’e’ l’indirizzo bitcoin di chi effettua il pagamento ma non l’indirizzo ip del client, o nodo della rete, che effettua questa transazione.

Chi effettua il pagamento e’ un nodo come gli altri, che ha il suo indirizzo ip.
Inevitabilmente il primo nodo che “pubblica” nella rete P2P questa transazione, e’ il nodo che la ha creata e quindi quello del possessore. Se si potesse ascoltare in tempo reale tutti i nodi della rete P2P (qualche migliaio), sarebbe possibile effettuare questo controllo con precisione.
Forse puo’ sembrare impossibile, ma bisogna anche tenere conto delle attuali dimensioni della rete bitcoin: ogni giorno vengono effettuate massimo 100mila transazioni, che vuol dire meno di 2 transazioni al secondo (i bitcoin hanno un limite teorico attualmente di appena 7 transazioni al secondo).
Non si tratta di grandi numeri, e quindi diventa anche relativamente semplice raccogliere delle informazioni mirate, creando mappe di probabilita’, e concentrandosi di volta in volta sui nodi dei quali si vogliono avere informazioni.
E oltre ascoltare passivamente, e’ anche possibile sollecitare delle risposte specifiche, ad esempio per calcolare il tempo che impiega un client a propagare un messaggio ai nodi piu’ vicini, o a quali controlli riesca a fare piu’ velocemente.

Una transazione e’ per sempre

Si dice “un diamante e’ per sempre” per la sua resistenza duratura.
Ma anche le transazioni bitcoin resistono nel tempo: una volta che una transazione viene validata, viene memorizzata nella block chain, e li’ rimane per sempre. E’ per questo che le dimensioni della block chain crescono sempre. In questa transazione ci sono tante informazioni utili: la data e l’ora in cui questa transazione e’ avvenuta, il wallet o indirizzo bitcoin (o gli indirizzi) di chi fa il pagamento, e quelli di chi li riceve.

Un filo di arianna per seguire i pagamenti nella block chain

La block chain, tradotto letteralmente “la catena di blocchi”, e’ quindi l’insieme di tutte le transazioni bitcoin raggruppate in blocchi. Non solo il contenuto della block chain e’ pubblico, ma essendo i bitcoin un sistema P2P, la block chain viene distribuita e salvata da tutti i nodi della rete. Ovvero tutti quelli che hanno un client bitcoin hanno sul loro pc una copia della block chain, o meglio quasi tutti perche’ considerato che occupa diversi gigabyte, esistono anche “light client” (ad esempio quelli per tablet e smart phone) che ne tengono solo una parte.

Diventa quindi possibile seguire tutti i passaggi che i bitcoin fanno da un wallet all’altro, questa catena e’ un filo di arianna che ci consente di districarci dal labirinto costituito dalla catena dei blocchi.

Prendiamo l’esempio piu’ banale: se un negozio o una attivita’ espone un indirizzo bitcoin per effettuare i pagamenti, e conosciamo l’indirizzo bitcoin di un nostro amico, possiamo verificare nella blockchain se il nostro amico ha fatto un pagamento verso quella attivita’, di quando, e di quanto.

E’ vero che sia il negozio che il nostro amico potrebbero crearsi un nuovo indirizzo bitcoin, ma probabimente dovranno spostare e mettere insieme i bitcoin che hanno nei vari wallet creando nella blockchain delle visibili connessioni.

La potenza di attacco

Quanto abbiamo visto finora, consente di effettuare delle indagini anche senza aver bisogno della potenza di calcolo dei computer della NSA.

Ma se ad effettuare queste operazioni e’ una agenzia governativa, capace oltre che di disporre di strumentazioni adeguate, anche di poter andare da un’Internet provider o da un bitcoin exchange per farsi consegnare informazioni personali, diventa evidente come pensare di usare i bitcoin per attivita’ illegali e’ una operazione tutt’altro che sicura.

 

Articolo ripreso dal blog Criptovalute su Blogspot.it