La questione legata alle decisioni da prendere per lo sviluppo di una blockchain riveste un ruolo molto importante in ambito crypto. Il motivo è molto semplice: la democrazia interna è considerato un fondamentale ineludibile per chi decide di dedicarsi ad un progetto collegato all’innovazione finanziaria.

Basta in effetti scorrere il White Paper di Bitcoin per notare il particolare accento messo da Satoshi Nakamoto nel descrivere il nuovo modello economico che dovrebbe essere promosso dalle criptovalute. Un nuovo modello inclusivo, del tutto opposto a quello della finanza tradizionale, la quale comporta l’esclusione di miliardi di persone in ogni parte del globo dalla possibilità di gestire il proprio patrimonio.

Quando le decisioni prese da una maggioranza all’interno di una blockchain non piacciono alla minoranza, però, può innescarsi una dinamica simile ad una guerra civile. Tale da rendere impossibile la coesistenza tra le due fazioni. A quel punto, può scattare un fork.

Fork: cos’è e come funziona

Per fork, in italiano biforcazione, si intende il processo che si innesca ogni volta che un software viene copiato e modificato. Se il progetto originale può proseguire sulla strada intrapresa, quello nuovo prende al contrario una direzione diversa, non condividendo con tutta evidenza una decisione adottata dalla maggioranza.

Questo genere di separazione di una comunità caratterizza in particolare i progetti open-source ed è in vigore da molto prima che apparisse Bitcoin. A rendere del tutto peculiare il fork che avviene su una blockchain è però il fatto che esso può avvenire in maniere molto diverse. Esistono cioè hard e soft fork.

Il primo avviene con modalità tali da rendere il nuovo progetto incompatibile con il vecchio. Esattamente il contrario di quanto accade con il soft fork, in cui i due progetti pur intraprendendo strade differenti, restano comunque collegati. Nell’hard fork, in pratica, i nuovi nodi sono in grado di comunicare esclusivamente con altri che utilizzano la nuova versione.

Nell’uno e nell’altro caso, la blockchain è uguale sino al punto in cui è intervenuta la separazione. Da questo momento, però, i nodi saranno diversi e processeranno le transazioni secondo le nuove regole. Per quanto riguarda più espressamente i token, quelli emessi sino al momento del fork non vanno persi. Possono anzi essere spesi su entrambe le blockchain, ma soltanto una volta.

Un caso di hard fork: Bitcoin e Bitcoin Cash

Un caso famoso di hard fork è quello che ha avuto luogo nel 2017 all’interno della blockchain di Bitcoin. Il motivo della divisione è da individuare in una proposta di mutamento della dimensione del blocco, in modo da favorire la scalabilità di BTC. Quando i favorevoli si sono trovati di fronte al deciso diniego dei puristi, hanno optato per il varo di Bitcoin Cash (BCH).

Quanto accaduto in quel caso spiega al meglio il funzionamento di un hard fork. Per poter aumentare le dimensioni di blocco, infatti, sarebbe stato necessario conseguire la maggioranza dei consensi all’interno della rete.

La proposta in questione, in particolare, presupponeva la rimozione di un impedimento, quello relativo alla soglia da non varcare per rendere possibile l’aggiunta di un blocco alla catena. Su BTC, infatti, non era possibile aggiungere quelli sopra un MB, anche se assolutamente regolari. Ne derivavano conseguenze per la scalabilità del sistema inaccettabili con tutta evidenza ai ribelli che hanno quindi optato per il fork dal quale è nato Bitcoin Cash.

Il soft fork di Segwit

Dopo quell’episodio, abbastanza traumatico per la comunità radunata intorno a Bitcoin, BTC ha però dato luogo anche ad un soft fork. Ovvero ad una biforcazione tale da comportare la retrocompatibilità, permettendo ai nodi aggiornati di stabilire una comunicazione con quelli che hanno deciso contrariamente.

Il soft fork più noto è stato denominato Segwit, contrazione di Segregated Witness. SegWit ha in effetti aderito all’idea di mutare la modalità di aggiornamento della blockchain. Questo aggiornamento, infatti, prevede una procedura grazie alla quale è possibile mutare il formato dei blocchi e delle transazioni, coi vecchi nodi che possono ancora convalidare blocchi e transazioni senza che la formattazione vada a violare le regole esistenti, senza però comprenderli. Le modifiche operate, saranno leggibili solo una volta che tali nodi passano al nuovo software, il quale consente loro di interpretare i dati che sono stati aggiunti.

Questo modo di procedere, ha in pratica consentito di aggiornare il progetto Bitcoin senza provocare alcun genere di frizione all’interno della comunità. Proprio alla luce dell’importanza rivestita dalle comunità per lo sviluppo di una criptovaluta è possibile ravvisare la maggiore utilità di un soft fork nei confronti di uno hard.