Fork
Fork
Difficoltà: base
Argomento: tecnologia
DEFINIZIONE
Il termine fork letteralmente traducibile con biforcazione, indica un aggiornamento o una modifica che può essere usato sia in contesti relativi alle criptovalute e alle loro blockchain, o in altri contesti quali il software.
In relazione alla blockchain, un fork può essere definito in diversi modi, come:
- cun evento in cui una blockchain si divide in due percorsi diversi,
- una modifica al protocollo,
- o una situazione che si verifica quando due o più blocchi hanno la stessa altezza di blocco.
E può essere classificato come:
- Hard fork: un cambiamento al sistema che non è retrocompatibile. Tutti i nodi ed eventualmente i wallet devono aggiornarsi alle nuove regole per continuare a funzionare correttamente;
- Soft fork: un cambiamento al sistema che è retrocompatibile finché la maggioranza dei miner lo applica. I full node che non si aggiornano potrebbero non essere in grado di verificare i blocchi generati dopo il fork, il che potrebbe portare a una riduzione della sicurezza.
- Chain fork o Chain split: un evento in cui due o più blocchi hanno lo stesso numero di blocco, o altezza del blocco, sulla blockchain. Questo può accadere quando due miner minano quasi in contemporanea lo stesso blocco, è un evento previsto e tipicamente alcune volte alla settimana per caso e viene risolto con i nodi che si allineano alla catena più lunga, ma in casi particolari potrebbe essere causato da problemi più gravi.
I fork nella blockchain sono causati dal fatto che i diversi partecipanti devono utilizzare regole comuni per mantenere la cronologia della blockchain.
Quando i partecipanti non sono d'accordo sulle regole, possono emergere catene alternative.
Mentre la maggior parte dei fork è temporanea, alcuni sono permanenti.
I fork temporanei sono causati dalla difficoltà di raggiungere un rapido consenso in un sistema distribuito, ad esempio quando più miner generano un nuovo blocco a distanza di tempo molto ravvicinata.
I fork permanenti, che possono essere modifiche al protocollo, posso essere effettuati per aggiungere nuove funzionalità a una blockchain, possono anche essere usati per invertire gli effetti dell'hacking come nel caso di Ethereum ed Ethereum Classic, o per evitare bug catastrofici su una blockchain come nel caso del fork bitcoin del 6 agosto 2010.
Il termine fork nasce e viene usato anche per contesti diversi dalla blockchain: * Software fork: creare un nuovo progetto partendo dal codice di un progetto open source esistente. * fork di un repository su git: è un modo per contribuire a un progetto senza apportare modifiche al repository originale. Se si vuole contribuire a un progetto ma non si può o si vuole apportare modifiche al repository originale, è possibile creare un fork e quindi creare una pull request per le modifiche. Se la pull request viene accettata, le modifiche verranno incorporate nel repository originale.
- Link utili:
- Fork Monitor di Bitmex
- Vedi anche
- Block height Altezza del blocco
- Blockchain Catena di blocchi
- chain split
- Hard Fork
- MASF (Miner-activated softfork) Softfork attivato dai miner
- Miner
- Soft fork
- UASF (User-Activated Soft Fork) Soft Fork attivato dall'utente
- URSF (User Rejected Soft Forks)
aggiornato il 2022-09-15