Il problema della sicurezza è assolutamente centrale nel mondo delle criptovalute. Le operazioni che hanno luogo in ambito blockchain devono infatti essere messe al riparo in ogni momento da attività tese a creare un profitto illecito da parte chi non ne avrebbe il diritto. Il problema è che non sempre lo sono, in quanto gli hacker sono sempre in agguato.

Tra i maggiori pericoli che si presentano a tutti coloro che investono soldi in asset virtuali, quello più temuto in assoluto è il cosiddetto attacco al 51%, noto anche come Majority Attack. A renderlo tale è soprattutto il fatto che un evento di questo genere rischia di provocare il discredito non solo della rete colpita, ma di tutto il settore, in quanto può ingenerare una crisi di sfiducia da parte degli investitori. Andiamo quindi a cercare di capire meglio di cosa si tratti e le sue possibili implicazioni.

Attacco 51%: di cosa si tratta?

Per attacco al 51% si intende il raid portato avanti da un singolo minatore o da un gruppo di essi, con il preciso intento di prendere il controllo della blockchain attaccata. In pratica, gli attaccanti per poterlo portare a termine devono riuscire a totalizzare il 51% della potenza di calcolo complessiva del singolo progetto (hash power).

Quando ciò accade, chi ha portato a termine l’attacco può in particolare dare luogo all’evento più temuto in assoluto dagli addetti ai lavori, ovvero la doppia spesa (double spending) dello stesso token. Possiamo paragonare questo evento alla classica falsificazione del denaro reale. A spiegare i timori collegati a questo evento è proprio la delegittimazione che può conseguirne. Gli utenti, infatti, potrebbero non sentirsi più adeguatamente protetti e cambiare i token posseduti in valuta fiat per indirizzarsi a un progetto più sicuro o, addirittura, abbandonare del tutto l’idea di investire in criptovaluta. Ove ciò accadesse le conseguenze sarebbero incalcolabili.

Un po’ di storia

Nel mese di giugno del 2014, il mining pool GHash.IO ha raggiunto un livello di circa il 55% del tasso di hash di Bitcoin in un arco temporale di circa 24 ore. Sino a quel momento un attacco al 51% era stato considerato puramente ipotetico dagli esperti, soprattutto nel caso dell’icona crypto inventata da Satoshi Nakamoto. Da quel momento, però, è diventato abbastanza chiaro come il pericolo fosse tutt’altro che una semplice ipotesi scolastica.

Se nel corso del mese successivo la quota di GHash.IO nel tasso di hash della rete è poi calato a poco più del 38%, l’impressione suscitata da quell’evento ha continuato ad agitare i sonni di criptofans e aziende del settore. Il rischio che un singolo miner o una mining pool possa prendere il controllo di una blockchain non è più scomparso dall’orizzonte del settore.

Da allora, infatti, sono stati molti i Majority Attack portati avanti, con risultati più o meno vistosi. Tra di essi occorre senz’altro ricordare quelli avvenuti nel corso del 2016 a danno di  Shift e Kripton. Mentre due anni dopo è toccato a Verge ritrovarsi di fronte ad un’insidia di questo genere.

L’attacco più lungo in assoluto, un vero e proprio assedio, è però avvenuto all’inizio di luglio del 2020, quando la blockchain di Bitcoin Gold è stata tenuta in scacco per dieci lunghi giorni dagli hacker. Un raid il quale ha costretto ad attivarsi non solo gli sviluppatori di BTG, ma anche quelli di altre aziende, arrivati a offrire il loro aiuto per cercare di riportare sotto controllo la situazione. L’attacco in questione non è stato neanche il primo nei confronti di Bitcoin Gold, se si considera che già all’inizio dell’anno ne erano stati condotti due nel breve arco di sei ore, con una doppia spesa che ha fruttato complessivamente oltre 70mila dollari.

Quello più caratterizzato da un punto di vista ideologico è stato invece l’attacco portato a Bitcoin Cash (ABC), nel novembre del 2020. In quella occasione, infatti, a portare avanti l’offensiva è stato un gruppo di ribelli, noto come Voluntarism.dev,  in segno di protesta contro la decisione presa dal management di imporre una tassa dell’8% sul mining, teso a finanziare il progetto. Un atto di protesta che, secondo Vitalik Buterin puntava addirittura a distruggere la rete.

Cosa accade a una rete blockchain nel corso di un attacco al 51%?

