Contenuto
Introduzione
Chi prende le decisioni in una rete blockchain?
Cos'è una forchetta?
Fork rigidi contro fork morbidi
Cos'è un hard fork?
Cos'è una forchetta morbida?
Hard fork contro hard fork Forchette morbide – quale è meglio?
Considerazioni finali
Introduzione
Quando ricevi la notifica di un aggiornamento della tua app di digital banking sul tuo smartphone, probabilmente non ci pensi due volte prima di accettarlo. Forse il tuo telefono si aggiorna automaticamente senza che tu te ne accorga. Dopotutto, è un processo necessario: se non installi la versione più recente del software, corri il rischio di non poter utilizzare i suoi servizi quando ne hai bisogno.
Tuttavia, quando si tratta di criptovalute open source, la situazione è diversa. Non è necessario leggere ogni riga di codice nel sistema Bitcoin per utilizzarlo, ma avere la possibilità di farlo è importante. Non esiste una gerarchia e nessuna banca che possa semplicemente inviare aggiornamenti e apportare le modifiche che ritiene opportune. Pertanto, l’implementazione di nuove funzionalità nelle reti blockchain può essere una sfida.
In questo articolo discuteremo di come le reti di criptovaluta possono essere aggiornate nonostante non esista un’autorità centrale. Per questo vengono utilizzati due diversi meccanismi: hard fork e soft fork.
Chi prende le decisioni in una rete blockchain?
Per capire come funzionano i fork, è importante prima comprendere i partecipanti coinvolti nel processo decisionale (governance) della rete.
Nel sistema Bitcoin, possiamo distinguere tre sottoinsiemi di partecipanti: sviluppatori, minatori e utenti del nodo completo. Questi sono i soggetti che effettivamente contribuiscono alla rete. I nodi leggeri (come le applicazioni wallet su telefoni cellulari, laptop, ecc.) sono ampiamente utilizzati, ma non sono realmente “partecipanti” quando si tratta del funzionamento della rete.
Sviluppatori
Gli sviluppatori sono responsabili della creazione e dell'aggiornamento del codice. Considerando una moneta tipica, chiunque può contribuire al processo. Il codice è disponibile pubblicamente, il che significa che puoi inviare modifiche affinché altri sviluppatori possano esaminarle.
Minatori
I minatori sono responsabili della protezione della rete. Eseguono il codice della criptovaluta e dedicano risorse all'aggiunta di nuovi blocchi alla blockchain. Sulla rete Bitcoin, ad esempio, lo fanno tramite Proof of Work. I minatori vengono ricompensati per i loro servizi attraverso premi in blocco.
Utenti del nodo completo
I nodi completi sono il nucleo della rete di criptovaluta. Convalidano, inviano e ricevono blocchi e transazioni. Inoltre, i full node mantengono anche una copia della blockchain.
È comune trovare sovrapposizioni in queste categorie. Potresti, ad esempio, essere uno sviluppatore e un utente del nodo completo allo stesso tempo. O un minatore e un utente del nodo completo. È possibile agire in tutte e tre le categorie oppure in nessuna. In effetti, molti utenti di criptovaluta non svolgono nessuno di questi ruoli. Scelgono invece di utilizzare nodi leggeri o servizi centralizzati.
Osservando le descrizioni sopra, possiamo essere convinti che siano gli sviluppatori e i miner a prendere le decisioni relative alla rete. Gli sviluppatori creano il codice: senza di loro non ci sarebbe alcun software in esecuzione e nessuno che corregga bug o aggiunga nuove funzionalità. I minatori proteggono la rete: senza una sana competizione mineraria, la catena può essere rubata o bloccarsi completamente.
Tuttavia, se queste due categorie tentassero di costringere il resto della rete a seguire i loro desideri, la cosa non funzionerebbe molto bene. Molti ritengono che il potere sulla rete sia, in realtà, concentrato nei nodi interi. Probabilmente perché la rete è opt-in, il che significa che gli utenti possono scegliere quale software desiderano eseguire.
Gli sviluppatori non irrompono in casa tua armati e non ti costringono a scaricare i binari di Bitcoin Core. Se i minatori adottassero una posizione autoritaria costringendo gli utenti a apportare modifiche indesiderate, gli utenti semplicemente abbandonerebbero la rete.
Questi partecipanti non sono sovrani: sono fornitori di servizi. Se le persone decidono di non utilizzare la rete, la valuta perderà il suo valore. La perdita di valore colpisce direttamente i miner (i loro premi valgono meno se denominati in dollari). Per quanto riguarda gli sviluppatori, possono semplicemente essere ignorati dagli utenti.
Come possiamo vedere, non è che il software possieda la rete. Puoi apportare tutte le modifiche che desideri e, se altre persone eseguono il tuo software modificato, tutti possono mantenere la connessione. In questo caso, avresti effettuato il fork del software e creato una nuova rete nel processo.
Cos'è una forchetta?
Quando il software viene biforcato, viene copiato e modificato. Il progetto originario continua ad esistere, ma separatamente da quello nuovo, che prende una direzione diversa. Supponiamo che il team del tuo sito web preferito, in termini di contenuto di criptovaluta, abbia un grande disaccordo. Una parte del team può replicare il sito su un dominio diverso. Tuttavia, dopo la divisione, pubblicherebbero contenuti diversi rispetto al sito Web originale.
I progetti hanno una base comune e condividono parte della loro storia. Proprio come una strada che si divide in due, ora c’è una divergenza permanente nei percorsi di ciascun progetto.
Tieni presente che questo tipo di cose accade spesso nei progetti open source e accade molto prima dell'emergere di Bitcoin o Ethereum. Tuttavia, la distinzione tra hard fork e soft fork è quasi esclusiva degli ambienti blockchain. Discutiamone un po' di più.
➠ Stai pensando di investire in criptovalute? Acquista Bitcoin su Binance!
Fork rigidi contro fork morbidi
Nonostante abbiano nomi simili e essenzialmente lo stesso scopo, gli hard fork e i soft fork presentano differenze significative. Valutiamo ciascuno.
Cos'è un hard fork?
Gli hard fork sono aggiornamenti software incompatibili con le versioni precedenti. In genere, si verifica quando i nodi (nodi) aggiungono nuove regole che sono in conflitto con le regole dei nodi precedenti. I nuovi nodi sono in grado di comunicare solo con altri che utilizzano la nuova versione. Di conseguenza, la blockchain si divide, creando due reti distinte: una con le vecchie regole e una con quelle nuove.

