15-10-2018 6 minuti

Bitcoin, Palloncini rossi e Disturbo di personalità multipla

scavolize Scritto da Andrea Scavolini

Molti grandi sistemi distribuiti trovano nella propagazione delle informazioni una delle condizioni essenziali per il loro corretto funzionamento. Prendiamo quindi un comune scenario in cui solo i partecipanti che sono a conoscenza di determinate informazioni possono competere per un qualche premio, cosicché i partecipanti informati abbiano un incentivo a non propagare le informazioni ad altri: un esempio recente in cui si è manifestata tale condizione è la “DARPA Network Challenge 2009”, da cui è scaturito l’interessante articolo di alcuni ricercatori della Microsft, “On Bitcoin and Red Balloons”.

 

Durante la DARPA Network Challenge del 2009 , è stato richiesto a diverse squadre di concorrenti di individuare 10 palloni meteorologici rossi che erano stati dispersi in tutti gli Stati Uniti. La strategia, che ha condotto alla vittoria della sfida, è stata ideata da un team di studenti del MIT, ed è stata proprio quest’ultima che i ricercatori Microsoft hanno deciso di scomporre e analizzare per delinearne un "vettore di attacco".

 

La strategia del team del MIT consisteva nell’incentivare la diffusione delle informazioni, in modo che potessero coprire il più ampio spazio possibile, spendendo il minor numero di risorse. Per fare questo il team ha offerto una ricompensa di $ 2000 per ogni pallone individuato, $ 1000 per ogni persona che avesse reclutato una altro cercatore di palloncini, $ 500 di ricompensa per il suo recluatore, poi $ 250 e così via. Ogni singolo partecipante era quindi incentivato a reclutare praticamente qualunque persona che potesse entrare in  contatto con lui, perché così facendo aumentava continuamente la sua probabilità di ricevere un premio. Tuttavia, reclutando più persone, aumenta anche il livello di concorrenza: una volta che altre persone si sono introdotte nella rete, e che quindi possono reclutarne altre  e reclamare un premio, si riduce anche l'importo che il primo reclutatore riceverebbe se il pallone fosse stato trovato all'interno della propria rete di referral.

 

Questo meccanismo di incentivi così strutturato crea un incentivo involontario in grado di aiutare gli attori malintenzionati: un utente malintenzionato potrebbe creare reclutatori falsi per ottenere i massimi vantaggi per sé. Nell'esempio della DARPA Network Challenge, se un utente malintenzionato avesse creato identità false che si sarebbero reclutate a vicenda in una catena e in tale catena un utente genuino avesse trovato un palloncino, la ricompensa dell'attaccante sarebbe stata aumentata di un fattore che si avvicina a 2.

 

Prima di continuare è necessario chiarire un paio di concetti. Con il termine Sybil Attack intendiamo un attacco mediante il quale un aggressore  è in grado di sopraffare una rete che dipende dalle identità; è un attacco in cui un utente possessore di diversi nodi tenta di “isolare” dal network principale un nodo altrui, fingendo di rappresentare diversi utenti sparsi per la rete. E non sarà noto alla rete che i nodi siano controllati dalla stessa entità contraddittoria.  Questo tipo di attacco ad una rete fu chiamato così nel 2002  su suggerimento di Brian Zill, un ricercatore Microsoft, in analogia con il romanzo “Sybil” di Flora Rheta Schreiber, che parla di un caso clinico riguardante una donna a cui è stato diagnosticato un disturbo dissociativo dell'identità o dell’identità multipla. Prima del 2002 l'attacco era chiamato “pseudospoofing”, termine coniato da L. Detweiler.

 

Ad esempio, un utente fraudolento potrebbe generare più computer, macchine virtuali e indirizzi IP; potrebbe creare più account con diversi nomi utente e indirizzi e-mail, e fingere che esistano tutti in paesi diversi. Nel caso ci riuscisse, sarà possibile per lui disconnettere il nodo attaccato non inoltrandogli i blocchi arrivati dal resto della rete, e inoltrare solo i blocchi che l’attaccante creerà appositamente, realizzando in questo modo un fork della blockchain principale (una catena parallela fraudolenta) e generando un double spending. Il nodo attaccato potrebbe anche essere portato a fare affidamento su transazioni con 0 conferme, inviate dai nodi attaccanti che possiederanno la facoltà di effettuare un double spending.

 

In un modello centralizzato ci sono solo 2 Hop (dall’inglese “salto / saltello”, ovvero la trasmissione di informazioni in una rete da qualsiasi "stazione" arbitraria a un altro a qualsiasi punto arbitrario della rete tramite i collegamenti tra i due) tra due connessioni qualsiasi poiché ogni comunicazione passa attraverso un'entità centrale. Questi sistemi possono tentare di evitare questa tipologia di attacchi richiedendo, ad esempio,  che un singolo IP non possa creare più di un numero specifico di account utente in un dato intervallo di tempo. Queste autorità centrali possono garantire l'unicità delle identità anche attraverso altri sistemi, come certificati o chiavi incorporate nell'hardware dei dispositivi.

 

