In ambito di criptovalute si parla spesso di "attacco 51%" e delle gravi conseguenze che ha sul sistema colpito. In questo articolo rispondiamo dunque alla domanda "cosa significa attacco 51%?", spieghiamo come funziona dal punto di vista tecnico, cosa consente realmente di fare, cosa serve per sferrarlo e come difendersi

Lo stesso Satoshi Nakamoto, autore del whitepaper che presentò Bitcoin al mondo, metteva in guardia circa tale eventualità: in caso un singolo soggetto fosse riuscito a controllare più potenza di calcolo (hashing power) di tutti gli altri miner messi assieme, avrebbe potuto spendere più volte gli stessi Bitcoin (double spend) o compromettere/bloccare le transazioni. Questo scenario è successivamente stato ribattezzato Attacco 51%, proprio alla luce del fatto che l'aggressore avrebbe dovuto controllare oltre la metà (51%) della capacità di elaborazione totale per poterlo sferrare.

nota: questo articolo fa parte de La Guida Definitiva a Bitcoin.

Attacco 51%: spiegazione rapida

Per chi cerchi una spiegazione rapidissima alla domanda "che cos'è un attacco 51%?" basti dire che si tratta di un metodo che consente principalmente di spendere più volte le stesse monete. Per analogia con il mondo "reale", si pensi di possedere una singola banconota da 10 € e usarla per pagare la colazione al bar, poi rientrarne in possesso e saldare il pranzo al ristorante, il pieno di benzina alla macchina, comprare una maglietta nuova, l'aperitivo, il regalo per la fidanzata, la pizza e via così. Tutto con la stessa, medesima banconota che ogni volta "torna indietro"

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video) - attacco 51% spotlight

Con le monete fisiche questo non è possibile perché, contestualmente al pagamento, cediamo alla controparte l'unica copia che abbiamo di quello specifico pezzo di carta, e "fotocopiare" è relativamente difficile per chi non faccia il falsario di professione. Nel mondo digitale, invece, basta un copia-incolla per duplicare qualsiasi cosa... potenzialmente anche le monete. Proprio per far fronte a questo problema, le criptovalute prevedono un sistema di verifica che rende univoca e non-copiabile ogni moneta immessa in circolazione e ne traccia gli spostamenti in modo che non sia possibile crearne un duplicato.

L'attacco 51% scardina questo sistema di controllo, permettendo a chi lo sferra di inviare le monete a qualcun altro come forma di pagamento, per poi rientrarne in possesso, spenderle ancora e recuperarle di nuovo. Sebbene non permetta di creare nuove monete dal nulla (è una credenza errata abbastanza diffusa), un attacco 51% sferrato con successo consente all'attaccante di entrare in un ciclo vizioso "spendo-recupero-spendo-recupero" che sortisce un effetto del tutto simile.

Serve un altro esempio? Immaginiamo allora di comprare una casa e pagarla 100 criptomonete al momento del rogito. Sferrando un attacco 51% subito dopo, potremmo tornare in possesso di quanto pagato, detenendo così sia la proprietà della casa, sia delle monete.

La blockchain: il registro delle transazioni

Per capire come funziona l'attacco 51% dobbiamo ricordare che le criptovalute che impiegano un algoritmo Proof of work (PoW) come Bitcoin, Ethereum (prima della versione 2.0), Litecoin, Bitcoin Cash e molte altre si basano su un'architettura nella quale lo stato del sistema viene aggiornato in maniera decentralizzata dagli utenti. Con "stato del sistema" intendiamo, banalizzando al massimo, una "fotografia" di quante monete siano conservate nei singoli borsellini (wallet) e come ci siano arrivate

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video) - Bitcoin come funziona disegno 06

Ogni qual volta qualcuno invia denaro da un wallet ad un altro (come forma di pagamento, ad esempio), gli utenti che svolgono l'attività di mining verificano la validità dell'operazione e aggiornano lo stato del sistema scrivendo la movimentazione in un blocco di informazioni sulla blockchain, ovvero la struttura dati che contiene lo storico di tutte le movimentazioni di ogni moneta, dal conio alla successiva origine e destinazione di ogni invio.

È proprio questo registro che impedisce di spendere due volte le stesse monete, poiché tiene traccia di tutta la loro "vita" e di dove si trovino in ogni istante.

