Che cos'è un fork in una blockchain?
Un fork (un ramo, un'uscita) in una blockchain è una modifica delle regole secondo cui la rete riconosce un blocco come genuino (valido). Poiché una blockchain è mantenuta da molti nodi indipendenti, qualsiasi aggiornamento del protocollo significa che i partecipanti devono raggiungere un accordo sulle nuove regole. In base alla loro compatibilità con le versioni precedenti, i fork sono divisi in due tipi principali.
Soft fork e hard fork
- Soft fork — una modifica soft retrocompatibile. Le nuove regole sono più severe, ma i nodi che non hanno aggiornato il loro software possono ancora interagire con quelli aggiornati. La rete rimane unificata.
- Hard fork — una modifica dura in cui le nuove regole sono incompatibili con le vecchie. I nodi che non hanno adottato l'aggiornamento smettono di considerare validi i blocchi dei nuovi nodi, e la rete può dividersi in due catene indipendenti.
Nel caso di un hard fork, uno dei rami risultanti può eventualmente scomparire, oppure può sopravvivere — molto dipende da quale quota di potenza di calcolo (hash rate) e supporto della comunità ha ciascuna catena. Il ramo con maggiore potenza ha una migliore possibilità di esistenza sostenuta. I fork sono un meccanismo naturale per l'evoluzione dei protocolli blockchain, attraverso il quale vengono introdotti miglioramenti, correzioni e cambiamenti fondamentali alle regole di consenso.