Sicuramente l’avrai già sentito come termine, ma cosa si intende con il termine Blockchain Fork? Sapere cosa sia è fondamentale, scopriamolo!
Un blockchain Fork è semplicemente una modifica al protocollo di una rete blockchain. Quando si verifica un fork di una blockchain, si divide in due reti separate con due blockchain separate. In questa guida, discuteremo sul come avvenga un fork blockchain e alcuni dei fork più famosi della storia.
Un fork blockchain è un evento tecnico che si verifica quando i miner sulla rete scoprono un blocco quasi contemporaneamente, con la conseguente creazione simultanea di due blocchi su parti diverse della rete.
I fork possono verificarsi come parte di aggiornamenti del protocollo pianificati, da iniziative guidate dalla comunità per aggiungere nuove funzionalità o migliorare le funzionalità esistenti e come risultato di attacchi alla rete. Tutto ciò che è progettato per essere decentralizzato viene fatto a rischio di fork, con numerose criptovalute che sono state più volte “forkate” in frazioni più piccole.
Table of Contents
Comprendiamo meglio cosa sia un Blockchain Fork
Un fork nella blockchain è quando una singola criptovaluta si divide in due. Questo può essere fatto per vari motivi, ma è tipico quando ci sono disaccordi tra gruppi di persone che hanno tutti il controllo sull’offerta di coin/token. Se queste persone non sono d’accordo su come viene gestita la risorsa digitale, avviano un fork che dividerà la blockchain in due catene separate.
Come abbamo detto pocanzi, un fork può essere considerato come una divergenza permanente nella blockchain e si verifica quando i miner scoprono blocchi contemporaneamente.
I fork vengono solitamente risolti dal consenso dei miner che scelgono un ramo del fork come ramo valido. In alcuni casi, tuttavia, un fork può comportare una divergenza permanente della cronologia blockchain di una criptovaluta. Se ciò accade, due libri mastri separati e incompatibili coesisteranno sulla rete per qualche tempo prima che venga raggiunto un consenso su quale libro mastro è considerato valido e quale no.
Perché si verificano i fork della blockchain
Ogni volta che qualcuno utilizza il software Bitcoin (BTC) senza apportarvi modifiche, ottiene essenzialmente una versione aggiornata di Bitcoin Core con ogni transazione Bitcoin, quindi non si verifica alcun fork. Ma se qualcuno apporta delle modifiche, anche solo un carattere nel software, questo è considerato un fork perché la nuova versione del software non sarà compatibile con le versioni precedenti di esso.
La maggior parte dei fork viene eseguita per gli aggiornamenti pianificati in modo che tutti ottengano la sicurezza e le funzionalità più recenti del protocollo. Tuttavia, ci sono alcune occasioni in cui qualcuno trova improvvisamente un exploit o un bug nel software Bitcoin, e questo si traduce in un fork senza alcun preavviso. In questi casi, di solito è un piccolo gruppo di sviluppatori che corregge rapidamente il bug e rilascia nuove versioni del software. Potrebbero essere disponibili su GitHub solo per poche ore prima che ottengano la potenza di hashing maggioritaria e diventino permanenti.
Tipi di Blockchain Fork, Hard e Soft
Un fork è un’occasione in cui la blockchain si divide e cambia direzione, creando così due blockchain diverse.
Esistono diversi tipi di fork, tutti possono essere suddivisi in accidentali e intenzionali.
Un fork accidentale è quando ci sono due rami nella blockchain che si creano dopo che la rete si è discostata in due o più direzioni, a causa di un bug nel codice o di una fluttuazione anormale dell’hash rate. I fork accidentali fanno sì che i nuovi nodi vengano generati sopra i blocchi più vecchi, facendo pensare loro di lavorare su una chain non valida.
Nel frattempo, un fork intenzionale, a volte chiamato fork personale, viene creato quando un operatore del nodo decide di avviare la propria blockchain e di generare blocchi su di essa. In particolare, i fork intenzionali possono essere suddivisi in Hard Fork e Soft Fork. Un Soft fork è una modifica nell’insieme di regole utilizzate per convalidare transazioni e blocchi. Queste modifiche possono essere implementate da un Soft Fork solo se accettate dalla maggioranza dei partecipanti. Un Hard Fork si verifica quando i nodi nella rete non riescono a raggiungere un consenso sulle regole di funzionamento del protocollo (cioè, ciò che rende validi i blocchi). Ciò può accadere a causa della mancanza di consenso tra i partecipanti e di bug nel sistema che alterano i criteri di validità del blocco.
Cos’è un hard fork
Un Hard Fork, come suggerisce il nome, è un tipo di aggiornamento software che non è compatibile con le versioni precedenti. In altre parole, se scegli di installare ed eseguire il nuovo software, la tua vecchia versione non funzionerà più e viceversa. Un hard fork è un cambiamento radicale al protocollo di una rete che richiede a tutti i nodi o utenti di eseguire l’aggiornamento all’ultima versione del software del protocollo.
A differenza dei Soft Fork, che sono compatibili con le versioni precedenti del software, si dice che gli hard fork siano “irreversibili”. Se non aggiorni il tuo software, la nuova implementazione non ti riconoscerà come parte della rete.
Gli Hard Fork sono controversi a causa di questa mancanza di compatibilità con le versioni precedenti. Cosa succede se alcune persone iniziano ad usare il nuovo software mentre altri no? Cosa succede se le persone che eseguono la versione precedente del software non sono d’accordo su come stanno cambiando le cose? Per rispondere a queste domande, è necessario capire in primo luogo cosa causa gli hard fork.
Le cause che portano agli Hard Fork
Gli hard fork funzionano come una forma di “democrazia”. Se un numero sufficiente di persone supporta il cambiamento, la nuova versione viene adottata e la vecchia non è più praticabile. In questo modo, tutti possono decidere collettivamente se vogliono il fork o meno. Di solito, se più del 50% di tutti i miner supporta l’hard fork, si attiverà e diventerà permanente (cioè non si può tornare indietro).
Tuttavia, se i miner che rappresentano meno del 50% della potenza di calcolo vogliono creare un fork che si discosta dalle regole originali della rete, possono farlo aggiungendo la “replay protection”. In questo modo una sola chain sarà considerata valida e “vera”.
I vantaggi degli Hard Fork
Ci sono due vantaggi principali con gli hard fork. In primo luogo, risolvono il problema dello scaling. Aumentando la dimensione del blocco, gli hard fork consentono di elaborare più transazioni contemporaneamente, il che significa commissioni inferiori e tempi di conferma più brevi. In altre parole, blocchi più grandi possono contenere più transazioni senza dover pagare commissioni più elevate o attendere ore o addirittura giorni per una singola conferma.
In secondo luogo, gli hard fork risolvono il problema del consenso. Il software Bitcoin originale aveva una limitazione che è stata inserita apposta (non è un caso). Inizialmente, Bitcoin è stato progettato con blocchi da 1 MB perché gli sviluppatori volevano limitare l’offerta.
Soft Fork e Hard Fork
Un Soft Fork è un aggiornamento a un sistema che lo rende più sicuro o efficiente, ma può comunque comprendere i sistemi precedenti che non sono stati aggiornati. Si chiama “soft” perché tutti i blocchi creati dalle vecchie versioni software vengono comunque riconosciuti dai nuovi software. Se tutti passassero all’utilizzo della nuova versione, non ci sarebbe alcuna differenza dal punto di vista dell’utente. Di conseguenza, i miner e gli utenti adottano l’aggiornamento molto rapidamente (di solito entro pochi giorni). I soft fork richiedono solo alla maggior parte dei miner di aggiornare il proprio software.
Un hard fork è una modifica del protocollo che rende le versioni precedenti incompatibili con le nuove versioni. L’obiettivo di un hard fork è eseguire un aggiornamento, ma la modifica non è compatibile con le versioni precedenti. Affinché questo tipo di aggiornamento funzioni, tutti devono passare contemporaneamente, perché se alcune persone continuano a utilizzare la vecchia versione, ci sarebbero due diversi tipi di monete e questo potrebbe causare problemi con le transazioni tra utenti di versioni. In caso di divisione, i due gruppi utilizzeranno valute separate.
La loro compatibilità
Gli hard fork non sono compatibili con le versioni precedenti perché di solito cambiano degli aspetti che rendono più difficile per le persone continuare a utilizzare il software pre-aggiornato. Per questo motivo, gli hard fork richiedono un consenso diffuso, come il 95% di accordo tra tutti coloro che utilizzano la risorsa digitale. Questo è molto raro (ad esempio, non c’era consenso sull’hard fork di Bitcoin in Bitcoin Cash).
A differenza dei Soft Fork, che richiedono solo l’aggiornamento dei miner, gli hard fork richiedono che ogni singolo partecipante alla rete aggiorni i propri client, altrimenti non possono rimanere a far parte dell’ecosistema delle criptovalute (e perdere anche tutti i loro soldi). Questi tipi di fork richiedono molta pianificazione e possono persino rendere la criptovaluta meno sicura se non implementata correttamente.
I Soft Fork sono il tipo più comune di aggiornamento blockchain perché sono compatibili con le versioni precedenti e richiedono solo alla maggior parte dei miner di aggiornare il proprio software, ma a volte possono far sì che le persone utilizzino valute diverse se c’è una divisione, come con Bitcoin Cash (BCH ). Un hard fork non è compatibile con le versioni precedenti e richiede a tutti di utilizzare client simili in modo che una valuta non diventi due, ma richiede un consenso quasi unanime tra i partecipanti.
Primi esempi di fork
I migliori esempi di fork di blockchain sono il fork di Bitcoin e il fork di Ethereum (ETH).
Poiché Bitcoin è una tecnologia open source, chiunque può prendere il codice sorgente di Bitcoin e crearne la propria versione. Bitcoin ha avuto tre fork principali (e due minori) nella sua storia. Questi fork hanno portato a diverse nuove criptovalute, tutte derivanti dalla fonte originale di Bitcoin.
In precedenza, i fork di Bitcoin erano in genere eventi pianificati che si svolgevano per settimane o mesi mentre la comunità Bitcoin discuteva di nuove funzionalità e miglioramenti che avrebbero voluto vedere su Bitcoin. Tuttavia, il Bitcoin Cash fork nell’agosto 2017 era tutt’altro che tipico. Poiché Bitcoin aveva raggiunto una crisi interna a causa di una rete sempre più congestionata, Bitcoin Cash è stato creato con un limite di dimensione del blocco più ampio per facilitare un maggiore throughput delle transazioni.
Sebbene Bitcoin Cash sia iniziato come un esperimento interessante, da allora è diventato una delle migliori criptovalute al mondo. Tuttavia, attira truffatori e altri fork sgradevoli, il che ha portato Bitcoin Cash a essere coinvolto in diverse controversie. Bitcoin Gold (BTG) è un altro fork di Bitcoin che ha avuto luogo nell’ottobre 2017 ed è stato guidato da avidità e polemiche. Bitcoin Gold voleva risolvere il crescente problema di centralizzazione di Bitcoin. Tuttavia, lo ha fatto con un algoritmo di mining proprietario (Equihash) invece dell’algoritmo di proof-of-work decentralizzato originale di Bitcoin (SHA256). Bitcoin Gold è stato pubblicamente criticato dagli sviluppatori principali di Bitcoin e dall’esistenza tumultuosa.
I fork di Ethereum
Per quanto riguarda Ethereum, il suo fork Ethereum Classic (ETC) è stato creato a luglio 2016 dopo un hack sull’organizzazione autonoma decentralizzata (DAO). A maggio 2017 c’è stato un altro fork per Ethereum, noto come EtherZero (ETZ). È apparsa come una piattaforma di sviluppo di smart contract con funzionalità uniche ed ampliate rispetto al suo predecessore Ethereum.
Ricapitolando
Un fork blockchain è una divisione della blockchain in due chain separate. Questo può accadere quando c’è un disaccordo tra i miner sulle modifiche proposte alla blockchain. Quando ciò accade, i miner si dividono in due gruppi e ogni gruppo continuerà a estrarre la propria versione della blockchain. Ovviamente, i fork promuovono un ulteriore aggiornamento e sviluppo di una blockchain.