SegWit: una soft fork della blockchain di Bitcoin
Coloro che hanno sostenuto la proposta chiamata "SegWit" credevano che non fosse necessario aumentare la dimensione del blocco di Bitcoin per sempre. Pensavano che ciò avrebbe causato problemi di scalabilità e che sarebbero state necessarie molte risorse in termini di hardware per far funzionare un nodo. Soprattutto, erano sostenitori del limite di dimensione del blocco ⎼ fino a un megabyte ⎼ che Satoshi Nakamoto aveva aggiunto a Bitcoin nel 2010.
Per rimanere in linea con la visione di Nakamoto, questo gruppo ha lavorato per cercare di trovare un modo per consentire più transazioni per blocco, mantenendo invariata la dimensione massima del blocco, e SegWit si è sviluppata partendo da quest'idea. Approfondiremo i dettagli di SegWit in un'altra lezione, ma per adesso è importante sapere che questo cambiamento nel protocollo fondamentalmente comportava la rimozione (segregazione) del "testimone" – cioè i dati provenienti dalla lista degli input necessari per controllare la validità delle transazioni ma non necessari per determinarne gli effetti. Quindi, SegWit è una soft fork della blockchain originale di Bitcoin.
L'altro gruppo che voleva scalare Bitcoin non era d'accordo. I sostenitori di questo gruppo trovavano SegWit troppo complicata e contestavano la limitazione della dimensione del blocco. Come poteva Bitcoin diventare la futura valuta dominante quando aveva una media di solo sette transazioni al secondo? Perché non aumentare la dimensione del blocco e lasciare che la rete gestisse più transazioni? Dato che i gruppi non erano in grado di accordarsi su come procedere, il risultato finale è stato quello che si chiama una fork "controversa".
Una hard fork controversa: Bitcoin Cash (BCH)
Il 1° agosto 2017, la rete Bitcoin ha subito un hard-forking, che significa che alcuni utenti si sono schierati con il gruppo SegWit e altri con il gruppo che voleva aumentare la dimensione dei blocchi. Di conseguenza, la blockchain di Bitcoin si è divisa in due: la blockchain originale ha implementato SegWit, mentre il gruppo a favore dell'aumento delle dimensioni dei blocchi ha sostenuto la nascita di Bitcoin Cash, che da allora è diventata una delle altcoin più importanti. Pertanto, Bitcoin Cash è una hard fork della blockchain originale di Bitcoin.
Fork temporanea
Il terzo tipo di fork rappresenta una circostanza inerente a un processo di mining PoW. In questa particolare situazione, due miner in una rete scoprono un blocco allo stesso tempo, la blockchain si divide temporaneamente in due blockchain concorrenti. In questo caso, la blockchain più lunga viene considerata come la "vera" blockchain, e la blockchain più corta viene abbandonata.
Le monete spin-off sono create sul codice open source di una criptovaluta esistente per creare un nuovo progetto di valuta con nuove caratteristiche, come il Litecoin.
Differenze tra una hard fork e una soft fork
La differenza principale tra una hard fork e una soft fork è quanto sia necessario aggiornare il software dei nodi per continuare a partecipare alla rete. I nodi della nuova versione della blockchain accettano le regole della vecchia blockchain per un certo periodo di tempo, insieme alle nuove regole, e la rete mantiene una vecchia versione mentre ne viene creata una nuova.
La differenza principale tra una hard fork e una soft fork è essenzialmente che il cambiamento del protocollo è graduale.
Dopo l'implementazione di una soft fork, gli utenti che hanno copie complete della blockchain in questione possono seguire, almeno fino a un certo punto sia le vecchie che le nuove regole, rendendo questa blockchain "retrocompatibile". I miner, che sono anche la chiave di una soft fork di successo, decidono quanto dura questo periodo. Il risultato finale è una nuova blockchain valida, in cui solo la maggioranza dei miner ha bisogno di aggiornare il loro software.