Glossario / Privacy e sicurezza
Attacco del 51%
Noto anche come Attacco di maggioranza, 51 percent attack.
- Che cos'è un attacco del 51%?
- Un attacco del 51% è un tentativo di riscrivere la storia recente di bitcoin avendo il controllo della maggior parte della potenza di mining della rete, il che consente all'attaccante di annullare i propri pagamenti recenti.
Il mining è una gara, e chi gestisce la maggior quantità di hardware vince il maggior numero di gare. Un gruppo che detiene più della metà dell'hashrate può costruire una catena privata più lunga e pubblicarla, cancellando blocchi che altre persone avevano già considerato definitivi. Non può falsificare la tua firma, quindi i bitcoin già presenti in un wallet che gestisci non sono ciò che un simile attacco porta via.
Come funziona
I nodi Bitcoin seguono la catena con la maggior proof of work accumulata, non la catena che hanno visto per prima. Un aggressore sfrutta questa regola minando in segreto. Partendo da un blocco recente, costruisce un proprio ramo senza pubblicarlo, mentre il resto della rete estende il ramo pubblico. Se il ramo segreto diventa più lungo, pubblicarlo fa sì che ogni nodo passi a quel ramo, e i blocchi che hanno perso la gara vengono scartati insieme ai pagamenti che esistevano solo al loro interno.
Il whitepaper ha misurato esattamente quanto sia difficile. La sezione 11 calcola il numero di conferme necessarie per portare la probabilità di un recupero riuscito sotto 0,1 per cento: 5 blocchi contro un aggressore con il 10 per cento dell'hashrate, 15 blocchi al 25 per cento, 24 blocchi al 30 per cento e 340 blocchi al 45 per cento. La curva è ripida, poi si spezza. Oltre il 50 per cento la probabilità di recuperare prima o poi è 1, e nessun numero di conferme lo risolve. È da quella discontinuità a metà dell'hashrate che viene il nome.
La maggioranza dell'hashrate non è un accesso root. Un miner che mina un blocco non valido, uno che paga a se stesso 10 bitcoin quando il sussidio è di 3,125 o che spende un output per cui non detiene alcuna chiave, vede quel blocco rifiutato da ogni nodo completo, compreso quello economico che gira su un portatile. I poteri dell'aggressore sono limitati e specifici: escludere transazioni dai blocchi, rendere orfani blocchi trovati da miner onesti e invertire pagamenti fatti da lui stesso negli ultimi pochi blocchi. Non può coniare bitcoin fuori dal calendario, alzare il tetto di 21 milioni o spostare fondi da un indirizzo per cui non può firmare.
L'attacco, inoltre, si affitta, non si costruisce. La difficoltà si ricalcola solo ogni 2.016 blocchi, quindi un aggressore non ha bisogno di mantenere nulla per due settimane. Su una catena il cui algoritmo ha capacità in eccesso nel mercato del mining bastano poche ore di capacità affittata, ed è per questo che le vittime sono state tutte catene piccole, non bitcoin.
Perché questo conta quando compri bitcoin
Nessun attacco di maggioranza riuscito è mai avvenuto sulla catena principale di bitcoin. Il caso più vicino è stato a luglio 2014, quando il pool GHash.io ha superato la metà dell'hashrate della rete e, sotto pressione pubblica, ha pubblicato l'impegno a non superare il 39,99 per cento; il pool ha chiuso a ottobre 2016. La concentrazione resta il problema attuale. Due pool, Foundry USA e AntPool, insieme costruiscono all'incirca la metà di tutti i blocchi, anche se l'hashrate che dirigono è posseduto da migliaia di miner separati che possono reindirizzare le proprie macchine verso un altro pool in pochi minuti.
Per chi compra, l'esposizione concreta è limitata. I bitcoin tenuti nel tuo wallet non possono essere cancellati da una riorganizzazione, perché una riorganizzazione non può cambiare chi detiene le chiavi. Ciò che sta nella zona d'impatto è il valore in movimento: un deposito che un exchange ha accreditato ma sta ancora confermando, e qualsiasi piccola altcoin con proof of work elencata accanto a bitcoin sulla stessa piattaforma. Dei 24 exchange recensiti su questo sito, quelli che hanno perso denaro dei clienti lo hanno perso per carenze nella custodia e frodi, non per riorganizzazioni della catena. Quel rapporto è rimasto costante per tutta la storia dell'asset.
L'attesa delle conferme è il costo visibile di questa difesa. Quando un exchange ti fa aspettare diversi blocchi prima che il tuo deposito sia negoziabile, si sta comprando il margine di sicurezza descritto dal whitepaper. Se sposti bitcoin tra piattaforme, metti in conto quel ritardo invece di trattarlo come un difetto.
Bitcoin Gold, attaccato due volte
Bitcoin Gold è l'esempio pratico più chiaro, perché è un fork del 2017 del codice di bitcoin che ha ereditato tutto tranne l'hashrate. A maggio 2018 un aggressore ha depositato BTG su exchange, lo ha scambiato con altri asset, lo ha prelevato e poi ha riorganizzato la catena in modo che i depositi non fossero mai avvenuti. Le doppie spese segnalate ammontano a circa 18 milioni di $. Bittrex, uno degli exchange rimasti in perdita, ha rimosso BTG dal listino a settembre 2018 dopo che il progetto ha rifiutato di coprire la perdita.
È successo di nuovo il 23 gennaio 2020, con due riorganizzazioni profonde che hanno invertito circa 1.900 e 5.267 BTG, eseguite con hashrate affittato sul mercato aperto. La lezione è generale: il costo di attaccare una catena segue il suo hashrate, non la sua capitalizzazione di mercato né il suo marchio. Una criptovaluta può valere centinaia di milioni di $ ed essere comunque riorganizzata al prezzo di poche ore di macchine affittate.
Attacco del 51% vs doppia spesa
Un attacco del 51% è un metodo; una doppia spesa è di solito il guadagno. Quasi ogni vero tentativo di doppia spesa nella storia di bitcoin non ha comportato alcun mining, solo la sostituzione di una transazione non confermata nella mempool, che all'aggressore non costa altro che una commissione più alta. La maggioranza dell'hashrate serve per annullare un pagamento già sepolto nei blocchi, e quello è un budget del tutto diverso.
Attacco del 51% vs selfish mining
Il selfish mining è una strategia di profitto, non una riscrittura della storia. Eyal e Sirer hanno dimostrato nel 2013 che un miner che trattiene i blocchi trovati e li rilascia in modo strategico può guadagnare più della sua giusta quota di ricompense con molto meno della metà dell'hashrate, in alcune condizioni di rete a partire da circa un terzo. Il miner egoista rispetta comunque le regole del consenso e non inverte mai un pagamento confermato; sta rubando ricavi ad altri miner, non bitcoin agli utenti.