"Falsificare" questo registro è computazionalmente infattibile: poiché la connessione fra i blocchi della blockchain è garantita da un legame crittografico, nemmeno il più veloce supercomputer al mondo potrebbe riuscire ad alterarne uno senza creare una palese inconsistenza. O, meglio, potrebbe farlo... ma sarebbe necessario qualche milione di anni di elaborazione ininterrotta.

Come riconoscere la "vera" blockchain?

La blockchain cresce dunque nel tempo, mano a mano che i miner aggiungo nuovi blocchi contenenti i dettagli delle varie transazioni avvenute. Ma, trattandosi di un sistema decentralizzato senza un punto di governo unico, è certamente probabile che qualcuno promuova una propria versione della struttura dati: ciò può avvenire in seguito ad una mancata sincronizzazione (un problema di connessione, ad esempio) oppure in modo truffaldino.

Come possono dunque i miner distinguere la blockchain "principale" da tutte le varianti? Semplice: il protocollo di funzionamento detta che la blockchain più lunga (cioè quella più vecchia, composta dal maggior numero di blocchi) sia quella da seguire e sulla quale agganciare i nuovi blocchi

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video) - blockchain seguire la più lunga

Se ci pensiamo, ha perfettamente senso: significa che è la catena sulla quale è stato investito più lavoro di tutte le altre, ovvero quella "preferita" dalla maggioranza dei miner.

Come sferrare un attacco 51%

Ma... cosa succede se un singolo utente (oppure una coalizione di persone) detiene più potenza di calcolo di chiunque altro messo insieme? Ebbene: questo soggetto minerà blocchi più velocemente di tutti gli altri, e li aggancerà quindi alla blockchain prima di tutti gli altri proprio in virtù della maggiore velocità di elaborazione della quale dispone.

Non che questo costituisca un problema di per se, ma il nostro amico minatore si trova in una posizione di supremazia. Può infatti creare un fork della blockchain, ovvero un ramo parallelo a quello "regolare", e rimuovere da esso i blocchi aggiunti più di recente: fra questi, probabilmente ci sarà anche quello nel quale si confermava l'invio dal suo wallet di un ingente pagamento! Senza un blocco a testimoniare l'invio delle monete, è come se il trasferimento non fosse mai avvenuto: a tutti gli effetti, l'attaccante è ancora in possesso dei valori nel proprio borsellino

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video)

In questo momento, però, la trappola non è ancora scattata: non dimentichiamo infatti che chiunque può proporre la propria versione della blockchain e proporla agli altri miner, che però la rifiuterebbero in quanto di lunghezza inferiore rispetto alla catena legittima (ricordiamo che il protocollo prevede che la blockchain più lunga sia quella valida).

Tuttavia, l'aggressore può ora iniziare in autonomia a confermare le transazioni degli altri e agganciare i nuovi blocchi generati al proprio ramo, invece che a quello legittimo. Questo ramo crescerà così più velocemente di quello legittimo grazie alla maggior potenza di calcolo a disposizione dal malfattore, e arriverà un momento in cui la supererà in lunghezza. Non appena questo avviene, gli altri miner sono "obbligati" dal protocollo (che, come già ripetuto più volte, identifica il ramo più lungo come quello da seguire) ad agganciare i nuovi blocchi al ramo fasullo, cementificando il risultato

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video) - blockchain ostile fork takeover

L'attacco è ora completo: chi l'ha perpetrato ha fatto sparire nel nulla tutte le ultime transazioni e, se fra queste c'era un blocco nel quale si testimoniava l'invio di un pagamento dal suo wallet, è tornato in possesso delle monete precedentemente inviate.

Attaccare di nuovo creando un ulteriore fork

Nulla vieta all'attaccante di ripetere l'attacco seguendo gli stessi passaggi:

  1. effettuare un pagamento
  2. creare un nuovo fork senza il blocco che testimonia l'invio del denaro
  3. aggiungere blocchi al nuovo ramo fino a farlo superare in lunghezza quello precedente
  4. proporre il nuovo ramo di blockchain agli altri miner come quello "reale"
  5. tornare in possesso delle monete inviate con il primo pagamento

Fino a quando detiene la maggioranza assoluta della potenza di calcolo sulla rete della specifica moneta sotto assedio, può dettare legge.

