Glossario / Protocollo e aggiornamenti
Hard fork
- Che cos'è un hard fork?
- Un hard fork allenta o modifica le regole del bitcoin, così che blocchi che il vecchio software rifiuta diventano validi: ogni nodo deve quindi aggiornarsi o restare indietro su una catena diversa.
La compatibilità all'indietro funziona in un solo senso, e un hard fork punta nel senso sbagliato. Il software vecchio considera illegittimi i nuovi blocchi e continua a costruire la propria catena, quindi, a meno che l'adozione non sia quasi unanime, il risultato sono due criptovalute dove ce n'era una. È così che è nato Bitcoin Cash, al blocco 478.558, il 1º agosto 2017.
Come funziona
Un hard fork allarga l'insieme dei blocchi che un nodo accetta, e allargare è la direzione che non si può nascondere.
Considera una modifica che consente blocchi da otto megabyte. I nodi aggiornati accettano sia i blocchi piccoli sia quelli grandi. I nodi non aggiornati accettano solo quelli piccoli. Finché nessuno mina un blocco grande i due gruppi sono indistinguibili, e la divisione esiste solo sulla carta. Nell'istante in cui un miner ne pubblica uno, i gruppi hanno punte della catena diverse e nulla nel protocollo li riunirà mai più, perché nessuna delle due parti è disposta a invertire un blocco che considera del tutto valido.
Ecco perché gli hard fork richiedono un coordinamento che i soft fork non richiedono. La modifica è fissata a un'altezza di blocco o a una data di calendario, annunciata con largo anticipo, e ci si aspetta che tutti si siano aggiornati prima. Se manchi la scadenza, il tuo nodo non sta semplicemente eseguendo software vecchio: sta seguendo una catena che le persone con cui fai trading hanno abbandonato.
Un hard fork pensato per produrre una seconda catena duratura ha bisogno anche di una protezione contro la ripetizione. Senza di essa una transazione firmata è valida su entrambe le catene, quindi una spesa su una può essere ritrasmessa sull'altra e spendere lì anche i bitcoin corrispondenti. Bitcoin Cash lo ha risolto richiedendo un nuovo tipo di hash della firma, SIGHASH_FORKID, che rende le sue transazioni strutturalmente non valide su bitcoin e quelle di bitcoin non valide su Bitcoin Cash. Le divisioni che hanno saltato questo passaggio hanno fatto perdere bitcoin agli utenti a causa di ripetizioni accidentali.
Bitcoin stesso ha cambiato le sue regole in questo modo solo nei suoi primi anni, sotto costrizione. L'incidente di overflow del valore del 15 agosto 2010 ha prodotto un blocco che creava 184 miliardi di bitcoin per un bug aritmetico, e la riparazione ha richiesto un client con la patch più una riorganizzazione deliberata della catena fino a prima di quel blocco. La divisione della catena di marzo 2013 è stata risolta con un passaggio programmato documentato nel BIP-50. Da allora nulla vi si è avvicinato, e non esiste alcun meccanismo per imporne uno: su bitcoin un hard fork è una proposta che riesce solo se l'intera economia sceglie di seguirla.
Perché questo conta quando compri bitcoin
Ogni volta che viene annunciato un hard fork sorgono due domande pratiche, e solo una riguarda i tuoi bitcoin.
La prima è la custodia. I bitcoin in un wallet di cui detieni le chiavi esistono automaticamente su entrambi i lati di qualsiasi divisione, perché entrambe le catene ereditano lo stesso registro fino al blocco del fork. Non li rivendichi, non li registri e non colleghi nulla a un sito web. Se vuoi accedere al secondo asset importa la stessa frase di recupero in un software che segue la seconda catena, e lo fai su un dispositivo che non contiene nient'altro, perché quel software è scritto da persone di cui non hai motivo di fidarti.
La seconda è il tuo exchange. I bitcoin tenuti su una piattaforma sono una decisione della piattaforma, non tua. Nel 2017 alcuni degli exchange recensiti da questo sito hanno accreditato Bitcoin Cash ai saldi dei clienti, alcuni hanno attivato il trading settimane dopo e alcuni non lo hanno mai quotato, tutto mentre i depositi e i prelievi erano sospesi. Nulla di ciò è contrattuale da nessuna parte. Se una divisione ti interessa, i bitcoin devono essere fuori dalla piattaforma prima.
Il livello delle truffe è peggiore del rischio del protocollo. I finti airdrop dei fork sono uno dei modelli più vecchi della nostra guida alle truffe: un sito che annuncia una nuova catena, un modulo di richiesta e un campo per le parole della tua frase di recupero. Nessuna divisione le ha mai richieste. Qualunque cosa chieda una frase di recupero per liberare i bitcoin del fork sta rubando i bitcoin originali.
Bitcoin Cash, l'hard fork che è davvero avvenuto
Bitcoin Cash è il caso di studio limpido perché tutto ciò che ha fatto è stato pubblicato in anticipo e tutto ciò che gli serviva era prima andato storto altrove.
La specifica fissava un momento di attivazione il 1º agosto 2017 e una regola secondo cui il primo blocco successivo doveva superare un megabyte, garantendo la divisione invece di lasciarla al caso. Il blocco 478.558 è stato quel blocco. Le nuove regole hanno alzato il limite di base a otto megabyte, rifiutato SegWit e aggiunto SIGHASH_FORKID perché le due catene non potessero mai ripetere le transazioni l'una dell'altra.
La lezione duratura è ciò che è accaduto dopo. Una volta stabilito che un gruppo può andarsene con una copia del registro, Bitcoin Cash stesso è stato sottoposto a un altro hard fork da una fazione in disaccordo con la sua direzione, e le catene successive hanno continuato a dividersi da allora. Un hard fork non è un evento unico nella vita di un progetto: è un precedente che il prossimo disaccordo può invocare.
Hard fork vs altcoin
Un hard fork eredita un registro; un altcoin ne inizia con uno vuoto. Litecoin è nato come catena propria senza alcun saldo, quindi nessuno si è svegliato con dei Litecoin. Bitcoin Cash è nato con tutti i saldi in bitcoin al blocco 478.558 già accreditati sulla sua catena, ed è per questo che ai detentori è stato improvvisamente detto che possedevano qualcosa. Dopo la divisione la distinzione smette di contare sul piano tecnico, dato che entrambi sono asset separati con regole separate e prezzi separati, ma conta del tutto per come i bitcoin sono stati distribuiti.
Hard fork vs soft fork
La differenza è la direzione, e la direzione decide chi è costretto ad agire. Un hard fork rende validi blocchi prima non validi, quindi ogni nodo deve aggiornarsi o restare fuori dalla catena su cui si trova il resto dell'economia. Un soft fork rende non validi blocchi prima validi, quindi un nodo non aggiornato continua a seguire la stessa catena senza accorgersi che qualcosa è cambiato. Uno esige un'azione universale entro una scadenza; l'altro non chiede nulla a chi non fa mining.