Non è così frequente avere la possibilità di osservare come possa avvenire un attacco 51% ad una blockchain stando dalla parte dell’hacker.
Uno stagista della società Polychain Capital ha però pensato di mostrare come avviene e funziona un attacco simile per scopi divulgativi.
Anish Agnihotri ha spiegato la cosa con un tweet: “Non ho mai visto un attacco 51% contro una rete live (suppongo per una buona ragione, la maggior parte delle persone che attaccano blockchain per lucro non vogliono farsi pubblicità). E così ho registrato la cosa per voi”.
L’attacco al 51% è una delle minacce principali per la sicurezza di una blockchain. La premessa su cui si basa in generale la tecnologia blockchain è che fino a quando la maggior parte della potenza di hash è controllata in maniera collettiva da partecipanti interessati a supportare la rete, tutto funzionerà senza problemi. Ma se il 51% della potenza di calcolo si concentra nelle mani di una singola entità, allora esiste la possibilità di “riscrivere” il corso della blockchain ed effettuare episodi di cosiddetta doppia spesa, che equivale di fatto alla “falsificazione” di una moneta.
Cosa accade nel pratico? Disporre del 51% della potenza di hash permette di estrarre una versione alternativa e più lunga della blockchain originale che, una volta trasmessa alla rete, diventerà la catena principale. Tutte le transazioni che sono avvenute sulla catena originale e che non sono state incluse nella catena alternativa, non hanno più traccia sul registro distribuito anche se sono effettivamente avvenute e in questo modo diventa possible spendere una stessa coin due volte.
Agnihotri ha utilizzato la blockchain CheapETH, un clone della più nota blockchain Ethereum che ha caratteristiche diverse e anzi la rendono più simile a quella di Bitcoin Cash. Rispetto ad Ethereum questa blockchain ha blocchi di maggiori dimensioni, che rendono più economico l’invio di transazioni. Ma attualmente la potenza di calcolo impiegata sulla rete è di 559 milioni di hash al secondo, rispetto ai 629 mila miliardi di hash della blockchain di Ethereum.
Per condurre l’attacco Agnihotri ha affittato una potenza di calcolo capace di compiere 1,44 miliardi di hash al secondo, potendo assorbire il 72% circa del tasso di hashrate della rete. Agnihotri si è disconnesso dalla rete, ha estratto da solo in un una macchina virtuale per alcuni minuti la “nuova” blockchain e poi l’ha trasmessa alla rete. Poco dopo i block explorer si sono aggiornati per mostrare l’estrazione di tutti i blocchi recenti.
Trattandosi solamente di un’azione dimostrativa, Agnihotri non ha effettuato alcuna azione di double spending. Nella documentazione all’interno del video indica però tutti i punti chiave in cui un malintenzionato può eseguire questo tipo di attacco.
E’ bene osservare inoltre che è stata scelta la blockchain di CheapETH proprio per via delle sue dimensioni e quindi di una relativa facilità a condurre l’attacco. Su blockchain di maggiori dimensioni e con ben altre potenze di hash impiegate la questione è parecchio più complicata e sicuramente non affrontabile con i semplici strumenti usati da Agnihotri, ma ciò non toglie che il principio di base rimanga valido.
Fonte: HDBLOG