L'aggiustamento della difficoltà di Bitcoin

Andreas HartwigGiornalista economico ed esperto di finanza crypto

Circa ogni 2.016 blocchi — all'incirca due settimane — Bitcoin ricalcola automaticamente la difficoltà di mining: la alza quando i blocchi vengono trovati troppo in fretta e la abbassa quando arrivano troppo lentamente. Così l'intervallo medio tra due blocchi resta vicino ai dieci minuti, qualunque potenza di calcolo entri o esca.

In Bitcoin nessun operatore centrale decide quanto debba essere difficile trovare un blocco. Il protocollo contiene invece un anello di retroazione incorporato: misura con quale velocità sono stati prodotti gli ultimi blocchi e sposta il bersaglio del mining perché il ritmo torni verso un blocco ogni dieci minuti. Questo «aggiustamento della difficoltà» è uno dei meccanismi silenziosi che mantengono notevolmente stabile la cadenza dei blocchi di Bitcoin — e con essa l'emissione prevedibile di nuove monete — anche se la potenza di calcolo mondiale è cresciuta di molti ordini di grandezza e ogni tanto è crollata di colpo. Questo articolo spiega che cos'è la difficoltà, come funziona l'aggiustamento, perché sono stati scelti dieci minuti e in che modo la difficoltà si lega all'hashrate e al prezzo, distinguendosi però da entrambi.

Che cosa significa davvero «difficoltà»

Per aggiungere un blocco, un miner calcola ripetutamente l'hash dell'intestazione del blocco variando un valore chiamato nonce, alla ricerca di un risultato che finisca sotto una soglia numerica detta target. Un target più basso significa che esistono meno hash validi, quindi in media servono più tentativi: è esattamente ciò che rende il mining «più difficile».

La difficoltà è soltanto un modo leggibile da una persona per esprimere quanto è basso quel target, misurato rispetto al target più facile che il protocollo abbia mai consentito (difficoltà 1). Una difficoltà di, poniamo, diverse migliaia di miliardi significa che il target attuale è migliaia di miliardi di volte più piccolo di quel punto di partenza. I nodi ricavano il target direttamente dalla difficoltà: i due valori sono solo due viste dello stesso numero.

Il ritmo dei 2.016 blocchi

Bitcoin non si aggiusta dopo ogni blocco: ricalcola una volta per epoca di 2.016 blocchi. A dieci minuti per blocco, 2.016 blocchi dovrebbero richiedere esattamente due settimane (20.160 minuti), ed è per questo che il cambio di difficoltà viene spesso descritto come quindicinale.

Poiché l'intervallo si conta in blocchi e non in tempo di calendario, la distanza reale tra due aggiustamenti si allunga quando la rete mina lentamente e si accorcia quando mina in fretta. Ogni nodo completo esegue lo stesso calcolo per conto proprio e arriva allo stesso valore nuovo: non c'è nulla da votare né da coordinare.

Il calcolo dietro ogni aggiustamento

Alla fine di un'epoca la rete confronta quanto sono durati davvero gli ultimi 2.016 blocchi con quanto avrebbero dovuto durare. In sostanza: nuova difficoltà = vecchia difficoltà × (tempo previsto ÷ tempo effettivo). Se i blocchi sono arrivati più in fretta del previsto, il tempo effettivo è minore di quello previsto e la difficoltà sale; se sono arrivati più lentamente, scende.

La variazione è limitata: un singolo aggiustamento può al massimo quadruplicare la difficoltà o ridurla a un quarto. Questo limite evita oscillazioni violente dopo una spinta o un crollo passeggero della potenza di calcolo. Esiste inoltre una vecchia imprecisione di uno, del tutto innocua: l'arco di tempo viene misurato su 2.015 intervalli ma trattato come 2.016, e per questo il tempo medio tra i blocchi resta un soffio sopra i dieci minuti.

Perché dieci minuti, e perché conta

Un intervallo obiettivo tra blocchi è un compromesso. Blocchi molto più rapidi si propagherebbero in modo meno affidabile su una rete mondiale, aumentando il lavoro sprecato e le biforcazioni effimere; blocchi molto più lenti renderebbero le conferme sfibranti. Dieci minuti sono stati scelti come via di mezzo prudente, che lascia a un blocco il tempo di diffondersi in tutto il mondo prima che il successivo venga probabilmente trovato.

