Sommario
introduzione
Chi sono i decisori in una rete blockchain?
Cos'è una forchetta?
Forcella dura e forcella morbida
Cos'è un hard fork?
Cos'è una forchetta morbida?
Hard fork o soft fork, quale ha più vantaggi?
Riassumere
introduzione
Quando utilizzi l'applicazione di banking elettronico sul tuo smartphone, probabilmente ti sei imbattuto nel sistema che ti chiede di eseguire l'aggiornamento. A questo punto, di solito devi considerare e accettare l'aggiornamento prima che il sistema possa essere aggiornato. Forse anche il tuo telefono si aggiornerà automaticamente senza avvisarti. Dopotutto, gli aggiornamenti del software sono un processo necessario e se non installi la versione più recente del software, potresti non essere in grado di continuare a utilizzare i relativi servizi.
In un sistema di criptovaluta open source, la situazione è abbastanza diversa. Non è necessario leggere ogni riga di codice che fa funzionare Bitcoin, ma è utile se puoi. Perché scoprirai che in un ambiente decentralizzato non esiste una gerarchia di gestione e non esiste una banca che possa inviarti aggiornamenti e modifiche ai contenuti a piacimento. Pertanto, è una sfida implementare un nuovo aggiornamento di funzionalità nella rete blockchain.
In questo articolo esploreremo come aggiornare le reti di criptovaluta senza una gestione centralizzata delle autorizzazioni. Pertanto, sono emersi due diversi meccanismi: hard fork e soft fork.
Chi sono i decisori in una rete blockchain?
Per capire come funzionano i fork, devi prima comprendere gli attori coinvolti nel processo decisionale (o governance) di una rete blockchain.
In Bitcoin, puoi dividere approssimativamente i partecipanti in tre diversi sottoinsiemi: sviluppatori, minatori e utenti del nodo completo. In realtà sono nodi che partecipano e contribuiscono alla rete. E come i nodi leggeri ampiamente utilizzati (ad esempio telefoni cellulari, laptop e altri portafogli), non sono veri e propri "partecipanti" alla rete.
Sviluppatore
Gli sviluppatori sono responsabili della creazione e dell'aggiornamento del codice. Con i token tradizionali come li conosci, chiunque può contribuire con il codice al processo. Il codice è disponibile pubblicamente in modo che possano inviare modifiche ad altri sviluppatori per la revisione.
minatore
I minatori partecipano alla protezione della sicurezza della rete. Eseguono il codice della criptovaluta e dedicano risorse informatiche all'aggiunta di nuovi blocchi alla blockchain. Ad esempio, nella rete Bitcoin, raggiungono questo obiettivo attraverso la prova del lavoro. I minatori otterranno i corrispondenti profitti minerari sotto forma di ricompense collettive.
Utente del nodo completo
I nodi completi sono la spina dorsale delle reti di criptovaluta. Sono responsabili della convalida, dell'invio e della ricezione di blocchi e transazioni e del mantenimento di una copia dei dati della blockchain.
All’interno di queste diverse categorie di identità, potresti trovare sovrapposizioni. Ad esempio, puoi essere uno sviluppatore e un full node allo stesso tempo, oppure un miner e un full node. Puoi anche avere tutte e tre le identità contemporaneamente. Ma in realtà, crediamo che molti utenti di criptovalute non ricoprano questi ruoli. Scelgono invece di utilizzare nodi leggeri o servizi centralizzati.
Con l'introduzione di cui sopra, ora hai anche una comprensione approfondita delle responsabilità degli sviluppatori e dei minatori nella rete. Gli sviluppatori sono responsabili della creazione del codice, senza il quale non sarai in grado di eseguire il software e non ci sarà nessuno a correggere i bug e aggiornarlo con nuove funzionalità. I minatori sono responsabili di garantire la sicurezza della rete e, senza una sana concorrenza nel settore minerario, la blockchain può essere dirottata o bloccarsi.
Tuttavia, se gli sviluppatori e i minatori tentano di forzare la rete a fare ciò che vogliono, ci saranno delle conseguenze. Per la maggior parte degli utenti, il controllo reale risiede nei nodi completi. Mantengono la rete attiva e funzionante, consentendo agli utenti di scegliere il software che desiderano eseguire.
Gli sviluppatori non entreranno in casa tua minacciandoti con le armi da fuoco scaricando i file binari principali di Bitcoin. Se i minatori adottano un atteggiamento duro e costringono i clienti a scegliere modifiche non necessarie, la maggior parte degli utenti potrebbe non accettarlo.
In effetti, né i minatori né gli sviluppatori sono potenti signori, ma fornitori di servizi. Se un utente decide di non utilizzare più la rete, i token perderanno valore. La perdita di valore del token influenzerà direttamente i miner (i loro premi valgono meno se misurati in USD). Allo stesso modo, per gli sviluppatori, possono essere ignorati solo dagli utenti.
Noterai che nessuno di questi software è proprietario. Puoi apportare tutte le modifiche che desideri e, se altre persone eseguono il tuo software modificato, puoi interagire tra loro. In questo caso, stai essenzialmente creando una nuova rete effettuando un fork del software.
Cos'è una forchetta?
I soft fork vengono implementati copiando e modificando il codice software. Il progetto originale continua ad esistere, ma un nuovo progetto viene generato separatamente e il nuovo progetto si sviluppa in una direzione diversa. Presumiamo che il team del tuo sito di contenuti di criptovaluta preferito abbia un grave disaccordo su come procedere. Parte del team può replicare il sito in altre aree. Tuttavia, guardando al futuro, pubblicheranno anche articoli che differiscono dal contenuto originale.
Questi progetti sono costruiti su basi comuni e condividono gli stessi dati storici. Proprio come una strada si è poi divisa in due, da ora in poi i loro percorsi divergono.
Tieni presente che questo tipo di cose accade continuamente nei progetti open source ed esisteva molto prima che esistessero Bitcoin o Ethereum. Tuttavia, solo nel mondo blockchain esiste la differenza tra hard fork e soft fork. Ne discuteremo in dettaglio di seguito.
➠Vai su Binance per acquistare Bitcoin e inizia il tuo mondo delle criptovalute!
Forcella dura e forcella morbida
Sebbene abbiano nomi simili e servano allo stesso scopo, gli hard fork e i soft fork sono molto diversi. Presentiamoli in dettaglio.
Cos'è un hard fork?
Un hard fork è un aggiornamento software che non supporta la compatibilità con le versioni precedenti. In genere, queste situazioni si verificano quando un nodo aggiunge nuove regole in un modo che è in conflitto con le regole di un nodo precedente. I nuovi nodi possono interagire solo con i nodi che eseguono la nuova versione del software. Di conseguenza, la blockchain si è divisa, producendo due reti separate: una che funziona secondo le vecchie regole e l’altra che funziona secondo le nuove regole.

