hard fork soft fork blockchain newbie

Soft e hard forks: quali sono le differenze?

Oggi parliamo delle differenze tra un soft e hard forks, un argomento molto interessante se vi state appassionando alla tecnologia Bitcoin e Blockchain in generale. Essendo un argomento leggermente complicato da capire, visto che spesso e volentieri si celano motivi di consenso più politici che tecnici, ed essendo un argomento molto tecnico allo stesso punto, oggi vedremo cosa sono le forks in maniera molto semplice, cercando di rendere comprensibile a tutti la spiegazione.

Molte persone infatti, non capiscono completamente la differenza tra i due tipi di forks, e soprattutto le implicazioni che queste hanno sul network e sull’ecosistema. Innanzitutto, diamo un paio di definizioni.

  • Una hard fork è una divergenza nella blockchain permanente. Una hard fork capita quando i nodi del network che non si sono aggiornati non riescono a validare i blocchi creati dai nodi che si sono aggiornati e che seguono delle nuove regole di consenso.
  • Una soft fork invece, è una divergenza nella blockchain temporanea, che capita quando i nodi non aggiornati non seguono le nuove regole di consenso.

Soft fork e Hard fork cosa?

Andiamo un po a vedere. Fork nel letterale significa “biforcazione”. Biforcazione, in questo caso, della blockchain.

Sappiamo che quando parliamo di “possedere” bitcoin (o qualsiasi altra cryptovaluta), nella realtà dei fatti questi bitcoin non li abbiamo mai in mano, nemmeno quando questi sono in un wallet. I bitcoin non stanno in nessun wallet, portafoglio o simili: i bitcoin sono esistenti solamente all’interno della propria blockchain. Sulla blockchain di Bitcoin, sono segnate tutte le transazioni che sono avvenute dal 2009. Un fork divide la blockchain in due catene, dove una sarà la “originale”, e l’altra sarà quella nuova, ma dove comunque saranno segnate tutto lo storico delle transazioni dal 2009 fino al momento della fork. Dopo la fork, le due blockchain e le rispettive transazioni non saranno più compatibili. L’idea è che anche se c’è una fork, niente verrà azzerato a livello di blockchain, fino a prima del momento della biforcazione.



Ma come si forma una fork?

Una fork si può formare in seguito a degli aggiornamenti, o a dei bug. Come nel caso della DAO, dove la blockchain di Ethereum è stata forkata, l’hard fork aveva lo scopo di risolvere il bug che ha causato l’hack della DAO, dunque “azzerando” l’hack. Una hard fork può anche avvenire per una mancanza di consenso tra i partecipanti ad un network. Una hard fork inoltre, ha un certo bisogno di consenso. L’idea è che una cryptovaluta può “hardforkare” quando ci sono abbastanza wallets che detengono questa cryptovaluta, mettendosi d’accordo sul creare una nuova cryptovaluta con la sua propria blockchain “on top” del sistema esistente, partendo da un certo blocco. Una fork però, si potrebbe anche formare per il meccanismo di “convalida dei nodi”, oppure quando due o più blocchi hanno la stessa lunghezza di catena. Possiamo comunque però dire che il motivo maggiore per il quale un fork può avvenire è un aggiornamento del network e una parte della rete utilizza un software o un meccanismo non aggiornato.

Esempio semplice di hard fork: Bitcoin Cash

Una fork nata recentemente, e super famosa, è quella di Bitcoin Cash, dove è nato “un nuovo Bitcoin” (o così, perlomeno, piace chiamarlo a Roger Ver…). Cos’è successo? A dirla in parole molto semplici, degli sviluppatori hanno creato un software alternativo a Bitcoin (con dei cambiamenti mirati a cambiarne il funzionamento e il blocco), e a un certo blocco della blockchain, quest’ultima è stata biforcata in due parti permanentemente, creando due diverse monete: Bitcoin e Bitcoin Cash.

Conclusioni

Per un post molto più dettagliato sulle forks, potete leggere questo scritto da me qualche mese fa. Oggi, tenendo le cose semplici, cerchiamo di capire i concetti alla base di soft e hard forks. Riprendiamo le due definizioni date all’inizio e cerchiamo di chiarificarle un po’, anche alla luce di quello già detto.

Una hard fork si verifica quando la nuova versione del software viene rilasciata, e questa nuova versione non è compatibile con la vecchia. Se la nuova versione del software non trova consenso tra i partecipanti del network, gli utenti possono decidere di non aggiornare il software, creando la biforcazione che creerà a sua volta due nuove blockchain con regole e protocollo diversi. La biforcazione si crea perché per far “rimanere” una sola blockchain, c’è necessità del consenso all’interno dei nodi sul protocollo adottato e di conseguenza le regole da seguire.



Una soft fork si verifica quando c’è un cambiamento di protocollo, o di regole, e le nuove regole sono “compatibili” con le vecchie. Solo i blocchi precedenti alla soft fork sono resi “invalidi”. Questo vuol dire che la nuova versione del software è compatibile con le vecchie, e i vecchi nodi (non aggiornati) saranno in grado di validare i nuovi blocchi. Questa è una fork più “consensuale”, nel senso che una soft fork richiede solamente che la maggioranza dei miners si aggiorni alle nuove regole. Upgrades al protocollo possono essere eseguiti tramite soft fork, infatti c’è solamente bisogno che i miner rifiutino i blocchi che contengono transazioni che non seguono le nuove regole. Una soft fork è un modo di implementare miglioramenti al software, rendendoli allo stesso tempo compatibili con le vecchie versioni del software, in modo tale che i nodi non si debbano aggiornare al fine di mantenere il consenso.

Spero che vi sia stato chiaro, per qualsiasi domanda non esitate a commentare o a scriverci sulla nostra pagina Facebook.

Leave a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*