golden coin split in half

Che cos’è una fork di una blockchain?

Condividi

Obiettivi didattici:

Alla fine di questo articolo avrai imparato: 

  1. La definizione di fork 
  2. Perché le fork sono fondamentali per avere blockchain aperte e senza autorizzazioni 
  3. Che cos’è una soft fork e le sue implicazioni 
  4. Che cos’è una hard fork e le sue implicazioni 

Che cos’è una fork?

Una fork si verifica quando una blockchain si divide in due percorsi concorrenti. Le cause alla base di una fork possono essere numerose. A volte si verifica una creazione accidentale di blocchi in competizione fra loro, causando una rottura temporanea di una blockchain. Altre volte le fork possono essere upgrade intenzionali delle regole che governano la creazione di nuovi blocchi.

Laddove vi sia un accordo sul cambiamento di una determinata regola, le fork intenzionali funzionano un po’ come l’aggiornamento del tuo browser o del tuo sistema operativo. Questo tipo di fork è noto come soft fork.

Laddove invece vi sia disaccordo sul cambiamento di una regola, la blockchain si separa in due diverse catene, concorrenti fra loro d’ora in poi, ciascuna con la propria implementazione. Il risultato? Due criptovalute diverse (vecchia e nuova). Questo tipo di fork è noto come hard fork.