Diversamente, nelle reti sia decentralizzate o distribuite il numero di Hop è molto maggiore di 3. Nel rete di Bitcoin sono necessari almeno “3+1” nodi onesti per assicurare in modo conclusivo la correttezza di una transazione o per ottenere un consenso definitivo. Queste architetture di rete risultano vulnerabili ad un Sybil Attack, come dimostrato nello studio sopracitato, questo perché un certo numero di nodi potrebbe ipoteticamente colludere per un double-spending e creare un fork della blockchain principale.

 

I matematici dello studio hanno analizzato gli incentivi economici delle reti ed è esattamente ciò che sta alla base della sicurezza della blockchain di ogni singola criptovaluta, in quanto un attore fraudolento attacca a scopo di lucro. In una rete blockchain questo viene fatto tramite un “double spending”  o manipolando il meccanismo di generazione di monete, situazioni che dipendono entrambe dalle identità. Le conclusioni del loro studio sono un semplice insieme di linee guida che stabiliscono quali siano le caratteristiche che devono possedere gli incentivi in una qualsiasi rete, per essere resistente ad un Sybyl Attack: deve essere presente un incentivo a diffondere le informazioni corrette e la rete non deve prevedere dei vantaggi per la duplicazione o falsificazione delle identità.

 

Questa analisi del protocollo Bitcoin è basata sulla topografia della rete. La ragione per cui Bitcoin è resistente ad un Sybyl Attack è che le identità sono legate alla PoW (Proof-of-Work), la prova del meccanismo di lavoro, che è molto costosa e, ovviamente, non può essere simulata.

 

I nodi all'interno della rete assimilano anche la provenienza della PoW e allocano le risorse per ottimizzare tale connessione, in modo che possano ricevere le informazioni il più rapidamente possibile e iniziare a lavorare per il prossimo blocco,  contendendo lo spreco di risorse. Questa ristrutturazione adattativa delle connessioni porta i minatori a formare una piccola rete, a livello mondiale, permette di lavorare con un numero totale di Hop inferiori a 3 per la trasmissione delle informazioni.

 

Inoltre, sia i nodi che i miners sono entrambi intrinsecamente incentivati ??a propagare il blocco su cui stanno lavorando: infatti, se il resto della rete stesse lavorando su un blocco diverso, ci sarebbero buone probabilità che il blocco in fase di elaborazione rimanga orfano dalla rete, sprecando così lavoro. Infine, possiamo aggiungere che non incentiva a duplicare se stessi, piichè non serve ad aumentare la ricompensa.

 

Abbiamo quindi esposto come Bitcoin sia una rete “Sybil-proof”, che permette l’esistenza di una versione puramente peer-to-peer di denaro elettronico per spedire direttamente pagamenti online da un'entità ad un'altra, senza passare tramite un'istituzione finanziaria: in maniera sicura e senza possibilità di double-spending. Il modello utilizzato all'interno di Bitcoin sfrutta la nostra avidità economica  e la trasforma in un particolare meccanismo per stabilire il consenso che impedisce, o meglio rende sconveniente, ai partecipanti di attaccare: questa è l’unica soluzione possibile, poiché non esistono reti che prevedano schemi di ricompensa adeguati in cui la strategia dominante sia quella di abbinare l’incentivo alla propagazione delle informazioni e la non-autoclonazione.

 

La maggior parte delle criptovalute alternative a Bitcoin è vulnerabile a un Sybil Attack: questo è un problema di tutte le reti che non prevedano un meccanismo di consenso basato sulla PoW e delle adeguate ricompense per la corretta propagazione delle inofrmazioni. Per fare un  piccolo esempio, all'interno del circuito IOTA, affinché una transazione possa essere validata, l'utente deve prima risolvere e validare due transazioni, già avvenute nel passato: sarebbe ciò a permettere di avere la certezza che gli utenti siano "reali" e che quanto avvenuto in passato entri a far parte del grafo aciclico diretto, il Tangle.

 

Ma utilizzando le linee guida delineate in questo studio scopriamo però che non sono presenti incentivi alla propagazione delle informazioni oltre alla transazione di un partecipante. Per questo motivo gli hacker potrebbero essere incentivati a duplicare la propria identità per eseguire un double spending. Pertanto, IOTA non soddisfa nessuno dei 2 i criteri stabiliti dal team della Microsoft per una rete Sybil-proof.