BTC: 8,110 € ETH: 205 €
Bitcoin – Hard Fork & Soft Fork

Bitcoin – Hard Fork & Soft Fork


Cos’è Bitcoin? E’ un software per la gestione di un database distribuito che utilizza la crittografia per generare monete e per validare le transazioni. Il protocollo di Satoshi Nakamoto nato nel 2009 è pubblico, quindi modificabile, infatti molte startup hanno utilizzato il white paper di Bitcoin per creare blockchain concorrenti al fine di personalizzare il protocollo. Ma cosa succede quando è lo stesso Bitcoin a necessitare un miglioramento funzionale?

La blockchain (catena di blocchi) è il modo con cui il libro mastro viene gestito tra i vari peer, tutte le transazioni vengono scritte su un blocco che nel caso di Bitcoin Core è di dimensioni prefissate. Quando un miner risolve un nuovo blocco riceve un compenso in moneta (Proof of Work), l’estrazione di nuovi blocchi diventa sempre più difficile col passare del tempo e richiede hardware sempre più performante.

Bitcoin è difficilmente modificabile perchè richiede un elevato consenso da parte della community per poter essere scalato, ciò fa percepire i limiti di governance che il network di Bitcoin possiede. La scalabilità consente alla rete di crescere in maniera proporzionale alle evoluzioni tecnologiche ed al numero di utilizzatori, ma la governance limita molto la possibilità di effettuare modifiche poichè i dibattiti su ciò che deve essere modificato creano sempre uno spaccamento tra persone favorevoli e persone che vogliono mantenere Bitcoin così come il suo ideatore lo ha immaginato. Esistono attualmente molte altre blockchain che hanno proposto soluzioni alternative sia per migliorare la scalabilità che per risolvere i problemi di governance.

Tra gli attori di Bitcoin ci sono i nodi client ed i “miners” che convalidano le transazioni. Entrambi potrebbero effettuare degli aggiornamenti:

  • Hard Fork
  • Soft Fork

Un hard fork è una modifica permanente del protocollo, avviene in maniera rapida e repentina a partire da un blocco prefissato ed è una prerogativa dei miners. Quando un team di sviluppo implementa questo tipo di fork, sceglie delle nuove regole da applicare, ed i nodi non aggiornati non riescono più a convalidare i blocchi dei nodi aggiornati, creando quindi una nuova catena, ed in tal modo si ottiene una biforcazione della blockchain. Da quel momento in poi le transazioni tra l’una e l’altra catena risultano impossibili da effettuare facendole esistere contemporaneamente. Chi detiene la criptovaluta fino al momento precedente al lancio del nuovo software si ritroverà la stessa quantità di moneta in entrambe le blockchain. Il valore di questi token aggiuntivi sarà dato dal mercato (in base alla legge fondamentale della domanda ed offerta), ed in passato ha consentito a chi ha partecipato di ottenere dei profitti. La potenza di calcolo (hashing power) necessaria per creare una nuova catena non è rilevante, dev’essere solo conveniente per un miner continuare a produrre blocchi aggiornati per mantenere la nuova blockchain attiva, altrimenti cesserà di esistere. Questo tipo di modifica non è retroattiva, l’aggiornamento può andare a buon fine o meno.

Durante un hard fork è consigliato detenere moneta su un wallet personale, di cui avete la gestione della chiave privata. Non sempre gli exchange supportano gli hard fork e quindi potreste perdere la nuova criptovaluta generata. È inoltre sconsigliato effettuare transazioni in prossimità dell’evento.

L’hard fork di Ethereum è stato un caso studio perfetto su come una comunità si può dividere per aggiornare delle regole. Attualmente abbiamo infatti due varianti del software: Ethereum (ETH) ed Ethereum Classic (ETC), entrambi con etica e valuta diverse. Un hard fork più recente ma molto importante è quello tra Bitcoin Core (BTC) e Bitcoin Cash (BCH) ed è avvenuto perchè i team hanno diverse visioni sulla dimensione dei blocchi minabili.

Un soft fork è un aggiornamento retroattivo, quindi può essere permanente o momentaneo ed avviene in maniera più lenta e discussa dalla comunità che dovrebbe dichiarare pubblicamente l’accettazione della modifica prima che possa essere scritta la nuova versione del codice. Successivamente, se accettato, il nuovo software viene installato sui nodi che scelgono un blocco prefissato a partire dal quale ci sarà l’aggiornamento. Quando un team di sviluppo implementa questo tipo di fork, i nodi non aggiornati riescono a convalidare i blocchi dei nodi aggiornati, non si crea dunque una nuova catena e le transazioni tra l’una e l’altra risultano ancora possibili. Dunque la criptovaluta non sdoppia il numero dei token. L’hashing power dev’essere molto elevato per il soft fork ed ha un rischio minore di dividere la rete. Esempi passati di soft fork di Bitcoin avvenuti con successo sono:

  • BIP 66 (Bitcoin Improvement Proposal 66) che riguardava la convalida della firma
  • P2SH (Pay to Script Hash) che ha modificato la formattazione dell’indirizzo di bitcoin

Queste modifiche sono UASF (User Activated Soft Fork) cioè aggiornamenti attivati dai nodi client. Invece di aspettare una soglia di supporto da parte dei miners, l‘idea di UASF è di poter attivare un soft fork a partire da nodi client, exchange o aziende che stanno eseguendo nodi completi (un nodo completo, anche se non è un data mining, è ancora responsabile della convalida dei blocchi). Quest’idea consente alla blockchain di effetturare un aggiornamento non direttamente supportato dall’hashing power della rete (miners).

 Tra i soft fork più importanti ricordiamo Bitcoin Segragate Witness (BTC Segwit), Litecoin Segrate Witness (LTC Segwit) che hanno diminuito la quantità di bytes scambiati per effettuare le transazioni rendendole più rapide.

Hard fork e soft fork sono soluzioni molto criticate e generano ampie discussioni su internet, rimane comunque una caratteristica intrinseca della blockchain di Bitcoin, quindi implementabile. Di cambiamenti e modifiche ci sarà sempre più bisogno col crescere dell’utilizzo di questa tecnologia, anche se la maggior parte dei fork attualmente proposti sono a fine speculativo e non si preoccupano del miglioramento del protocollo in se e per se.

Informazioni riguardo il consenso e la governance di Bitcoin sono consultabili in dettaglio sulla piattaforma Coindance, aggiornata e arricchita da numerosi grafici esplicativi.

Emanuele Comito
Donate Bitcoin BTC → 178VUp6KSdMMBkvLUi6Pd5pPcXZv1D62X6
Donate Ethereum ETH → 0x3789873bDCC2d003497A4f56A576b8785b4760f2


Il Portale non intende in nessun modo sollecitare alcun tipo di investimento da parte dei lettori. Le indicazioni fornite non vanno assolutamente intese come consigli di tipo finanziario. Per maggiori informazioni vedi le condizioni d'uso.