Come è noto, le nuove monete nella rete Bitcoin vengono create utilizzando computer per il cosiddetto mining, ovvero l’attività di calcolo necessaria per l’estrazione dei nuovi blocchi da aggiungere alla rete. I cosiddetti nodi, in particolare, sono computer i quali danno vita ad una vera e propria competizione tesa a precedere gli altri nell’aggiunta di un nuovo blocco, trovando la soluzione al problema matematico proposto. Una volta convalidato il blocco, chi lo ha estratto viene premiato con una ricompensa, che attualmente vale 6,25 Bitcoin.

Il procedimento è uguale per tutte le blockchain impostate sull’algoritmo di consenso Proof-of-Work, variando invece per quanto concerne quelle che utilizzano il meccanismo Proof-of-Stake, in cui i miner vengono scelti su base casuale tra quelli che depositano i token.

L’accordo intercorso tra i nodi riguardo a su cosa si basi un blocco legittimo è chiamato consenso e per poterlo conseguire occorre che la maggioranza di loro deve essere d’accordo sui criteri di validità di ogni nuovo blocco. Nel caso in cui diversi miner trovino diversi blocchi validi allo stesso tempo, i nodi privilegiano la blockchain con la cronologia più lunga e aggiungono il blocco ad essa.

In linea puramente teorica, se un’entità interna alla rete riesce ad ottenere il controllo di più del 50% della potenza di calcolo, quindi della struttura digitale, si troverebbe nella posizione di poter provare a selezionare il blocco corrente, in modo da iniziare il mining e tenersi i blocchi estratti. Una volta pubblicata, dando luogo ad un fork, questa catena concorrente sarà in grado di superare la catena originale, lasciando fuori tutte le transazioni da essa, di conseguenza, sabotandone l’immutabilità.

Per capire l’importanza di questa conseguenza, occorre ricordare che proprio l’immutabilità dei dati inseriti nella blockchain fanno di questa tecnologia un vero e proprio unicum, tanto da spingere molti a prevederne l’avvento in processi elettorali o processi in cui i dati devono essere assolutamente certificati.

Inoltre, l’attaccante potrebbe rifiutarsi di accettare i blocchi estratti da altri partecipanti alla rete, assicurandosi in tal modo che la concorrenza non possa ricevere la ricompensa spettante per l’operazione, sino addirittura a dare vita ad una vera e propria blacklist di indirizzi Bitcoin.

Per poterlo fare, quindi, e portare a termine un Majority Attack, l’attaccante deve assicurarsi la potenza di hash mancante alla propria per estrarre con successo e segretamente i blocchi su una copia della catena della rete che continua a funzionare parallelamente all’originale. Per poterlo fare deve acquistarla o noleggiarla e qui si viene a creare la condizione che fa di Bitcoin una blockchain praticamente impossibile da attaccare, a differenza di altre.

Gli attacchi al 51% sono molto costosi

Occorre sottolineare con forza come gli attacchi al 51%, oltre che estremamente insidiosi per la rete che li subisce, sono anche molto dispendiosi per chi li porta avanti. Per capirlo basta dare una rapida occhiata a quelli i quali sono stati condotti di recente contro Ethereum Classic, un fork della blockchain di Ethereum. Nel corso di tre raid operati in rapida successione, gli attaccanti sono stati costretti a noleggiare hash power per complessivi 3800 dollari. Per quanto riguarda un semplice attacco della durata di un’ora contro Bitcoin Cash, nel mese di aprile del 2020 ne poteva costare circa 7300.

In questo caso, però, gli attacchi sono ancora possibili proprio in quanto pur viaggiando su cifre consistenti, il conto finale non è assolutamente proibitivo come accade invece nel caso di Bitcoin. Per riuscire a condurre in porto un attacco al 51% si potrebbero utilizzare due strade:

  1. utilizzare dei dispositivi ASIC estremamente potenti, in una quantità pari a svariate centinaia di migliaia, dando luogo ad una spesa pari a qualche miliardo di dollari;
  2. affittare in cloud la potenza di calcolo necessaria. In tal caso la spesa necessaria sarebbe in effetti molto meno rilevante, attestandosi comunque nell’ordine delle centinaia di migliaia di dollari.

In un caso o nell’altro si viaggia su importi sin troppo elevati, tali da rendere impossibile nel primo e sconsigliabile nell’altro un attacco teso a impadronirsi della rete Bitcoin. Proprio questo, peraltro, spinge molti analisti a ritenere che il progetto di Satoshi Nakamoto non passerà mai all’algoritmo di consenso Proof-of-Stake, molto più performante in quanto a velocità delle transazioni e convenienza in termini di commissioni da versare.

L’importanza dell’hash power per gli attacchi al 51%