I nodi diventano blu dopo l'aggiornamento. I precedenti nodi gialli si sono rifiutati di connettersi ai nodi blu, ma i nodi blu possono connettersi tra loro.
Pertanto ora ci sono due reti che funzionano in parallelo. Continueranno a produrre blocchi e transazioni ma non funzioneranno più sulla stessa blockchain. Prima che una rete blockchain raggiunga un blocco fork, tutti i nodi hanno la stessa blockchain (e la cronologia esiste ancora), ma successivamente avranno blocchi e transazioni diversi.

Poiché esiste la stessa storia, se tieni le monete prima del fork, avrai monete su entrambe le reti contemporaneamente. Supponiamo di avere 5 BTC in mano quando si verifica il fork all'altezza del blocco 600.000. Puoi scegliere di spendere i 5 BTC sulla blockchain originale quando l'altezza del blocco raggiunge 600.001, ma il consumo all'altezza del blocco 600.001 non verrà registrato sulla blockchain appena generata. Supponendo che il metodo di crittografia non sia cambiato, questi 5 token esisteranno ancora nella tua chiave privata sulla nuova rete biforcuta.
Un altro esempio di hard fork è quello avvenuto nel 2017, quando Bitcoin si è diviso in due catene indipendenti, l’originale Bitcoin (BTC) e il nuovo Bitcoin Cash (BCH). Il fork è arrivato dopo un lungo dibattito nella comunità sul ridimensionamento delle dimensioni dei blocchi. I sostenitori di Bitcoin Cash (BCH) vogliono aumentare la dimensione dei blocchi, mentre i sostenitori di Bitcoin (BTC) si oppongono al cambiamento.
L'aumento delle dimensioni dei blocchi richiede modifiche alle regole. Ciò è stato fatto prima del soft fork SegWit (ne parleremo più avanti), quindi i nodi avrebbero accettato solo blocchi inferiori a 1 MB. Se crei un blocco da 2 MB, altri nodi si rifiuteranno di verificarlo.
Solo i nodi che hanno aggiornato il proprio software e supportano dimensioni di blocco superiori a 1 MB accetteranno questi blocchi. Naturalmente questo li rende incompatibili con le versioni precedenti, quindi solo i nodi con lo stesso protocollo possono comunicare tra loro.
Cos'è una forchetta morbida
Il soft fork è un metodo di aggiornamento del software che supporta la compatibilità con le versioni precedenti. I nodi aggiornati possono comunque interagire con i nodi non aggiornati. Il metodo di aggiornamento del soft fork consiste solitamente nell'aggiungere una nuova regola al programma, che non entrerà in conflitto con la vecchia regola precedente.
Ad esempio, è possibile ottenere una riduzione delle dimensioni del blocco tramite una forcella morbida. Usiamo nuovamente Bitcoin come esempio per illustrare questo punto: esiste un limite superiore alla dimensione del blocco nella rete Bitcoin, ma non esiste un limite alla dimensione del blocco inferiore. Se desideri accettare solo blocchi inferiori a una determinata dimensione, rifiuta semplicemente i blocchi più grandi.
Tuttavia, ciò non ti disconnette automaticamente dalla rete. Puoi comunque interagire con i nodi che non applicano queste regole, ma alcune delle informazioni che ti trasmettono verranno filtrate.
Un buon esempio di ciò è il già citato Segregated Witness (SegWit), avvenuto poco dopo la scissione di Bitcoin e Bitcoin Cash. Segwit è un aggiornamento che cambia il formato dei blocchi e delle transazioni ed è progettato in modo intelligente. I vecchi nodi possono ancora verificare blocchi e transazioni (in formati che non violano le regole), ma ci sono alcuni campi che non possono leggere. Solo quando il nodo viene aggiornato a una versione più recente alcuni campi diventeranno leggibili e altri dati potranno essere analizzati correttamente.

