Glossario / Protocollo e aggiornamenti
Fork
- Che cos'è un fork?
- Un fork è qualsiasi punto in cui la storia di bitcoin o il suo regolamento si dividono in due, ed è per questo che la parola copre tre eventi diversi che si risolvono su scale temporali completamente differenti.
La maggior parte dei fork sono incidenti che durano un solo blocco: due miner pubblicano alla stessa altezza e la rete sceglie un vincitore nel giro di secondi. Alcuni sono cambiamenti deliberati delle regole, e una di quelle discussioni si è conclusa con una seconda catena che si è separata al blocco 478.558 il 1º agosto 2017. Quando un titolo dice che bitcoin si è biforcato, la prima domanda utile è quale di queste cose sia realmente accaduta.
Come funziona
Un fork è un ramo, e bitcoin genera rami in tre modi tra loro non correlati che non hanno in comune altro che il nome.
Il primo è un fork della catena, ed è semplice sfortuna. Trovare un blocco richiede all'incirca dieci minuti e uno o due secondi per raggiungere l'altro capo della rete, così ogni tanto due miner risolvono la stessa altezza e ciascuna metà della rete vede per prima un blocco diverso. Entrambi sono validi. Entrambi si basano sullo stesso blocco padre. La parità si rompe quando il blocco successivo arriva su uno dei due rami, e il perdente diventa un blocco obsoleto la cui ricompensa svanisce. Nessuno vota, nessuno negozia, e l'episodio di solito è finito prima che tu possa ricaricare un explorer.
Il secondo è un fork delle regole, ed è ciò che si intende quando si discute di fork. Qui la divisione non è nella catena ma nella definizione di blocco valido data dal software. Se si stringono le regole, i nodi vecchi accettano comunque tutto ciò che produce il software nuovo: è un soft fork, e bitcoin lo ha fatto più volte, da pay to script hash l'1º aprile 2012 a Taproot al blocco 709.632 il 14 novembre 2021. Se si allentano le regole, i nodi vecchi iniziano a rifiutare blocchi che il software nuovo considera validi: è un hard fork, e si evita una divisione permanente solo se praticamente tutti aggiornano.
Il terzo è un fork del codice, che non tocca affatto il consenso. Chiunque può copiare il repository di Bitcoin Core, modificarlo e pubblicare il risultato. Bitcoin Knots è esattamente questo: un progetto separato, mantenuto da un altro sviluppatore, che di proposito conserva le stesse regole di consenso, così i suoi blocchi e quelli di Core sono intercambiabili. Migliaia di repository su GitHub sono fork di bitcoin in questo senso e quasi nessuno di essi produce mai un blocco.
Solo il tipo intermedio può creare una nuova risorsa, e solo quando il disaccordo è così profondo che i miner continuano a costruire entrambi i rami a tempo indeterminato.
Perché questo conta quando compri bitcoin
I fork arrivano a un compratore comune come eventi operativi su un exchange, non come eventi del protocollo.
In occasione di qualsiasi cambiamento contestato delle regole, le piattaforme bloccano le parti della loro attività che presuppongono una catena stabile. I depositi e i prelievi si fermano, a volte per giorni, mentre gli ingegneri aspettano che la situazione si stabilizzi e decidono se ora esista una seconda risorsa. Quel blocco è la parte che ti costa, perché tende ad arrivare proprio quando il prezzo si sta muovendo. Se tieni bitcoin su uno degli exchange che questo sito recensisce e un cambiamento contestato ha una data di attivazione nota, preleva verso un wallet di cui hai il controllo ben prima di quella data, non il giorno stesso.
La seconda cosa da sapere è che un fork delle regole non ti chiede nulla. Ogni soft fork che bitcoin ha attivato ha lasciato funzionanti i wallet vecchi. Una frase di recupero di dodici parole annotata nel 2016 ripristina ancora, deriva ancora gli stessi indirizzi e permette ancora di spendere. Nessuno ha mai dovuto spostare i propri bitcoin per conservarli.
La terza è che "criptovalute gratis dal fork" è uno schema di truffa dal 2017 e non ha mai smesso di esserlo. Nessuna vera divisione della catena richiede la tua frase di recupero, la tua chiave privata o un piccolo deposito per sbloccare qualcosa. La nostra guida alle truffe comuni illustra le parole esatte che usano questi messaggi.
Tre cose che un titolo può intendere con "fork"
Prendi tre eventi che sono stati tutti riportati come fork e nota quanto poco hanno in comune.
L'11 marzo 2013, un limite del database fece sì che i nodi della versione 0.7 rifiutassero un blocco che i nodi della versione 0.8 accettavano, e la catena andò avanti come due rami per circa sei ore, finché gli sviluppatori chiesero ai pool di tornare alla versione precedente. Fu un hard fork accidentale causato da un bug, e si concluse con tutti di nuovo su una sola catena e una sola risorsa.
Il 1º agosto 2017, un gruppo che voleva blocchi più grandi iniziò ad applicare un insieme di regole incompatibile al blocco 478.558 e continuò a minarlo. Fu un hard fork deliberato. Produsse Bitcoin Cash, una risorsa separata con un proprio prezzo, propri miner e una propria storia da quel blocco in poi, che condivide ogni saldo registrato prima di esso.
Che Bitcoin Knots abbia forkato il codice di Bitcoin Core, invece, non ha diviso proprio nulla. Sono le stesse regole di consenso in una confezione diversa, ed è per questo che un nodo Knots e un nodo Core stanno sulla stessa catena e concordano su ogni blocco.
Fork vs blocco obsoleto
Un fork è il ramo; un blocco obsoleto è ciò che resta del ramo che ha perso. Ogni fork accidentale della catena lascia esattamente un blocco obsoleto per ogni ramo perdente, e quel blocco non è invalido, è solo sfortunato: rispettava ogni regola di consenso ed è semplicemente arrivato dal lato sbagliato di una gara. Gli explorer che lo mostrano lo etichettano come obsoleto o, con meno precisione, come orfano, e la ricompensa al suo interno non è mai stata spendibile.
Fork vs riorganizzazione della catena
Un fork è il momento in cui esistono due rami; una riorganizzazione è ciò che un nodo fa al riguardo. Il tuo nodo potrebbe non osservare mai il fork, se gli è capitato di ricevere solo il blocco vincente. Se ha ricevuto prima il blocco perdente, si riorganizza: scollega quel blocco, collega il ramo con più lavoro e prosegue. Uno è una proprietà della rete, l'altro è un evento nel tuo registro di debug.