Che cosa è 51% Attacco?

Sep 09, 2019

Introduzione

Le criptovalute basate su blockchain sono soggette al cosiddetto attacco del 51%: quando più della metà della potenza di calcolo di una rete di criptovalute è controllata da qualche organizzazione o gruppo di individui, diventa possibile condurre transazioni in conflitto o danni dannosi.

Un attacco 51% è un potenziale attacco (o attacco su un'altra rete blockchain), con il risultato che un'organizzazione può controllare la maggior parte del tasso di hash. Tale situazione può portare a un errore di rete. In altre parole, un utente malintenzionato con un tasso di hash del 51% ha abbastanza potere per escludere o riordinare deliberatamente le transazioni.

Quali sono i rischi di un attacco del 51%?

Un attacco del 51% consente a un utente malintenzionato di invertire le transazioni eseguite al momento del controllo, il che potrebbe portare al problema della doppia spesa. Un attacco di maggioranza di successo consentirà anche a un utente malintenzionato di impedire che alcune o tutte le transazioni vengano confermate (noto anche come denial of service) o di impedire l'estrazione di alcuni o tutti gli altri minatori, portando al cosiddetto monopolio minerario.

D'altra parte, l'attacco di maggioranza non consentirà a un utente malintenzionato di invertire le transazioni di altre persone o impedire la distribuzione delle transazioni nella rete. Cambiare la ricompensa di un blocco, creare monete dall'aria o rubare monete che un attaccante non ha mai avuto, è anche uno scenario incredibile. Un attacco del 51% può essere eseguito solo in blockchain con un consenso dell'algoritmo.

Che cosa è Proof-of-work?

Proof-of-Work (PoW) è il primo algoritmo di consenso decentralizzato di successo nella blockchain. PoW è utilizzato in, (Ethereum prevede di eseguire l'aggiornamento a Proof-of-Stake),,,, e molte altre piattaforme.

Prova di lavoro in dettaglio

In primo luogo, gli utenti si inviano monete. Quindi tutte le transazioni formano blocchi e vengono registrate in una blockchain o in un cosiddetto registro decentralizzato.

Tutte le transazioni sono confermate utilizzando calcoli matematici complessi, la cui accuratezza può essere verificata da qualsiasi utente della rete. I minatori si occupano della formazione di un nuovo blocco e della conferma della transazione. Se un minatore è riuscito a risolvere il problema, viene formato un nuovo blocco: viene inserita la prossima serie di transazioni e vengono considerate confermate. 

Perché qualcuno dovrebbe attaccare la rete?

Il più grande pericolo per il sistema è la doppia spesa. Quindi, un utente malintenzionato che possiede il 51% del potere può creare una blockchain alternativa nascosta e usarla per confermare le proprie transazioni. Ad esempio, la conferma di una transazione nella rete Bitcoin richiede sei blocchi di transazione aperti. Di conseguenza, un utente malintenzionato deve creare sei blocchi. Quindi ritira i suoi fondi sulla blockchain principale. Ad esempio, trasferisce a un altro account o paga per l'acquisto, e apre la propria catena di blocchi, causando un conflitto nel sistema. Se entrambi i minatori hanno trovato la soluzione giusta per un blocco, viene ramificata una rete, in cui entrambe le soluzioni hanno il diritto di esistere e sono incluse nel blocco successivo di transazioni.

Il restante 49% della capacità della rete conferma l'addebito di fondi dal conto. Tuttavia, poiché l'attaccante ha il potere di controllo, il sistema riconosce che la sua rete è fedele, in cui non ha ancora addebitato i fondi, e scarterà la transazione confermata da altri minatori poiché il blocco dell'attaccante è più complesso. Di conseguenza, il sistema mostrerà il saldo prima della transazione e l'attaccante sarà in grado di spendere soldi diverse volte, ma con ogni volta successiva, il costo delle monete diminuirà.

Il doppio prelievo di fondi è possibile con meno controllo della capacità, ma una concentrazione del 51% fornisce una garanzia del 100% che il blocco dell'attaccante sarà riconosciuto come il blocco giusto.

Avendo in mano il 51% della capacità del sistema, l'attaccante diventa praticamente il proprietario della blockchain, può generare autonomamente blocchi, confermare e rifiutare le transazioni. Dopo aver sequestrato il sistema, può anche interrompere il suo lavoro rifiutandosi di confermare tutte le transazioni.

Come l'attacco 51% colpisce gli utenti di criptovaluta

Un attacco del 51% ha quattro tipi di conseguenze, che a volte possono essere molto pericolose per le vittime della rete:

Uno di questi è l'estrazione egoistica quando gli aggressori approfittano della loro maggioranza in termini di ricompense. Se un blocco viene estratto contemporaneamente, i minatori devono votare sul blocco che scelgono. Il vincitore ha più possibilità per il blocco successivo. Poiché la maggior parte della rete deve prendere una decisione in merito, un utente malintenzionato può utilizzare la sua capacità di estrarre i propri blocchi e continuare a estrarre essendo in cima, senza attendere l'approvazione della rete.

In secondo luogo, un utente malintenzionato che ha una maggioranza del 51% nella rete può decidere di annullare le transazioni. Può distruggere l'intera rete senza accettare transazioni su nessuno dei blocchi che l'attaccante estrae egoisticamente.

La terza conseguenza è un problema che ogni blockchain è più preoccupato e cerca di evitare a tutti i costi. Lo sai già perché si tratta di una doppia spesa, il che significa spendere la stessa moneta su più transazioni contemporaneamente. Poiché la natura decentralizzata della blockchain impedisce costi doppi, un attaccante con 51% ha l'autorità centrale per questo, dal momento che altri minatori sono compromessi. I doppi costi continui porteranno il valore di una criptovaluta a zero. Quest'ultimo si verifica quando l'attaccante crea un hard fork sulla blockchain. La ragione di ciò potrebbe essere l'uso di doppi costi derivanti durante la separazione delle catene.

In alternativa, un altro motivo potrebbe essere la lotta con altri minatori che potrebbero essere riusciti a creare un blocco. In questo caso, l'attaccante può rompere la catena a questo nuovo blocco.

Storia di 51% attacchi

Nel 2014, il Ghash.io pool ha preso il controllo di 55% della rete Bitcoin. Nonostante questo non fosse un attacco pianificato, e il pool ha accettato volontariamente di ridurre gli indicatori di potenza e ha promesso di non superare il 40% della soglia, il tasso di Bitcoin è sceso di un quarto del costo.

In 2016, Krypton e Shift-due criptovalute che operano sulla base di Ethereum, sono state attaccate da un gruppo di hacker che si definiscono “Team 51”. Di conseguenza, i truffatori sono riusciti a raddoppiare e rubare 22.000 monete attraverso Bittrex.

Il caso più precedente si è verificato con la criptovaluta Verge, ma questo attacco è stato possibile a causa di un errore nel codice. Criptovaluta anonima ha funzionato contemporaneamente su diversi algoritmi che hanno dovuto cambiare con la creazione di ogni nuovo blocco. Tuttavia, il codice ha un bug a causa del quale gli aggressori hanno inviato blocchi con un timestamp falso alla rete.

I blocchi sono stati generati e inviati ogni secondo, invece di ogni 30 secondi. L'attacco è durato tre ore. Gli hacker sono riusciti a catturare il 99% dei blocchi. Secondo i dati ufficiali forniti dagli sviluppatori, è stato possibile ritirare i token 250,000 dal sistema in modo fraudolento. Tuttavia, secondo gli utenti, la cifra reale raggiunge quasi 4 milioni.

Quanto costerà?

Un attacco 51% su blockchain di criptovalute popolari richiede grandi investimenti. Secondo il sito web Crypto51, 1 ora di attacco 51% sulla rete Bitcoin costerà $ 355,883, sulla rete Ethereum – $ 98,572 e sulla blockchain Ethereum Classic – $ 4,534. Il costo dell'attacco dipende dalla potenza di calcolo della rete.

Gli scienziati dell'Indian Institute of Technology hanno condotto uno studio su blockchain di diverse criptovalute e hanno concluso che la blockchain bitcoin è la rete decentralizzata più sicura. Secondo i ricercatori, un attacco 51% sulla blockchain BTC non porterà profitto, dal momento che la rete è protetta dalla doppia spesa. Un utente malintenzionato sarà solo in grado di aggiungere o rimuovere le informazioni sulle transazioni dai blocchi, mentre le monete rimarranno nei portafogli degli utenti.

Protezione da un attacco del 51%

Al momento, per proteggere una criptovaluta dall'attacco si dovrebbe aumentare la popolarità e la potenza della rete, rispettivamente, per offrire nuove idee e attirare nuovo pubblico.

Finché l'estrazione rimane redditizia e ci sono un numero enorme di utenti nella rete, è estremamente difficile attaccare il sistema. Non appena il profitto derivante dall'estrazione diventa inferiore al costo di acquisto e manutenzione dell'attrezzatura, i minatori ritireranno il loro potere dal sistema e la rete diventerà vulnerabile.

Un'altra soluzione è l'algoritmo PoS. Nonostante il fatto che esista la possibilità teorica di attacco, non è assolutamente redditizio. Per rilevare il 51% della rete, è necessario acquisire il 51% di tutti i token di sistema, che è persino superiore al costo delle apparecchiature informatiche. Inoltre, non è un dato di fatto che gli sviluppatori non se ne accorgeranno in tempo e non prenderanno misure rapide per neutralizzare l'attacco.

Come rifiutare l'attacco?

Se viene rilevato un attacco del 51% in tempo, gli sviluppatori possono utilizzare hardfork.

Hard fork è un cambiamento fondamentale nel codice criptovaluta, dopo di che la connessione con il vecchio software sarà completamente rotto. Durante hard fork avviene la creazione di una nuova criptovaluta e la divisione di rete.

Per i possessori di monete, hard fork non è essenziale, poiché in futuro avranno l'opportunità di trasferire i risparmi su un nuovo sistema. Tuttavia, per l'attaccante, una tale soluzione significa perdere il valore del bottino.