Come guadagnare da un attacco 51%

L'attacco 51% permette insomma di rimuovere blocchi che certificano le transazioni avvenute e viene quindi sfruttato principalmente per tornare in possesso delle monete inviate. Ma come può un attaccante sfruttare questo meccanismo per guadagnare rapidamente? Semplice: scambiando le monete con quelle di un altro sistema criptovalutario

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video)

Nello specifico, l'aggressore procederà a:

  1. vendere le monete che già possiede in cambio di una criptovaluta differente (preferibilmente una "privacy coin" difficilmente tracciabile, come Monero, ZCoin, Zcash eccetera)
  2. sferrare l'attacco 51% alla blockchain di partenza, facendo sparire ogni traccia dell'avvenuta vendita iniziale - questo gli permetterà di tornare in possesso delle sue monete originarie
  3. vendere la privacy coin appena comprata in cambio di euro/dollari (oppure scambiarla con Bitcoin per poi vendere questi ultimi)
  4. ripetere il ciclo

Cosa può/non-può fare l'aggressore?

La linea d'azione appena trattata è quella economicamente più stimolante per chi si trovi nelle condizioni di abusare un sistema criptovalutario tramite attacco 51%. Chi detiene la maggioranza assoluta della potenza di calcolo su una determinata criptovaluta potrebbe però anche compiere altre azioni nefaste. Le principali sono:

  • "comprare" monete di altre blockchain e quindi rientrare in possesso di quanto pagato (come spiegato sopra)
  • annullare pagamenti per beni e servizi già pagati (come spiegato sopra)
  • bloccare i pagamenti e trasferimenti altrui
  • impedire l'esecuzione delle dApps (Smart Contract)
  • saccheggiare alcuni tipi di Smart Contract (deposit-challenge-verify)

In tutti i casi, non potrebbe:

  1. creare monete dal nulla
  2. movimentare a piacimento monete ferme da tempo in altri wallet
  3. falsificare la firma crittografica altrui
  4. rimuovere blocchi molto vecchi (dovebbe avere una superiorità % schiacciante rispetto s tutti gli altri miner combinati per far crescere la propria blockchain fino a superare quella legittima in un tempo ragionevole)

Come recuperare dopo un attacco 51%

In caso di attacco 51% portato con successo, annullare l'operazione truffaldina e recuperare la stabilità del sistema non è semplice.

  1. Innanzitutto, è necessario che la collettività dei miner impegnati sul progetto colpito individui e concordi circa un punto temporale, e dunque un blocco, giudicato "stabile" e precedente all'attacco
  2. A partire da esso, si crea un fork della blockchain senza tutti i blocchi successivi
  3. I miner devono violare apertamente il protocollo: invece di aggiungere blocchi alla blockchain più lunga (che è attualmente quella "malata", sul quale l'aggressore ha compiuto il suo sordido attacco), devono proseguire sul fork "sano" appena concordato

Ovviamente la soluzione è difficile, poiché richiede un coordinamento consapevole fra i miner, e tecnicamente poco pulita, poiché bisogna violare apertamente il protocollo

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video)

Inoltre, i puristi che vedono "il codice sorgente come legge" e la blockchain come permanente e immutabile potrebbero rifiutarsi di cooperare per motivi filosofici: può sembrare curioso, ma è esattamente per queste divergenze di opinioni che nascono progetti come Ethereum Classic.

Infine, è importante precisare che, fino a quando non viene risolto il problema di fondo e la capacità di calcolo di tutto il resto dei miner non supera quella dell'aggressore, egli potrà ripetere l'attacco sulla nuova blockchain in qualsiasi momento. L'alternativa è modificare l'algoritmo di mining per fare in modo che l'attrezzatura corrente risulti meno efficiente e l'attaccante perda la propria supremazia: detta linea d'azione costituisce però un costo per tutti, compresi i miner legittimi.

Cosa protegge da un attacco 51%

A questo punto è lecito chiedersi se questo pericolo sia sufficiente a smontare completamente la reale applicabilità delle criptovalute come metodo di scambio. In vero, perlomeno per le criptovalute principali, ci sono molteplici elementi operativi che rendono un attacco 51% decisamente difficile da sferrare.

