Le blockchain necessitano di miglioramenti e aggiornamenti per migliorare le loro caratteristiche, il tutto senza interrompere il funzionamento della rete o causare problemi di compatibilità, per ottenere questo ci sono i Soft Fork, un piccolo aggiornamento software che permette agli utenti di continuare a operare anche se non vengono aggiornati .
Lalla blockchain come qualsiasi tipo di software richiede aggiornamenti per continuare a funzionare. Con gli aggiornamenti, è possibile apportare nuovi miglioramenti alla rete. Questi aggiornamenti, se non alterano le regole che interrompono il funzionamento della versione precedente del software, vengono chiamati Forchetta morbida.
Un soft fork non è altro che un aggiornamento del codice del programma che gestisce un file blockchain per aggiungere una modificaDi solito una nuova funzionalità o una correzione di bug. Ma per essere un soft fork deve rimanere compatibile con la vecchia blockchain.
Consente a tutti i partecipanti di aver implementato il nuovo codice o non possono operare sulla rete. Consentendo loro di operare con il nuovo blocchi ma senza avere i nuovi miglioramenti implementati dall'aggiornamento. Se uno dei partecipanti alla rete non si aggiornava alla nuova versione del programma, poteva continuare a verificare i blocchi senza alcun problema.
Ad esempio, l'aggiornamento viene elaborato in Bitcoin vengono resi noti per la prima volta nel BIP (proposte di miglioramento di Bitcoin - proposte di miglioramento di Bitcoin). Una volta approvata, l'ulteriore implementazione spetta agli sviluppatori dei client Bitcoin.
Tipi di forcella morbida
Esistono due tipi di Soft Fork che sono:
- Quando la maggior parte dei minatori esegue l'aggiornamento per applicare le nuove regole. Questo è chiamato Miner Activated Soft Fork (MASF).
- Quando nodi Le entità sono coordinate per far rispettare le nuove regole, senza il supporto dei minatori. Questo è chiamato Soft fork attivato dall'utente (UASF).
Come funziona una forcella morbida?
I soft fork sono un aggiornamento di come vengono gestiti determinati parametri della blockchain. Tutto questo senza alterare le regole di base del suo funzionamento. In questo modo, alcune parti del protocollo vengono modificate in modo tale che i nodi aggiornati rifiutino transazioni precedentemente valide. Ma i nodi con il vecchio software convalidano le transazioni di vecchio e nuovo formato. Ciò rende più facile per i nodi aggiornati continuare il loro lavoro sulla rete.
Tuttavia, questo comportamento rende più complessa l'implementazione di soft fork. Gli sviluppatori devono occuparsi della compatibilità con il software precedente. In caso contrario, corrono il rischio di interrompere erroneamente l'intera rete.
Prendiamo ad esempio l'aggiornamento Bitcoin di Testimone segregato o SegWit. Questa è stata ufficialmente attivata nel blocco 481822 con un'accettazione da parte della rete del 99.95%. Si stima che a febbraio 2018 oltre il 30% delle transazioni sia basato su SegWit.
SegWit era una proposta aziendale Blockstream ed è stato ampiamente implementato. Non solo in Bitcoin, ma è stato implementato anche in Litecoin e Vertcoin, tra gli altri. Uno dei motivi per la creazione di questo aggiornamento è la risoluzione minima dei problemi di scalabilità attualmente presentato da Bitcoin.
Sebbene non tutti i nodi Bitcoin supportino ancora SegWit, la rete continua a funzionare perfettamente. Questo perché questo soft fork è compatibile con le versioni precedenti del software full node.
In sintesi, i soft fork sono difficili da programmare e non richiedono il consenso per essere implementati. Questo molte volte finisce per frammentare il livello di aggiornamento del software nei nodi della rete, il che si traduce in uno scenario indesiderato.