Fermata #292 - Il blocco orfano
Il 23 marzo Bitcoin ha fatto esattamente quello per cui è stato progettato. Qualcuno ci ha visto un disastro.
Domenica 23 marzo, alle 16:49:35, AntPool trova un blocco valido all’altezza 941.881. Dodici secondi dopo, alle 15:49:47, Foundry USA ne trova un altro, alla stessa altezza. Due blocchi perfettamente validi, con transazioni perfettamente valide, in competizione per lo stesso posto nella catena.
Il developer 0xB10C scrive: “Abbiamo appena avuto un raro fork/reorg a due blocchi tra Foundry e AntPool+ViaBTC”. La notizia rimbalza. I titoli dei giornali di settore parlano di “chain split”, “clash tra mining pool”, “segnale d’allarme”. Qualcuno evoca lo spettro del 51%.
Eppure, quello che è successo domenica è descritto per filo e per segno nella sezione 5 del whitepaper di Bitcoin. Satoshi lo aveva previsto nel 2008 - e il protocollo lo ha gestito esattamente come previsto.
Facciamo un passo indietro.
La newsletter è gratuita ma dietro c’è un importante lavoro di studio e approfondimento per renderla sempre più affidabile e di qualità. Se la leggi regolarmente puoi sostenermi con una donazione in bitcoin cliccando qui oppure in vile valuta continentale, da qui.
La fisica del gossip
Quando un miner trova un blocco valido, lo trasmette alla rete attraverso quello che si chiama gossip protocol: ogni nodo che riceve il blocco lo verifica e lo inoltra ai nodi a cui è connesso, che fanno lo stesso, e così via. Il blocco si propaga a ondate concentriche attraverso la rete - migliaia di nodi distribuiti su tutto il pianeta.
Questa propagazione richiede tempo. Non molto, di solito pochi secondi bastano. Nel frattempo, però, dall’altra parte del mondo, un altro miner potrebbe aver trovato a sua volta un blocco valido alla stessa altezza, senza sapere che qualcun altro lo ha trovato un istante prima.
Ed è esattamente quello che è successo domenica. AntPool e Foundry hanno trovato due blocchi validi a 12 secondi di distanza. Entrambi legittimi, entrambi contenenti transazioni valide, entrambi con una proof-of-work corretta. Due risposte giuste alla stessa domanda.
A quel punto la blockchain di Bitcoin si è divisa temporaneamente: alcuni nodi hanno ricevuto prima il blocco di AntPool, altri quello di Foundry. Ognuno ha iniziato a lavorare sulla versione che aveva visto per prima. Nessun errore, il protocollo funzionava.
Il bivio che Satoshi aveva previsto
Cito dalla sezione 5 del whitepaper:
“Se due nodi trasmettono versioni diverse del blocco successivo simultaneamente, alcuni nodi potrebbero ricevere prima l’una o l’altra. In quel caso, lavorano sulla prima che hanno ricevuto, ma conservano l’altro ramo nel caso diventi più lungo. Il pareggio verrà rotto quando viene trovata la successiva proof-of-work e un ramo diventa più lungo; i nodi che stavano lavorando sull’altro ramo passeranno a quello più lungo.”
La regola è semplice: ogni nodo lavora sulla catena che ha ricevuto per primo, ma conserva l’altra. Quando uno dei due rami diventa più lungo, tutti i nodi convergono su quello. La catena con più proof-of-work cumulativa vince. Sempre.
Domenica, la gara è andata avanti un blocco in più del solito. ViaBTC ha esteso la catena di AntPool al blocco 941.882. Foundry ha esteso la propria versione dello stesso blocco. Due catene parallele, profonde due blocchi ciascuna - il famoso “two-block reorg” che ha fatto notizia.
Poi, dal blocco 941.883 al 941.886, Foundry ha trovato quattro blocchi consecutivi. La sua catena è diventata quella con più lavoro accumulato. I nodi hanno quindi deciso di convergere verso quella catena. I blocchi di AntPool e ViaBTC sono diventati orfani - validi in sé, ma scartati dalla catena principale perché il ramo concorrente era più pesante.
E le transazioni contenute nei blocchi orfani? Tornate nella mempool. Reinserite nei blocchi successivi. Nessuna transazione persa, nessun double spend, nessun danno.
L’intera vicenda si è risolta in pochi minuti, senza intervento umano.
Quanto è raro?
Un reorg a un blocco capita più o meno una volta ogni due settimane. Due miner trovano un blocco quasi in contemporanea, la rete si divide per qualche minuto, il blocco successivo risolve il pareggio. Routine - talmente routine che nessuno ne scrive.
Un reorg a due blocchi è diverso. Richiede che il pareggio sopravviva a un intero ciclo di blocco in più: dopo la prima divisione, un secondo blocco deve essere trovato su ciascun ramo prima che la rete converga. La probabilità è drasticamente più bassa. Nella storia di Bitcoin - oltre 940.000 blocchi, 17 anni di funzionamento - i reorg a due blocchi si contano nell’ordine di qualche decina.
Per capire perché è così raro, basta pensare ai numeri. Un blocco viene trovato in media ogni 10 minuti. La propagazione del blocco attraverso la rete richiede qualche secondo. La finestra in cui due miner possono trovare un blocco valido senza sapere l’uno dell’altro è quindi piccolissima rispetto all’intervallo tra un blocco e l’altro. E perché il reorg arrivi a due blocchi, questa coincidenza deve ripetersi due volte di seguito.
Domenica c’era un fattore che ha reso l’evento leggermente meno improbabile del solito: la difficulty era appena scesa del 7,76% - uno dei cali più significativi dell’anno - a causa dello stress energetico globale legato alla crisi dello Stretto di Hormuz. Con meno hashrate sulla rete, i blocchi vengono trovati in modo leggermente meno uniforme, e le probabilità di coincidenze temporali aumentano di una frazione.
Ma anche così, resta un evento raro. Il punto è che “raro” e “imprevisto” sono due cose diverse. Il protocollo Bitcoin è progettato per gestire esattamente questa situazione. Il reorg è il meccanismo di risoluzione dei conflitti - il modo in cui una rete decentralizzata, senza arbitro, raggiunge il consenso quando due risposte valide competono per lo stesso posto.
Quando un database bancario ha un conflitto - e ne ha, più spesso di quanto le banche ammettano - serve un intervento umano. Un team tecnico che identifica il problema, decide quale versione dei dati è corretta, applica la correzione, verifica che non ci siano stati danni. Ore, a volte giorni. A volte il conflitto non viene nemmeno scoperto in tempo reale.
Quando Bitcoin ha un conflitto, la rete lo risolve da sola in pochi minuti seguendo una regola scritta nel codice 17 anni fa. Senza telefonare a nessuno, senza ticket di assistenza, senza un comitato che si riunisce per decidere chi ha ragione.
Domenica, il protocollo Bitcoin ha gestito un conflitto su scala globale - migliaia di nodi, centinaia di miner, milioni di dollari in transazioni - e lo ha risolto in modo autonomo, trasparente e verificabile da chiunque. Nessun sistema finanziario tradizionale può dire lo stesso.
E’ nata Morning Blend di Atlas21!
Dal lunedì al venerdì, alle 07:00 in punto, la newsletter che ti racconta le notizie della giornata più rilevanti su Bitcoin, tecnologia e finanza. Iscriviti gratuitamente da qui:
Consiglio personale.
So che molti di voi usano Relai perché è stata per lungo tempo sponsor di questa newsletter. Bull Bitcoin non è uno sponsor. Non ho accordi commerciali con loro e non vengo pagato per scrivere queste righe.
Quando mi chiedete dove comprare bitcoin, la mia prima risposta è sempre il mercato peer-to-peer: Bisq, HodlHodl, Robosats. Ma so che non tutti vogliono usare questi servizi. Se cercate un servizio immediato ma compatibile con i valori originali di Bitcoin, la mia scelta oggi è Bull Bitcoin. Iscrivendovi con il codice “federico” ottenete uno spread ridotto all’1,75% invece del 2%, per sempre. Potete farlo da qui.
Non-custodial, supporta Bitcoin on-chain, Lightning e Liquid. E potete anche spendere i vostri bitcoin per pagare qualsiasi IBAN in euro, senza passare da una banca.
La differenza con Relai è di principio: Bull Bitcoin non collabora. I dati KYC sono su infrastruttura self-hosted, non vengono condivisi con agenzie fiscali, governi o terze parti. E continueranno a non collaborare finché qualcuno non si presenterà con un’ordinanza di un giudice in mano. È l’unico servizio in Europa di cui posso dire questo con certezza.




