L'hard fork e il soft fork sono due modi diversi di apportare modifiche a una blockchain. Un hard fork comporta cambiamenti importanti e non è compatibile con la blockchain precedente. Un soft fork è una modifica più sottile che rimane compatibile con il software precedente e può essere utilizzata, ad esempio, per migliorare la sicurezza o aggiungere nuove funzionalità. In questo articolo spiegheremo come funziona esattamente tutto questo.
✔️ Una forchetta è una forchetta di strade
✔️ Un hard fork crea due percorsi diversi che non sono retrocompatibili.
✔️ Una forcella morbida è una piccola modifica alla strada.
✔️ Le forchette sono necessarie grazie all'avanzamento della tecnologia e delle conoscenze.
In informatica, un fork è perfettamente normale. Quando si aggiorna un telefono cellulare, si verifica un fork. Ci sono cellulari che hanno installato l'aggiornamento e altri che non l'hanno fatto. Tuttavia, questi ultimi continuano a funzionare normalmente.
Anche sui computer e su tutti i tipi di programmi software si verificano aggiornamenti. Il vecchio software viene poi biforcato in due versioni diverse, dove la nuova versione può utilizzare le nuove funzionalità e la vecchia, non biforcata, funziona come prima dell'aggiornamento.
Si tratta di soft fork. Con un hard fork di un programma, si ottiene un programma completamente nuovo che non può funzionare con la vecchia rete. Ad esempio, la versione 1.1 di un programma è un soft fork. Il programma 2.0 può essere definito un hard fork, ad esempio da Windows 95 a Windows 98.
A fork significa forchetta in olandese. Sai, una di quelle forme a quattro denti. Esistono anche forchette a tre denti, per chi non può permettersi una forchetta a quattro denti. Per l'élite esistono anche forchette a cinque denti, ma la forchetta a quattro denti è comune.
Un fork si verifica quando viene inventata una nuova regola che si discosta dal protocollo esistente di una blockchain.
Puoi pensare a un fork come a una strada che si divide. Il percorso normale di una blockchain è dritto. Un hard fork comporta una svolta a destra o a sinistra, dopodiché prosegue dritto nella nuova direzione. La blockchain originale, invece, continua ad andare dritta. In questo processo, vengono create due blockchain.
Con un soft fork, si va a destra o a sinistra, il che significa che si continua ad andare dritti sullo stesso percorso blockchain ma che un aggiornamento ti fa deviare leggermente dal tasso normale. In questo caso c'è ancora una sola blockchain. La maggioranza decide quale ramo della divisione viene preso. È anche possibile avere più protocolli su una blockchain e appartenere comunque alla stessa blockchain, come nel caso di Bitcoin con e senza SegWit.
Una criptovaluta funziona con un protocollo blockchain, che contiene le regole di questa blockchain. Qualsiasi deviazione da questo protocollo viene chiamata fork.
Una volta proposto un nuovo corso, i Miner o i validator dovranno prenderlo in considerazione. La maggioranza deciderà l'aspetto di una blockchain da una protocollo di consensus. Se la maggior parte dei validator accetta il nuovo corso, questo nuovo percorso diventerà la blockchain principale attraverso un soft fork. La vecchia versione continuerà a funzionare, ma a poco a poco tutti i validator scaricheranno il nuovo aggiornamento e la vecchia versione sparirà dalla circolazione.
Questo può essere vero, ma se ci sono molti oppositori a una proposta, può verificarsi una spaccatura nella comunità, in quanto i Miner non accettano o scaricano un aggiornamento o un cambiamento di rotta, ad esempio. In questo caso, potrebbe verificarsi un hard fork, con un nuovo cryptocurrency con una propria blockchain creata tramite un hard fork.
Molte blockchain oggi hanno protocolli open source. Un buon esempio è Bitcoin. Questo significa che domani potrai lanciare una Coin quasi identica a Bitcoin semplicemente duplicando il codice. In questo caso si dice che si sta facendo un fork del codice di Bitcoin.
Secondo le nostre previsioni, la tua Coin varrà un po' meno del Bitcoin per il momento. Dovrai inoltre apportare alcune modifiche, altrimenti potresti anche entrare a far parte della rete Bitcoin. Si tratta comunque di un lavoro molto impegnativo, giusto per fartelo sapere.
Eppure è perfettamente legale ed è quindi molto diffuso. Ad esempio, Litecoin si basa sul codice di Bitcoin, oltre che su quello di Bitcoin Cash.
È ancora più strano quando lo dici Ethereum è basato sul codice sorgente di Ethereum Classic. Aspetta un attimo, non dovrebbe essere il contrario? No, Ethereum è un hard fork dell'originale, ovvero Ethereum Classic.
Copiare il codice di una moneta è un gioco da ragazzi, ma ottenere l'interesse di un numero sufficiente di persone è un po' più difficile. Ad esempio, le persone devono convalidare la nuova Coin, utilizzarla e metterla in vendita da qualche parte. Ecco perché ci sono "solo" 10.000 monete, altrimenti ce ne sarebbero state miliardi.
Diamo un'occhiata più da vicino all'hard fork in modo che tu possa capire esattamente cosa comporta.
L'hard fork è il più conosciuto, perché di solito si conclude con un sacco di trambusto. Ci sono molti hard fork famosi, come Bitcoin Cash ed Ethereum, che sono stati accompagnati da uno scisma nella comunità.
In un hard fork, una copia della vecchia rete viene creata sulla blockchain e la vecchia rete continua a funzionare normalmente, ma la nuova rete si divide sulla blockchain, dopodiché ogni proprietario della rete si separa dalla vecchia rete chiavi private di quella rete blockchain per ogni Coin che aveva dalla vecchia rete riceve una quantità specifica di nuove monete dalla nuova rete.
Un hard fork è una modifica significativa del protocollo di una blockchain che non è compatibile con il vecchio software. Ciò significa che se stai lavorando con il vecchio software, non potrai vedere i nuovi blocchi. Tuttavia, continuerai a vedere i blocchi creati con il vecchio software. In questo modo esistono due blockchain. Di solito i cambiamenti sono piuttosto radicali, il che significa che un gruppo è d'accordo e l'altro no.
Un esempio è il protocollo di Bitcoin, che prevedeva una dimensione massima per un blocco di 1 MB. Quando un aggiornamento ha permesso di creare blocchi più grandi, i Miner che non avevano installato l'aggiornamento non potevano improvvisamente vedere questi blocchi. Secondo il protocollo, questi blocchi erano quindi impossibili. C'erano quindi solo due opzioni: scaricare tutti l'aggiornamento o un hard fork. Quest'ultimo è stato seguito e Bitcoin Cash è nato tramite un hard fork di Bitcoin con blocchi di dimensioni maggiori. Bitcoin è andato avanti con SegWit e la Lightning Network per risolvere il problema della scalabilità. Questa battaglia è stata così feroce che le è stato dato persino un nome: "The Blocksize Wars".
Se non esiste un consensus predeterminato tra i validator su una modifica più o meno radicale del protocollo di una blockchain, si rischia sempre un hard fork.
Non appena sarà chiaro che si verificherà un hard fork, dovrai diffidare dal fare trading su tale Coin fino a quando l'hard fork non sarà completato. In questo modo, potresti scambiare le tue monete attraverso una transazione con nuove regole e queste regole saranno applicate a una blockchain completamente nuova, dalla quale quella particolare moneta varrà molto meno. In una scissione, vince sempre una delle due blockchain, ovvero quella più lunga. In questo caso, è meglio aspettare che il fork sia completato.
Se una comunità non è d'accordo con un aggiornamento del protocollo o con la strada intrapresa, può nascere una nuova criptovaluta su una nuova blockchain.
A volte gli sviluppatori propongono un aggiornamento drastico di un protocollo, rendendo necessario un hard fork. Ad esempio, l'hard fork di Paris di Ethereum è stato obbligatorio, in quanto si è passati da Dalla Proof-of-Work alla Proof of Staken. Il vecchio software non funziona più su un node o un validator di Ethereum.
Quando si utilizza il codice open source di una cryptocurrency per creare una moneta completamente nuova, si parla di hard fork. Fortunatamente, non è necessario porre alcun Roadblock, perché in questo modo non si ha nulla a che fare con la vecchia rete blockchain.
Backwards fork. Si tratta di un hard fork molto insolito, in cui alcuni blocchi della catena vengono dichiarati non validi. Questo va completamente contro l'immutabilità di una blockchain e, per quanto ne so, è successo solo una volta. E ancora alla nascita di Ethereum! Il DAO, il primo DAO e ha perso nel processo. Tutti i blocchi che utilizzavano una falla in un particolare smart contracts sono stati dichiarati non validi ed Ethereum avrebbe annullato le transazioni. Ethereum è stata la moneta che si è separata da Ethereum Classic attraverso questo hard fork. La comunità di Ethereum Classic non poteva rinunciare all'immutabilità di una blockchain per pochi ladri!
Normalmente, dopo l'implementazione dell'hard fork si ottengono monete gratuite. Si conservano le monete della moneta biforcuta e si ottiene una certa quantità di monete della nuova criptovaluta per ogni moneta.
Ci sono però alcune cose da considerare.
Se la nuova valuta è appena entrata nel mercato e tu fai trading con essa, potresti subire un attacco replay (o anche chiamato attacco ripetuto). Se con il calcio puoi rivedere l'attacco, con una nuova criptovaluta i dati delle tue transazioni possono essere trasferiti alla vecchia rete dagli hacker.
Gli hacker utilizzano le tue credenziali, che hanno precedentemente acquisito, per fingere di essere te e quindi di poter agire.
Gli hacker possono quindi usarlo per estrarre crypto dal tuo wallets. I Miner vedono solo la transazione, quindi non possono scoprire questi soggetti che spendono due volte o cose del genere. Ecco come puoi essere derubato.
Puoi evitare questo problema aspettando un po'. Dopo circa una settimana, di solito viene fatto qualcosa per risolvere il problema tramite la protezione replay, che può essere implementata in molti modi dai programmatori in background. Dovresti verificare sul loro sito web o cercarlo su un motore di ricerca.
Dipende anche dalla tua situazione. Mettiamo le cose in chiaro:
Le tue monete sono su un exchange. In questo caso, le chiavi private sono di proprietà di questo exchange, quindi sono loro a ricevere le nuove Coin. Di solito, soprattutto i grandi exchange sono molto flessibili su questo punto e danno ai trader la loro giusta quota di monete che avevano al momento del fork. Questo fa bene alla loro reputazione e non gli costa nulla. Inoltre, genera più scambi. Controlla questo aspetto in anticipo.
Le tue monete si trovano in un hardware wallets. In questo caso, possiedi le chiavi private e hai diritto a una o più monete extra per ogni Coin che possiedi al momento della fork. Fai attenzione a come ottenere queste monete, però, perché può capitare che in un fork le tue monete siano offline e quindi invisibili alla rete biforcuta.
Le tue Coin si trovano in un wallets software, in un exchange decentralizzato o in un sito di scambio Dio solo sa dove. In questo caso, dovrai prestare molta attenzione a come il luogo in cui si trovano le tue monete le gestisce. Se non riesci a capirlo o se è tutto un po' confuso, allora non è una cattiva idea mettere le monete in un hardware wallets o in un exchange che ti aiuti a ricevere anche le monete extra.
A volte puoi ottenere il premio più alto, anche se di questi tempi è molto più raro. Quando il Bitcoin Cash ha subito l'hard fork nel 2017, per ogni BTC posseduto si otteneva una quantità uguale di Bitcoin Cash, perché i BCH erano tanti quanti i BTC. All'epoca, per 1 BCH si ricevevano 555 dollari, mentre il BTC valeva circa 2.500 dollari. Una cifra piuttosto elevata, in altre parole. Il BCH è poi crollato a circa 250, ma ha fatto un'enorme corsa fino a superare i 3K nel 2018. Un bel guadagno, quindi!
Esiste anche un soft fork, in cui non viene creata una nuova moneta ma cambia solo il protocollo della moneta.
Un soft fork comporta la modifica delle regole contenute nel protocollo di una blockchain, dopo di che esistono due versioni della stessa rete sulla stessa blockchain.
Di solito, la maggior parte degli utenti di una rete, come ad esempio Miner e validator aggiornano il loro software e creano così un campo di gioco abbastanza equo. Un soft fork è compatibile con le versioni precedenti, il che significa che sia la nuova che la vecchia versione sono compatibili tra loro.
Tuttavia, ci sono stati dei soft fork che hanno suscitato un certo scalpore. L'aggiornamento SegWit di Bitcoin, ad esempio, è un soft fork che inizialmente ha sollevato molte resistenze, soprattutto da parte dei Miner cinesi. Dopo molti cinque e sei, la rete Bitcoin è andata avanti con due versioni software dello stesso protocollo, ma alla fine è seguito l'hard fork di Bitcoin Cash nel 2017.
I soft fork vengono spesso implementati per risolvere problemi o per rendere le cose più fluide. Ad esempio, per rendere una rete più veloce o per cambiare l'algoritmo di crittografia, non è necessario creare a breve una nuova Coin, ma è possibile farlo con un soft fork.
In questo modo vengono risolti anche i bug. La vecchia versione della rete funziona ancora bene, ma con il passare del tempo la maggior parte degli utenti cambia rotta e scarica la versione più recente.
Molto occasionalmente, si verifica anche un soft fork temporaneo e non pianificato che viene presto risolto. In una rete Proof-of-Work, a volte due Miner trovano l'esito dell'operazione di soft fork puzzle crittografico e passarlo ai Miner. Questo si risolve in modo un po' blando per il perdente, ma in una blockchain vale il principio che la catena di blockchain giusta è quella più lunga. Una volta che un risultato viene accettato da un Miner, l'altra soluzione fa parte della catena più corta e viene quindi rifiutata.
Una criptovaluta inizia la sua "carriera" come un prodotto non ancora finito. Si può paragonare alla costruzione di una casa. A un certo punto pensi: "Oh sì, deve ancora essere montato un interruttore della luce nel seminterrato. E ci dovrebbero essere delle tapparelle, e così via. Per ogni modifica alla blockchain e al protocollo è necessario un soft fork.
A volte gli utenti diventano insoddisfatti di alcune funzionalità della rete. Una volta che il gruppo è abbastanza numeroso, è necessario fare qualcosa. Di solito segue un soft fork con una soluzione marginale, ma a volte le contraddizioni sono così grandi che la situazione è quasi al 50%. In questo caso, potrebbe seguire un hard fork.
Mantenere sicura una rete blockchain comporta parecchie gocce di sudore nella testa dei programmatori. Molti hack hanno fatto venire loro i capelli bianchi prima del tempo. Non appena c'è stato un altro hack, questi poveretti devono andare a mettere insieme un soft fork per ricostruire la blockchain con un nuovo livello di protezione.
A volte un fork si spinge addirittura a riportare la blockchain a uno stato precedente e a continuare in un punto in cui un evento indesiderato (come un hack) non è ancora avvenuto. Una cosa del genere è in netto contrasto con l'idea della blockchain immutabile, ma alcuni sviluppatori non si fermano davanti a nulla, se non a un passaggio di una vecchia donna.
Bitcoin Cash è un hard fork di Bitcoin, dopo l'introduzione di SegWit. Anche Bitcoin Diamond era un hard fork di Bitcoin.
Ethereum è un hard fork di Ethereum Classic, in risposta all'hack di The DAO, che ha riportato la blockchain a una data precedente all'hack.
Questi sono esempi che di solito si verificano dopo uno scisma nella comunità di una rete blockchain.
Potrebbe anche verificarsi un hard fork che non produca due Coin, ma che obbligatorio è. In questo caso bisogna pensare a cambiamenti drastici, come l'hard fork di Parigi su Ethereum, dopo il quale si è passati dalla proof of work alla staken. A quel punto, ovviamente, la vecchia rete e il software ad essa associato non sono più validi e tutti i validator e i nodi devono aggiornare il loro software.
Anche Monero e Cardano si fanno sentire più spesso in termini di hard fork obbligatori.
In un soft fork è possibile utilizzare sia la vecchia che la nuova versione, mentre in un hard fork non è possibile.
Un hard fork viene solitamente introdotto dopo accesi dibattiti, mentre un soft fork è solitamente silenzioso.
Un hard fork è solitamente molto invasivo, mentre con un soft fork è comune che si tratti di un aggiustamento minore.
Un hard fork crea una nuova Coin, un soft fork no.
Con un hard fork puoi ottenere monete gratis, ma non con un soft fork.
Un hard fork richiede l'esecuzione obbligatoria di un nuovo software per tenere il passo con la rete blockchain, mentre un soft fork non lo richiede.
Le forchette sono qui per restare.
Per fortuna, perché mangiare la carne con il cucchiaio è semplicemente meno piacevole.
Ci saranno sempre aggiornamenti per tutti i tipi di blockchain, perché il mondo e le tecniche sono in continua evoluzione e quindi i protocolli devono essere aggiornati.
Ci saranno sempre questioni divisorie in tutti i tipi di comunità, che creano nuove criptovalute.
Forse l'arrivo di un governance token in molte reti blockchain può evitare molti hard fork, ma i soft fork sono qui per rimanere. Per fortuna, perché chi vuole lavorare con un programma "del secolo scorso", per così dire.