Fork non intenzionali: blocco orfano ("orphan”), zio (“uncle”) e stantio (“stale”)

Esistono numerosi meccanismi di consenso delle blockchain, ma le caratteristica comune è un processo di selezione pseudo-casuale per decidere in che modo un nuovo blocco di transazioni viene aggiunto alla catena storica.

Questo processo di selezione può causare a volte la creazione di due nuovi blocchi, anziché uno, generando involontariamente due versioni concorrenti della stessa blockchain:

Blocchi orfani/stantii – Creati quando due miner inviano nuovi blocchi validi allo stesso momento. Ciò fa sorgere due catene concorrenti fra loro finché una non viene scartata dalla maggioranza dei Nodi.

Blocchi zii – Nell’epoca di Ethereum pre-Fusione, due blocchi potevano essere estratti allo stesso momento, e il blocco con il PoW più alto veniva aggiunto alla catena. Post-Fusione, con PoS,chi può proporre blocchi viene preselezionando, rimuovendo questo rischio.

Che cos’è una soft fork? 

Una soft fork è causata da una modifica intenzionale e retrocompatibile del meccanismo di consenso di una blockchain. La modifica potrebbe riguardare ad esempio una vulnerabilità di sicurezza, il miglioramento di una funzionalità esistente o l’aggiunta di una nuova funzione.

Le soft fork possono essere paragonate all’aggiornamento del tuo browser o del sistema operativo del tuo PC. I nodi non sono obbligati ad aggiornare il proprio software client, ma il mancato aggiornamento implica che non possano più fungere da Miner/Validatori, ovvero proporre nuovi blocchi e ricevere premi.

La retrocompabilità significa che le soft fork non suddividono una catena, poiché le regole vecchie e nuove sono compatibili con il funzionamento del sistema. Come confronto puoi pensare all’esecuzione di un sistema operativo vecchio sul tuo smartphone; funziona, ma non hai nessun vantaggio particolare.

Soft fork e proposte di miglioramento 

I nodi eseguono software client che riflette le regole operative della blockchain, descritti come protocollo. La natura aperta delle blockchain si estende ai loro protocolli open source, consentendo a chiunque di suggerire una correzione, grande o piccola, o un upgrade delle funzionalità.

Usando Bitcoin come esempio, il processo di controllo delle modifiche del protocollo è progettato per essere democratico. Il processo permette processi decisionali comunitari che consentono al sistema di crescere migliorando le proprie funzionalità e la propria sicurezza. 

Le nuove modifiche vengono inviate sotto forma di BIP (Bitcoin Improvement Proposals) numerati, il primo dei quali ha stabilito uno standard per l’invio dei BIP nel 2011. 

Su Github puoi consultare un elenco completo di BIP con le soft fork indicate fra parentesi, di seguito ecco una selezione delle più importanti:

Segregated Witness (BIP 141) – Miglioramento della scalabilità per consentire a più transazioni di entrare in un singolo blocco.

Taproot (BIP 340-342) - Miglioramento della privacy e dell’efficienza; supporto degli smart contract

Perciò, purché tutti concordino sull’accettazione o il respingimento di un BIP, comunità e blockchain avanzano. 

Tuttavia, questo approccio aperto e democratico al cambiamento consente a chiunque si senta abbastanza sicuro di un determinato cambiamento di separarsi e creare il proprio sistema/la propria comunità, un po’ come quando le correnti interne di un partito politico si separano quando non riescono a trovare un accordo. Questo tipo di fork è noto come hard fork.

Che cos’è una hard fork di una blockchain?

Una hard fork di una blockchain è causata dall’implementazione intenzionale di un aggiornamento del protocollo non retrocompatibile. 

Una hard fork forza i Nodi validatori a scegliere quale catena seguire, quella esistente o la nuova, entrambe le quali continueranno ad esistere in parallelo ma con regole diverse. Ciò genera una competizione per la selezione dei Nodi, con la catena che riesce ad attrarre più Nodi considerata dominante e probabilmente più adottata dagli utenti finali.

Esempi di hard fork 

Ci sono state oltre 100 hard fork Bitcoin, ma le più importanti sono quelle derivate dalle “guerre dei blocchi” del 2015-2017.

Le guerre dei blocchi sono state disputate in merito alle diverse soluzioni alla scalabilità Bitcoin. Poiché non è stato possibile raggiungere un consenso sul modo più efficiente per migliorare la velocità e il volume di transazioni elaborate, il 1 agosto 2017 è stata creata una nuova implementazione denominata Bitcoin Cash (BCH).

BCH non è riuscita tuttavia ad attirare una maggioranza dei Miner. Al contrario, la maggior parte dei Miner è rimasta con la catena BTC esistente, implementando in seguito il Segregated Witness BIP menzionato sopra.

BCH si è ulteriormente divisa in novembre 2018 dando vita a Bitcoin SV, un’implementazione di spazio per i blocchi oltre 2000 volte più grande di BTC.

Implicazioni delle hard fork

Una nuova criptovaluta 

Una hard fork genera una criptovaluta completamente nuova, con la distribuzione iniziale che riflette la titolarità della catena originale al momento in cui si è verificata la fork.

In altre parole, ciò significa che i proprietari di Bitcoin potevano richiedere la stessa quantità di BCH firmando una transazione che dimostrasse la proprietà dei codici privati. Se tuttavia tu possedevi BTC tramite un servizio custodial, come ad esempio uno scambio decentralizzato, in questo caso non avresti avuto un diritto automatico alle coin derivate dalla fork. 

La distribuzione delle fork è a discrezione degli scambi, perciò data la grossa quantità di criptovalute custodite nei servizi custodial, questo valore bloccato rappresenta una grossa economia “in sonno”.

C’è qualche somiglianza con la suddivisione dei titoli quando gli azionisti ricevono ulteriori titoli, ma il valore soggiacente dell’azienda rimane invariato. 

Il forking di una criptovaluta dovrebbe teoricamente sottrarre valore alla catena dominante, ma oggi sia BCH che BSV rappresentano meno dell’1% della capitalizzazione di BTC, con un calo progressivo di questa quota.

Diluire la tokenomics 

I sostenitori dei Bitcoin e di Ethereum post-fusione ne sottolineano l’efficacia in termini di stoccaggio di valore. Bitcoin ha una fornitura fissa, con inflazione decrescente di anno in anno verso l’azzeramento, mentre l’aggiornamento delle commissioni di Ethereum ha reso neutrale la sua inflazione.

Allo stesso tempo, i critici evidenziano invece che le hard fork utilizzate come metodi di aggirare la tokenomics integrata nei sistemi non fanno altro che crearne una copia carbone che rimuove le limitazioni di fornitura. Sebbene ciò sia vero, le prove ad oggi indicano che il tetto di fornitura è una caratteristica fondamentale che alimenta il buy-in di Bitcoin.

Etica e codice come legge 

Le caratteristiche fondamentali delle blockchain pubbliche come Bitcoin o Ethereum sono la loro natura aperta, senza autorizzazioni e decentralizzata. 

Chiunque è libero di unirsi alla rete di Nodi che conserva lo storico delle transazioni contenute in una blockchain, o partecipare alla convalida di nuovi blocchi di transazioni in cambio di un premio. 

Sebbene la sua apertura sia considerata una caratteristica progressista, può presentare comunque qualche problema etico. Ad esempio, una fork può fungere da “liberi tutti” se le regole della blockchain hanno conseguenze impreviste, come ad esempio lasciare aperto uno spiraglio per gli sfruttamenti indebiti.

L’esempio più comune di questo dilemma morale è il DAO Hack subito da Ethereum a un anno dal suo lancio, che ha permesso lo sfruttamento del 14% degli Ether allora sul mercato. 

Ciò ha generato un acceso dibattito nei forum, con una spaccatura fra chi riteneva fondamentale onorare il codice come legge (laddove nessuno ha il diritto di impedire l'esecuzione del codice) indipendentemente dalle conseguenze, e chi riteneva che vi fosse un dovere morale di suddividere (fork) Ethereum e ripristinare i fondi. 

La Fondazione Ethereum ha scelto la seconda soluzione, dando vita alla creazione di Ethereum ed Ethereum Classic; la blockchain Ethereum Classic è quella che ha conservato le transazioni sfruttate.

Che cos’è una fork di una blockchain? Una sintesi

Una fork si verifica quando una blockchain si divide in due percorsi concorrenti. Le cause alla base di una fork possono andare dalla creazione involontaria di blocchi in competizione fra loro, che causano una spaccatura temporanea, e aggiornamenti volontari alle regole che governano la creazione di nuovi blocchi.

Le fork involontarie includono:

Blocchi orfani/stantii 

Blocchi zii

Le fork volontarie sono:

Soft – retrocompatibile 

Hard – la catena si divide creando una nuova criptovaluta

Le soft fork vengono implementate tramite procedure di proposta di variazioni come i Bitcoin Improvement Proposals (BIPs) o gli Ethereum Improvement Proposals (EIPs).

Le implicazioni delle hard fork includono:

Nuove coin – I titolari di coin esistenti hanno diritto di avere le coin derivate dalla fork 

Diluizione della tokenomics – Il potenziale uso delle fork come strumento per diluire i tetti massimi di fornitura 

Dilemma etico – Utilizzare una fork come espediente per risolvere una conseguenza imprevista, mettendo alla prova il principio del codice come legge.