È la stabilità di quell'intervallo a rendere prevedibile il calendario di emissione di Bitcoin. Poiché ogni due settimane vengono minati circa 2.016 blocchi, l'halving che riduce la ricompensa di blocco cade vicino alla cadenza prevista di quattro anni, e l'offerta totale si avvicina al suo tetto di 21 milioni lungo un percorso calcolabile.

Difficoltà, hashrate e anello di retroazione

Quando entrano in funzione nuove macchine da mining, i blocchi vengono trovati in meno di dieci minuti; l'aggiustamento successivo alza la difficoltà e li rallenta di nuovo. Quando i miner spengono — per costi dell'energia, hardware dismesso, variazioni stagionali della corrente o regole regionali —, i blocchi rallentano e l'aggiustamento seguente abbassa la difficoltà per accelerarli. Il sistema si corregge a posteriori; non guarda avanti.

Vale la pena ricordare che l'hashrate non viene misurato direttamente: la rete non può vedere quante macchine stanno lavorando. Le cifre pubblicate sull'hashrate sono stime dedotte dalla difficoltà e dai tempi di blocco osservati, ed è per questo che su finestre brevi sono rumorose e vanno lette come tendenza.

Casi limite e ciò che la difficoltà non dice

Gli scossoni bruschi del mondo reale mostrano il meccanismo all'opera. Quando a metà 2021 una grande regione mineraria è uscita dalla rete, questa ha vissuto il più grande aggiustamento al ribasso mai registrato (circa il 28 %), che ha ripristinato tempi di blocco normali già nell'epoca successiva. Le regole sui marcatori temporali e il limite del quadruplo proteggono anche da miner che volessero manipolare l'orologio per influenzare il ricalcolo.

La difficoltà misura lo sforzo di sicurezza della rete e l'economia del mining: non è un segnale di prezzo né un indicatore di mercato. Si muove a gradini lenti e discreti e reagisce a tempi di blocco passati, quindi dice poco su domanda, liquidità o valutazione. Strumenti come BIKENZO stanno su un piano del tutto diverso e rappresentano un contesto di mercato più ampio, per esempio un indice globale di liquidità messo a confronto con il prezzo di Bitcoin; è contesto macro e di mercato, separato dalla meccanica on-chain della difficoltà. Sono due lenti utili e rispondono a domande diverse.

FAQ

Ogni quanto si aggiusta la difficoltà di Bitcoin?
Ogni 2.016 blocchi, il che a dieci minuti per blocco corrisponde grosso modo a due settimane. La distanza esatta sul calendario dipende dalla velocità con cui i blocchi sono stati davvero minati durante l'epoca.
La difficoltà di Bitcoin può scendere?
Sì. Se i 2.016 blocchi precedenti hanno richiesto più di due settimane — di solito perché potenza di calcolo ha lasciato la rete —, l'aggiustamento successivo abbassa la difficoltà così che i blocchi tornino all'obiettivo dei dieci minuti.
Che cosa succede se molti miner spengono all'improvviso?
I blocchi vengono trovati più lentamente e le conferme richiedono più tempo fino all'aggiustamento successivo. A quel punto la difficoltà scende e il ritmo normale si ristabilisce. Nei casi estremi un singolo aggiustamento al ribasso può ridurre la difficoltà a un quarto.
Difficoltà e hashrate sono la stessa cosa?
No. L'hashrate è tutta la potenza di calcolo che mina Bitcoin; la difficoltà è l'impostazione del protocollo che rende più difficile o più facile trovare un blocco. L'hashrate non è direttamente osservabile, quindi viene stimato da difficoltà e tempi di blocco.
La difficoltà influenza il prezzo di Bitcoin?
Non in modo diretto. La difficoltà risponde ai tempi di blocco passati e all'attività di mining, cambiando a gradini lenti e discreti. Riflette lo sforzo di sicurezza e l'economia del mining, non la domanda di mercato, e non prevede alcun prezzo.
Perché il tempo medio tra i blocchi supera di poco i dieci minuti?
Una piccola imprecisione di uno nel codice originale misura l'arco di un'epoca su 2.015 intervalli ma lo tratta come 2.016. L'effetto è minimo e non è mai stato corretto, perciò i blocchi si collocano in media appena sopra i dieci minuti.

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

Richiedi un'anteprima