Il principale è sicuramente di tipo economico: ottenere più potenza di calcolo di tutto il resto della rete significa investire ingenti somme di denaro in attrezzatura specializzata ed avere poi a disposizione una fornitura elettrica sufficiente ad alimentare il tutto.

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video) - bitcoin whitepaper 51 attack

Di più: non basterebbe un'azione puntuale: sarebbe invece necessario mantenere in funzione indefinitamente il tutto, assicurandosi di continuare a mantenere la supremazia nel tempo. In caso contrario, il resto dei miner legittimi avrebbe l'occasione di accordarsi per annullare l'operazione truffaldina e riportare le cose alla normalità.

L'alternativa all'acquisto diretto dell'hardware è quella di raccogliere una coalizione di miner truffaldini e guidarli verso l'attacco. Per le reti principali servirebbero probabilmente qualche migliaio di persone sparpagliate su più continenti, molte delle quali con un forte incentivo economico a rimanere oneste, quindi... "auguri!" a chiunque tenti di organizzare e coordinare l'operazione!

Ci si potrebbe allora rivolgere ai servizi di cloud computing, che "affittano" enormi potenze di calcolo per periodi predeterminati. Anche qui, però, c'è il problema del costo importante da sostenere e della necessità di agire molto rapidamente, dato che l'assedio durerà solo fino al termine del noleggio.

Infine, ma non certo per importanza, ricordiamo che chiunque riuscisse ad ammassare una così ingente quantità di potenza di calcolo avrebbe probabilmente un guadagno maggiore, con un rischio notevolmente inferiore di vedere il proprio lavoro vanificato, a "giocare pulito" e limitarsi ad effettuare un mining legittimo: fra la ricompensa per la generazione dei blocchi e le commissioni sulle transazioni, otterrebbe comunque guadagni interessanti sul lungo periodo, e senza alcun timore.

Come difendersi da un attacco 51%?

L'attacco 51% è reso possibile dalla natura decentralizzata del protocollo. Al momento, non esiste una reale soluzione che lo impedisca pur preservando la decentralizzazione.

Per noi utenti, la miglior linea di difesa è quella di scegliere criptovalute:

  1. sulle quali il mining sia quanto più decentralizzato possibile, ovvero svolto da numerosi soggetti diversi
  2. sulle cui blockchain sia già impiegata una quantità elevata di potenza di calcolo - l'attrezzatura per surclassare tutti gli altri messi assieme e la quantità di energia elettrica necessaria ad alimentarla avrebbe costi proibitivi
  3. con una storicità e community importanti - gli interessi in gioco sono più alti, e c'è un forte incentivo economico a far sì che il sistema prosegua in modo legittimo

» Leggi: Migliori criptovalute 2019: quali comprare per guadagnare subito? (video guida, alternative a Bitcoin)

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video) - migliori criptovalute 2018 spotlight

In alternativa, possiamo valutare di scegliere solo progetti altamente centralizzati, come Ripple o Libra di Facebook. Detti sistema, in virtù dell'elevato controllo centrale, sono drasticamente meno esposti al rischio di un attacco 51%

» Leggi anche: Guida a Libra, la criptovaluta di Facebook

Attacchi 51% nella storia

Per quanto appena detto, sferrare un attacco 51% è estremamente difficile, ma non impossibile. Ad essere esposte sono soprattutto le criptovalute minori, nelle quali vi siano pochi miner attivi, magari di tipo "amatoriale" e con poca potenza di elaborazione a disposizione. In tal caso, un aggressore potrebbe investire in attrezzatura affittata in cloud e abusare del sistema senza investimenti troppo onerosi.

Fra gli incidenti più rilevanti riscontrati in passato ho selezionato questi:

Attacco 51% cos'è: significato spiegazione facile (Bitcoin criptovalute, video) - ethereum classic etc 51 attacco

Attacco 51% a Bitcoin: è possibile?

In questo articolo abbiamo visto cosa è l'attacco 51%, da cosa sia reso possibile, quali conseguenze comporti e cosa serva per sferrarne uno. Chi stesse già pensando all'applicabilità della tecnica contro Bitcoin troverà qualche calcolo in quest'altro approfondimento:

» Leggi: Un attacco 51% a Bitcoin è possibile/fattibile? Cosa serve? Quanto costa?