L'incidente di GHash.IO
Nel giugno 2014, il mining pool GHash.IO ha raggiunto un livello di circa il 55% del tasso di hash di Bitcoin in un periodo di 24 ore. Fino ad allora, un attacco al 51% era puramente ipotetico, soprattutto nel caso di Bitcoin, ma improvvisamente la minaccia di un attacco del genere diventò realtà. Anche se un mese dopo la quota di GHash.IO nel tasso di hash della rete scese a poco più del 38%, restava il rischio che un singolo miner o una mining pool prendesse di nuovo il controllo. In questo caso, GHash.IO si è impegnato volontariamente a fare un passo indietro.
Nella maggior parte dei casi, però, gli attacchi al 51% falliscono o non hanno successo a lungo. Infatti, l'incidente di GHash.IO, per definizione, non è stato realmente un attacco al 51%, poiché il gruppo di mining non ha cercato di tenersi i blocchi e/o di spendere due volte gli stessi bitcoin. Tuttavia, da allora, si sono verificati numerosi attacchi al 51% concreti su altre reti più piccole, tra cui Ethereum Classic. Grazie al suo volume e all'accordo della community Bitcoin di preservare la rete a tutti i costi, Bitcoin è rimasto al sicuro fino ad oggi.
Nella maggior parte dei casi, però, gli attacchi al 51% falliscono o non hanno successo a lungo.
Cosa succede a una rete blockchain durante un attacco al 51%?
In circostanze normali, le nuove monete nella rete Bitcoin vengono create da computer di mining. I nodi di mining sono computer che competono tra loro per scoprire hash validi inserendo diverse combinazioni di hashing. Ciascun nodo vuole essere il primo miner a trovare un nuovo blocco. Una volta che un miner trova una combinazione corretta di hashing, il blocco appena estratto viene aggiunto alla blockchain e viene approvato come blocco legittimo dalla rete.
L'accordo tra i nodi riguardo a su cosa si basi un blocco legittimo è chiamato consenso, che significa che la maggioranza dei nodi deve essere d'accordo sui criteri di validità di ogni nuovo blocco. Se diversi miner trovano diversi blocchi validi allo stesso tempo, i nodi si fidano della blockchain con la cronologia più lunga e aggiungono il blocco lì.
Più del 50%
Ipoteticamente parlando, tuttavia, se un'entità nella rete controlla più del 50% della potenza di calcolo, potrebbe provare a selezionare il blocco corrente, per poi iniziare il mining e tenersi i blocchi estratti. Quando viene pubblicata, questa catena concorrente supererà la catena originale, lasciando fuori tutte le transazioni dalla fork e, di conseguenza, sabotando l'immutabilità della rete. L'entità colpevole potrebbe anche rifiutarsi di accettare blocchi estratti da altri partecipanti alla rete, assicurandosi che la concorrenza non riceva mai una quota equa, o addirittura inserendo determinati indirizzi Bitcoin in una blacklist.
Un vero attacco al 51% può concretizzarsi in pochi passi. Per prima cosa, l'entità o la persona che è interessata ad attaccare la rete ha bisogno di ottenere abbastanza potenza di hash per estrarre con successo e in segreto i blocchi su una copia della catena della rete. Questa catena segreta continua a funzionare in parallelo all'originale. Quindi, il fattore chiave per effettuare un attacco al 51% è comprare la potenza di hash di una rete, che quindi deve essere il più costoso possibile. Se un attore malintenzionato non è in grado di pagare per prendere il controllo di una rete, un attacco al 51% non può verificarsi.
Come prevenire gli attacchi al 51%
Nel suo whitepaper, Satoshi Nakamoto ha delineato la natura delle commissioni di transazione nella rete Bitcoin come un incentivo per i nodi a rimanere onesti. Assicurandosi sempre che nessun singolo miner, gruppo di miner o mining pool controlli più del 50% della potenza di calcolo della rete Bitcoin, un singolo miner o gruppo che voglia attaccare la rete molto probabilmente non sarà in grado di superare la più lunga blockchain esistente e validata. Tale impresa richiederebbe quantità incredibili di hardware e di energia. In più, il potenziale esecutore avrebbe bisogno di una certa dose di fortuna, considerata la casualità del processo di mining.
Con Bitcoin, mettere in scena un attacco al 51% della rete sembra molto poco probabile, semplicemente per via della dimensione della rete e del suo tasso di hash. Eseguire un attacco al 51% su Bitcoin ha un costo stimato di poco più di 15 miliardi di dollari statunitensi. Altre altcoin, però, sono molto più a rischio. Tutto ciò che serve è noleggiare un'attrezzatura di mining sufficiente, che non abbia bisogno di essere di proprietà, e un investimento iniziale relativamente grosso. È stato a causa di questi fattori che Ethereum Classic è stato violato e gli hacker hanno rubato l'equivalente di più di 1 milione di dollari statunitensi della sua criptovaluta nativa. In sostanza, il tasso di hash complessivo della rete non è all'altezza di quello di Bitcoin.
Il caso della Proof of Stake
Anche per le reti blockchain più piccole, rimane di cruciale importanza rendere il più difficile possibile per un miner diventare l'azionista di maggioranza. Tutte le reti basate sulla PoW sono fatte intrinsecamente per incentivare i miner a migliorare continuamente le loro attrezzature. Se non lo fanno, iniziano a rimanere indietro rispetto a tutti gli altri nella rete e non ricevono alcuna ricompensa di blocco.
In linea con questo, il rischiodi un attacco al 51% è uno dei motivi per cui alcuni suoi sostenitori credono che la Proof of Stake (PoS) sia un meccanismo di consenso più sicuro della Proof of Work. È vero, nella sua forma più elementare, che la PoS incentiva il controllo da parte degli utenti più ricchi ma, nella maggior parte dei casi, le reti sono andate oltre questa struttura, puntando ad alternative più decentralizzate come la Delegated Proof of Stake (DPoS), di cui abbiamo parlato nella lezione 7.