Le regole empiriche non sono più applicabili, le persone che effettuano transazioni di grande valore devono valutare i rischi delle transazioni in tempo reale in base all'attuale ecosistema minerario.
Scritto da: Jameson Lopp, Cypherpunk Cogitations
Compilato da: aididiaojp.eth, Foresight News
Se hai mai effettuato transazioni sulla rete Bitcoin, potresti renderti conto che accettare transazioni non confermate (alias zero conferme) è rischioso. In assenza di conferme, i riceventi di Bitcoin sono facili bersagli per attacchi razzisti, attacchi Finney e attacchi del 51%.
Una volta che hai almeno una conferma della transazione, non sarai più facilmente soggetto ad attacchi razzisti o attacchi Finney. Ora l'unica tua preoccupazione è l'attacco del 51%. Qual è la regola empirica per il numero accettabile di conferme?
1 conferma: sufficiente per pagamenti di importo inferiore a 1.000 dollari.
3 conferme: per importi di pagamento tra 1.000 e 10.000 dollari, la maggior parte degli exchange richiede 3 conferme di deposito.
6 conferme: per pagamenti di grande valore tra 10.000 e 1.000.000 di dollari. Sei conferme sono considerate uno standard sicuro.
10 conferme: raccomandato per pagamenti superiori a 1.000.000 di dollari.
Approfondisci
In realtà, Bitcoin non è così semplice, e la nostra cosiddetta regola empirica di conferma si basa su ipotesi di cui non stiamo realmente parlando.
Ad esempio, le soglie di conferma delle regole empiriche elencate sopra sono basate su un attaccante con il 10% di hash rate globale, nel qual caso 6 conferme possono garantire al 99,99% che l'attaccante non possa riscrivere una quantità sostanziale di storie passate nella rete blockchain.
Tuttavia, questi calcoli (che possono essere trovati nel white paper) sono stati effettuati molto prima dell'emergere dei pool minerari e del mining industriale, quando era ragionevolmente ipotizzabile che fosse difficile per qualcuno possedere più del 10% dell'hash rate globale. Dall'inizio del 2011, sono emerse molte entità di produzione di blocchi (pool minerari) che accumulano ben oltre il 10% dell'hash rate globale. Al momento della scrittura, ci sono 5 di questi pool.
Quantificare il rischio in tempo reale
Le pagine 6 e 7 del white paper di Bitcoin delineano il metodo per calcolare il rischio che un attaccante possa riscrivere la blockchain dopo un certo numero di conferme di transazione.
La competizione tra la catena onesta e la catena dell'attaccante può essere descritta come un cammino casuale binomiale. Un evento di successo è la catena onesta che viene estesa di un blocco, aumentando il suo vantaggio di 1, mentre un evento di fallimento è la catena dell'attaccante che viene estesa di un blocco, riducendo il divario di 1. La probabilità che la catena dell'attaccante raggiunga la catena onesta data è simile al problema della bancarotta del giocatore. In parole semplici: il giocatore (attaccante) ha un valore atteso negativo per il quale può vincere la maggior parte del tempo, quindi più a lungo gioca questo gioco a valore atteso negativo, minori sono le possibilità di diventare un vincitore.
Dato che ipotizziamo che l'attaccante possieda meno del 50% dell'hash rate della rete, la probabilità che l'attaccante raggiunga diminuisce esponenzialmente man mano che aumenta il numero di blocchi che deve recuperare. Poiché più a lungo si protrae, più è sfavorevole per l'attaccante; se non corre in avanti con fortuna, le sue possibilità diventano trascurabili man mano che si trova sempre più indietro. La probabilità di avanzamento potenziale dell'attaccante è simile a una distribuzione di Poisson, poiché tutto il mining è un processo di Poisson, quindi il risultato di successo segue questa distribuzione.
Per determinare la probabilità che un attaccante possa riscrivere la blockchain da z blocchi precedenti, moltiplicheremo la densità di Poisson di ogni quantità di progresso che l'attaccante può ottenere per la probabilità che possa raggiungere quella posizione, dove:
p = probabilità che un miner onesto trovi il prossimo blocco
q = probabilità che un attaccante trovi il prossimo blocco
z = numero di blocchi (conferme) da riorganizzare
lambda = z * (q / p)
k = interi da 0 a z

Questa non è una formula di calcolo interessante, quindi sembra una buona scelta per i progetti open source.
Calcolatore di rischio di conferma
Ho creato il seguente strumento, che calcolerà dinamicamente il rischio di riorganizzazione della catena attuale in base ai pool minerari con la stima di hash rate più alta (da blocchi estratti). Naturalmente, puoi usare qualsiasi altro percentuale di hash rate per sovrascrivere questo parametro e il numero di conferme richieste per ottenere il punteggio di rischio.

Ora è facile vedere che se vogliamo avere il 99,9% di probabilità che la nostra transazione non venga spesa due volte, per un attaccante con una determinata percentuale di hash rate, il numero di conferme aumenta drasticamente man mano che l'hash rate dell'attaccante si avvicina al 50%.

Perché dovresti preoccuparti?
Al momento della scrittura, Foundry ha il 36% dell'hash rate globale, il che significa che se accetti un pagamento dopo 3 conferme, Foundry ha ancora il 49% di possibilità di riscrivere la blockchain e avviare un attacco di doppia spesa.

Supponendo che l'attaccante abbia il 10% di hash rate, la regola empirica delle 6 conferme di blocco garantisce il 99,99% che non si verifichi una doppia spesa, mentre ora sono necessarie 60 conferme di transazione per raggiungere lo stesso livello di confidenza.
Per quanto riguarda l'utilità di questo tipo di attacco: i pool minerari sicuramente non hanno motivi per attaccare, perché se lo fanno potrebbero perdere una grande quantità di affari. I miner sono generalmente detentori a lungo termine e non vogliono danneggiare la fiducia delle persone nell'ecosistema. Tuttavia, i pool minerari possono ancora avere punti di guasto singoli, e qualcuno potrebbe sfruttare le vulnerabilità per compromettere rapidamente un pool. Situazioni simili sono già accadute, come l'attacco BGP che ha reindirizzato una grande quantità di traffico dei pool minerari per far estrarre monete agli attaccanti.
Riepilogo
Sebbene Bitcoin abbia robustezza e stabilità in alcuni aspetti, è molto instabile in altri. È importante che le persone che effettuano transazioni di grande valore sulla blockchain di Bitcoin siano consapevoli che la loro valutazione del rischio dovrebbe essere adattata in base allo stato attuale dell'ecosistema minerario.
È importante chiarire che quanto sopra riguardo a Foundry non dovrebbe essere interpretato come una qualche minaccia imminente o sistemica all'integrità della rete Bitcoin. Negli ultimi dieci anni, abbiamo visto fluttuazioni nel grado di centralizzazione dei miner per vari motivi. Ad esempio:


Rimango ottimista sul fatto che gli incentivi che spingono i miner industriali di Bitcoin siano ragionevoli. Continueranno a cercare fonti di energia a basso costo, inutilizzate e in surplus, mentre la natura dell'energia è che può essere utilizzata in modo efficiente in tutto il mondo. A lungo termine, mi aspetto che vedremo una distribuzione dell'hash rate dei pool minerari diventare più decentralizzata. Oltre a ciò, ci sono anche alcuni miglioramenti tecnici, come Stratum V2, che ha tolto il potere dagli operatori dei pool minerari e lo ha rimesso nelle mani degli individui.

