Un hard fork indica la divisione di una blockchain in due catene che continuano a svilupparsi in maniera indipendente l’una dall’altra.
Dopo aver approfondito che cosa si intende per soft fork, in questo articolo spieghiamo che cos’è e come funziona un hard fork.
Si parla di hard fork quando un aggiornamento intende allentare le regole di consenso del protocollo. Un hard fork non è retrocompatibile con le versioni precedenti del software: dopo l’aggiornamento, i blocchi con parametri inizialmente considerati non validi vengono accettati. Quando avviene un hard fork, viene creata una nuova moneta.
Come avviene un hard fork?
Supponiamo che si desideri aumentare la dimensione dei blocchi di Bitcoin a 50 MB e che questa idea abbia ottenuto un ampio consenso tra gli utenti. Si sviluppa un software che implementa questa modifica, chiamiamolo Bitcoin Fraud, e se ne pubblica il codice, dichiarando che a partire dal blocco numero 900.000 sarà utilizzabile da chiunque. I nodi di mining che concordano con la modifica, al blocco 900.000 inizieranno a creare un blocco successivo, il 900.001, non conforme alle regole di protocollo del codice originale di Bitcoin ma in linea con le nuove regole di Bitcoin Fraud.
Quando un miner che ha adottato Bitcoin Fraud trova una soluzione alla Proof-of-Work, diffonde il proprio blocco alla rete, il quale viene accettato solo da coloro che utilizzano il nuovo software. I miner che hanno respinto l’aggiornamento continuano a generare blocchi di dimensioni inferiori e a diffonderli alla rete Bitcoin originale.
A partire dal blocco 900.001, si verifica dunque una divisione del consenso e la blockchain si biforca: la diramazione che mantiene le regole originali è Bitcoin, mentre quella con le nuove regole è Bitcoin Fraud.
Quando si pianifica una modifica al consenso che amplia le regole del protocollo, rendendola quindi non retrocompatibile, si delineano due scenari:
1. Tutti i nodi della rete aggiornano il software e adottano le nuove regole;
2. Una parte dei nodi non accetta le nuove regole e continua a sviluppare la catena originale: in questo caso si verifica una divisione della rete, ovvero un hard fork.
Gli hard fork più famosi
- Bitcoin XT, primo hard fork di Bitcoin avvenuto nel 2014;
- Bitcoin Classic, hard fork di Bitcoin avvenuto nel 2016;
- Bitcoin Cash, hard fork di Bitcoin avvenuto nel 2017;
- Bitcoin SV, hard fork di Bitcoin Cash avvenuto nel 2018.
Perché evitare gli hard fork?
Evitare gli hard fork è una pratica fondamentale per non estromettere dalla rete gli utenti che decidono di non adeguarsi alle nuove modifiche.
Affinché Bitcoin possa rappresentare la base del sistema monetario futuro, la struttura di Bitcoin deve essere il più stabile e aperta possibile. Nel corso degli anni, questa considerazione ha portato una buona parte degli utenti Bitcoin a essere molto conservativa in materia di aggiornamenti. A eccezione di alcuni interventi per correggere bug del codice avvenuti quando Satoshi Nakamoto era ancora coinvolto nello sviluppo di Bitcoin, le modifiche più significative al consenso sono state sempre implementate sotto forma di soft fork.
Come molti utenti già fanno, è possibile utilizzare versioni più datate di Bitcoin Core non aggiornate all’ultima versione ma ancora compatibili con il consenso della rete.