Anche più di due anni dopo l’attivazione di Segwit, non tutti i nodi sono stati aggiornati. Ci sono molti vantaggi nel farlo, ad esempio la rete non verrà interrotta e gli aggiornamenti non saranno così urgenti.
Hard fork o soft fork, quale ha più vantaggi?
Essenzialmente, questi due tipi di biforcazione funzionano in modo diverso. Un controverso aggiornamento dell'hard fork dividerà la comunità in due, ma un aggiornamento dell'hard fork pianificato consentirà a tutti i partecipanti di scegliere liberamente se modificare il programma.
La forcella morbida è un'opzione più stabile. In generale, poiché i nuovi aggiornamenti non sono in conflitto con le regole precedenti, puoi solo applicare determinate restrizioni. Detto questo, se riesci a implementare gli aggiornamenti in modo compatibile, non devi preoccuparti del rischio di frammentazione della rete.
Riassumere
Gli hard e soft fork sono fondamentali per il successo a lungo termine delle reti blockchain. Nonostante la mancanza di un’autorità centrale, sono in grado di apportare modifiche e aggiornamenti in un sistema decentralizzato.
Il fork consente a blockchain e criptovalute di integrare più nuove funzionalità man mano che vengono sviluppate. Senza questi meccanismi, abbiamo bisogno di un sistema centralizzato con controllo dall’alto verso il basso. Altrimenti, saremo costretti a rispettare regole ferree per tutta la durata dell’accordo sul software.
➠Per domande relative alle forcelle, vai su Ask Academy!