All’interno del suo ormai celebre whitepaper, Satoshi Nakamoto ha provveduto a delineare la natura delle commissioni di transazione nella rete Bitcoin, indicandole come un incentivo per i nodi a restare onesti. Nel caso in cui, però, qualcuno cedesse all’impulso di trarre profitto illecito dal controllo della rete, si troverebbe appunto a dover lottare contro i nodi fedeli. Una lotta nella quale dovrebbe impiegare quantità elevatissime di hardware ed energia.

Proprio le dimensioni della sua blockchain rendono estremamente complicato mettere in scena un attacco al 51% della rete. Secondo gli ultimi calcoli effettuati, sarebbe necessaria una spesa pari a circa 15 miliardi di dollari statunitensi per condurlo a termine. Siamo quindi su cifre non solo enormi, ma anche straordinariamente più elevate di quelle necessarie invece per poter attaccare le Altcoin, ovvero i token alternativi. In questi casi il costo dell’hash power necessario risulta molto più alla portata, in quanto basta noleggiarlo per circa un’ora per produrre sei blocchi. Nel caso di Ethereum Classic l’investimento di 3800 dollari è stato un vero e proprio investimento per l’attaccante, fruttando circa un milione di dollari.

Gli attacchi al 51% delle blockchain basate su Proof-of-Stake: cosa accade?

Sinora abbiamo dato particolare risalto agli attacchi al 51% per quanto riguarda le blockchain basate su Proof-of-Work, ma il discorso vale anche nel caso di quelle che, invece, fondano il loro mining sull’algoritmo di consenso Proof of Stake. In questo caso la differenza è da ravvisare nel fatto che invece di inviare i blocchi selezionati dal processo di risoluzione di enigmi hash, la prova della posta in gioco è rappresentata da un sistema analogo a quello delle lotterie.

In pratica, ogni validatore provvede a inviare i suoi blocchi sperando che l’importo totale dei token messi in deposito, staking, porti le probabilità di essere scelto a livello di sicurezza. La risorsa richiesta ai fini di protezione della blockchain non è più l’hash power, bensì il token nativo della rete.  Per poterlo controllare, è necessario acquistarlo o guadagnarlo tramite le ricompense di staking. L’acquisizione del 51% dei token in staking di una rete rappresenta un’impresa molto più complicata rispetto al noleggio del calcolo.

A renderlo tale è una semplice legge di mercato: se si inizia ad acquistare la liquidità necessaria dagli exchange, si provoca un rialzo del prezzo di base del token e, a cascata, del costo necessario per l’attacco vero e proprio. Nel caso in cui una blockchain abbia un’offerta limitata a un determinato numero di token, l’attaccante necessita di controllare più della metà del valore complessivo in circolazione. Considerato come il market cap di molti progetti basati su PoS ammonti a svariate centinaia di milioni si può facilmente capire come anche in questo caso, come in quello di Bitcoin, un Majority Attack rappresenti una sorta di controsenso.

Come avviene il ripristino del sistema dopo un attacco al 51%?

L’ultimo capitolo spetta alla questione relativa al ripristino della catena attaccata. Anche in questo caso occorre fare una distinzione tra i due algoritmi di consenso, in quanto la procedura necessaria è leggermente diversa. Una blockchain PoW viene infatti riportata ad un punto precedente a quello ove è avvenuto l’attacco, in modo da non contare l’attacco, come se non fosse mai avvenuto. Al tempo stesso non vengono messi in atto accorgimenti tali da impedire all’attaccante di acquistare nuovamente l’hash power e dare nuova linfa all’attacco.

Nel caso in cui il responsabile abbia ancora hash power da utilizzare o una botnet (una rete di computer infettati da software malevolo in modo da poter essere controllati in remoto), non è neanche necessario spendere altri soldi, potendo semplicemente riutilizzare le risorse esistenti. In pratica all’attaccante non vengono sottratte le risorse utilizzate.

Per quanto riguarda invece le blokchain basate su PoS, dopo un rollback, ovvero l’operazione che permette di riportare la base di dati a una versione o stato precedente, l’indirizzo dell’attaccante potrebbe essere inserito in una lista nera, con la sua pratica interdizione, mentre le monete oggetto di doppia spesa verrebbero semplicemente cancellate.

La combinazione di queste due azioni comporterebbe due conseguenze ben precise: da una parte le monete virtuali restanti nel sistema aumenterebbero il proprio valore, dall’altro l’attaccante dovrebbe procedere ad un nuovo acquisto di quelle che gli servono. Oltre ad essere rischioso, in quanto deve essere rimborsato il prestatore, questo attacco comporterebbe un premio per coloro che hanno agito onestamente, proprio grazie alla crescita della quotazione dei token.

Leggi anche: Proof-of-Stake, cos’è e perchè sta facendo sempre più proseliti