I nodi diventano blu quando vengono aggiornati. I nodi gialli (più vecchi) li respingono, mentre quelli blu si connettono tra loro.
Quindi ora ci sono due reti che funzionano in parallelo. Entrambi continueranno a propagare blocchi e transazioni, ma non funzioneranno più sulla stessa blockchain. Tutti i nodi condividono la stessa blockchain fino al punto di biforcazione (questa cronologia rimane invariata), ma successivamente avranno blocchi e transazioni diversi.

Considerando questa storia condivisa, se hai detenuto monete da prima del fork, avrai monete su entrambe le reti. Supponiamo di avere 5 BTC quando si verifica un fork al blocco 600.000. Potresti spendere questi 5 BTC sulla vecchia catena, sul Blocco 600.001, ma non verranno spesi sul Blocco 600.001 della nuova blockchain. Supponendo che non vi sia alcun cambiamento nella crittografia, le tue chiavi private contengono ancora cinque monete sulla rete biforcuta.
Un esempio di hard fork è stato quello del 2017 che ha diviso la catena Bitcoin in due: l’originale, Bitcoin (BTC), e una nuova, Bitcoin Cash (BCH). Il fork è avvenuto dopo molte discussioni sull'approccio migliore alla scalabilità. I sostenitori di Bitcoin Cash volevano aumentare la dimensione dei blocchi, ma i membri della rete Bitcoin originale si sono opposti al cambiamento.
Un aumento della dimensione del blocco richiede la modifica delle regole. Questo accadeva prima del soft fork SegWit (ne parleremo tra poco), quindi i nodi accettavano solo blocchi inferiori a 1 MB. Se creassi un blocco da 2 MB che sarebbe valido, altri nodi lo rifiuterebbero a causa delle sue dimensioni.
Solo i nodi che hanno apportato modifiche al software per consentire blocchi più grandi di 1 MB potevano accettare questi blocchi. Naturalmente questo li renderebbe incompatibili con la versione precedente, quindi solo i nodi con le stesse modifiche al protocollo potrebbero comunicare.
Cos'è una forchetta morbida
Un soft fork è un aggiornamento compatibile con le versioni precedenti, il che significa che i nodi aggiornati possono ancora comunicare con quelli che non sono ancora stati aggiornati. In un soft fork solitamente viene aggiunta una nuova regola che non sia in conflitto con le regole precedenti.
Ad esempio, una riduzione delle dimensioni del blocco può essere implementata tramite un soft fork. Usando ancora Bitcoin come esempio: sebbene esista un limite alla dimensione massima di un blocco, non esiste alcun limite alla dimensione minima. Se desideri accettare solo blocchi più piccoli di una dimensione specifica, rifiuta semplicemente quelli più grandi.
Tuttavia, ciò non ti disconnette automaticamente dalla rete. Comunichi ancora con i nodi che non hanno implementato le nuove regole, ma alcune delle informazioni che ti trasmettono vengono filtrate.
Un buon esempio reale di soft fork è stato il già citato Segregated Witness (SegWit), avvenuto poco dopo la divisione Bitcoin/Bitcoin Cash. SegWit è stato un aggiornamento che ha cambiato il formato dei blocchi e delle transazioni, ma è stato progettato meticolosamente. I vecchi nodi potevano ancora convalidare blocchi e transazioni (l'aggiornamento non ha infranto le regole), ma semplicemente non le comprendevano appieno. Alcuni campi potevano essere letti solo quando i nodi passavano al software più recente, che consentiva un’ulteriore analisi dei dati.

Anche due anni dopo l'attivazione di SegWit, non tutti i nodi sono stati aggiornati. L'aggiornamento completo presenta alcuni vantaggi, ma non c'è alcuna urgenza, poiché non si tratta di modifiche che danneggiano il corretto funzionamento della rete.
Hard fork contro hard fork forchette morbide: quale è meglio?
Fondamentalmente i due tipi di forcelle hanno scopi diversi. Gli hard fork controversi possono dividere un'intera comunità, ma quelli ben pianificati offrono la libertà di modificare il software quando tutti sono d'accordo.
La forcella morbida è un'opzione meno radicale. In generale, le possibilità sono più limitate, poiché le nuove modifiche non possono entrare in conflitto con le norme esistenti. Detto questo, se il tuo aggiornamento può essere realizzato in modo che rimanga compatibile, non c’è da preoccuparsi della frammentazione della rete.
Considerazioni finali
Gli hard fork e i soft fork sono cruciali per il successo a lungo termine delle reti blockchain. Consentono modifiche e aggiornamenti nei sistemi decentralizzati, anche in assenza di un’autorità centrale.
I fork consentono a blockchain e criptovalute di integrare nuove funzionalità man mano che si sviluppano. Senza questi meccanismi, avremmo bisogno di un sistema centralizzato con controllo dall’alto verso il basso. Altrimenti saremmo costretti a seguire esattamente le stesse regole per tutto il tempo in cui è esistito il protocollo.
➠ Domande sulle forcelle? Accedi ad Ask Academy!

