Soft fork

Difficoltà: intermedio

Argomento: tecnologia


DEFINIZIONE

Il soft fork è una modifica al protocollo che consente un aggiornamento che continua a funzionare anche se alcuni nodi non aggiornano i loro software.
Poiché i vecchi nodi riconosceranno i nuovi blocchi come validi, un soft fork è retrocompatibile.
Questo tipo di fork può richiedere che sia solo la maggioranza dei miner che si aggiorni per far rispettare le nuove regole, al contrario di un hard fork che richiede che tutti i nodi si aggiornino e si accordino sulla nuova versione.
Generalmente i soft fork vengono effettuati dai miner che si aggiornano per attivare le nuove regole, in questo caso può essere definito MASF (miner-activated softfork, softfork attivato dai miner) termine poco utilizzato.
Quando l'aggiornamento per essere attivato richiede che tutti i nodi si coordinino per far rispettare le nuove regole, senza il supporto dei minatori, si chiama UASF o softfork attivato dall'utente.

Il termine softfork inizia ad essere usato nel 2012, in relazione all'introduzione del tipo di firma P2SH: la sua attivazione venne effettuata con una soglia del 55% dei miner, ma dopo che è stato attivato l'aggiornamento, il 45% dei miner che non aveva effettuato l'upgrade produsse blocchi non validi per diversi mesi dopo l'attivazione. Questo venne considerato un problema e quindi venne scelta una nuova soglia del 95%, soglia che viene attualmente considerata come necessaria e formalizzata dal BIP 9

Anche la modifica effettuata da Satoshi Nakamoto nel luglio 2010 che limitava la dimensione del blocco a 1 MB, che entrò in vigore a settembre 2010, viene considerata un softfork perché all'epoca non c'erano ancora così tante transazioni da riempire un blocco di 1 MB: impostando tale limite venivano ristrette le regole, e i nodi non avevano necessità di aggiornare il software. Un ipotetico incremento del limite avrebbe invece richiesto un aggiornamento del software e sarebbe quindi stato un hard fork.

  • Vedi anche
  • BIP 8 (SFA) (Soft Fork Activation)
  • BIP 9 (SFA) (Soft Fork Activation)
  • Fork
  • Hard Fork
  • MASF (Miner-activated softfork) Softfork attivato dai miner
  • UASF (User-Activated Soft Fork) Soft Fork attivato dall'utente
  • URSF (User Rejected Soft Forks)

aggiornato il 2021-10-21