Un MASF è un meccanismo mediante il quale i minatori blockchain possono introdurre nuovi aggiornamenti senza influire sul suo funzionamento.
Un Forcella morbida attiva Miner (MASF) o forcella morbida attivata da minatore è un meccanismo, che come un file UASF, genera un cambiamento o una transizione della rete verso un nuovo insieme di regole di consenso. La differenza di MASF con UASF, è che MASF viene attivato dai minatori usando il loro potere hash invece di essere attivato da nodi completo.
Per l'attivazione di questo meccanismo, i minatori sono tenuti a esporre o rivelare la loro disponibilità ad accettare cambiamenti o modifiche al protocollo. E per raggiungere questo obiettivo, i minatori usano il loro potere di hashing. Questo grazie ai minatori che hanno apportato una modifica ai numeri di bit di versione dei blocchi che estraggono. Quindi, nel momento in cui viene raggiunta una certa quantità di blocchi estratti con la modifica dei numeri di bit di versione, i nodi completi possono applicare le nuove regole di consenso.
Un MASF è una soft fork che si basa sulla segnalazione dei minatori attraverso il potere di hashing per attivarlo.
Implementazione di un MASF in Bitcoin
La Proposta di miglioramento Bitcoin (BIP) BIP 34, per l'aggiornamento e il miglioramento delle transazioni e dei blocchi versionati della rete, prevedeva un MASF nel protocollo. Dove i minatori dovrebbero indicare la loro posizione per accettare o meno le modifiche proposte nel consenso. Per questo, la modifica che i minatori dovevano fare era mettere un numero maggiore di 1 nel numero di versione del blocco; oltre a richiedere che il numero dell'altezza del blocco si rifletta nell'ingresso del transazione coinbase di ciascuno dei blocchi estratti.
Quindi, per attivare questo meccanismo, i minatori dovevano puntare al numero di versione del blocco. Essere "1" per le vecchie regole e il passaggio da "1" a "2" per indicare l'accettazione e il passaggio alle nuove regole.
Pertanto, quando si implementa questo meccanismo, i minatori potrebbero scegliere di accettare o meno le modifiche; ovvero, scegli di diramarlo o rifiutarlo. Quindi, negli ultimi 1000 blocchi generati dai miners in rete, il 75% (che rappresentano un totale di 750 blocchi) deve contenere la segnalazione dalla versione “1” alla “2” per indicare che le modifiche verrebbero applicate. Inoltre, quegli stessi 750 blocchi dovevano contenere l'altezza del blocco indicata nell'input della transazione coinbase di ogni blocco.
A questo punto, i miner che generano blocchi con versione “1”, emettono blocchi accettati dalla rete. Questo poiché non tutti i parametri di BIP 34 erano soddisfatti, quindi i blocchi della versione 1 erano ancora validi. Tuttavia, dopo aver raggiunto il 95% (che rappresenta un totale di 950 blocchi) degli ultimi 1000 blocchi generati, i nuovi blocchi prodotti dai miner contrassegnati con la versione "1" vengono considerati non validi e vengono rifiutati. Poiché da qui in poi, gli unici blocchi validi erano quelli contrassegnati con la versione "2" e che avevano l'altezza del blocco nell'ingresso della transazione coinbase.
Questa transizione in due parti ha concesso ai minatori il tempo di aggiornare i propri sistemi per accettare le modifiche proposte, su base continua e sistematica. Senza richiedere a tutti i minatori di implementare la modifica istantaneamente e contemporaneamente.
Altre implementazioni di MASF
Dopo la corretta implementazione del BIP 34, questo meccanismo è stato utilizzato allo stesso modo per l'attivazione del BIP 66 (restrizione delle firme DER rigorose) e BIP 65 (OP_CHECHECKLOCKTIMEVERIFY). Dove è stata implementata la stessa struttura di segnalazione, solo per BIP 66, i minatori dovevano segnalare la loro accettazione del fork cambiando la versione "2" alla versione "3" negli ultimi 1000 blocchi generati. Tutti i blocchi della versione "2" rimangono non validi quando il 95% dei blocchi estratti accetterà la versione "3".
Allo stesso modo, per l'attivazione di BIP 65, i minatori hanno dovuto effettuare una transizione dalla versione “3” alla versione “4”, allo stesso modo, negli ultimi 1000 blocchi generati in rete. Invalidare i blocchi della versione "3" quando il 95% di quei 1000 blocchi estratti aveva apportato la modifica alla versione "4".
Ma questo meccanismo per aumentare le versioni 1 per 1 con ogni attivazione è diventato chiaramente limitato. Principalmente perché era possibile aumentare solo le versioni 1 alla volta, e perché si limitava anche a dover attivare il precedente soft fork per poter attivare quello successivo.
Pertanto, in seguito, le nuove modifiche proposte sono state implementate nel file BIP 9, dove è cambiato il meccanismo di segnalazione dei minatori. A questo punto il numero di versione del blocco non segnava la segnalazione. Invece sarebbe basato sull'interpretazione del campo della versione come un vettore di bit. Cioè, l'attivazione del soft fork avverrebbe tramite bit differenti nel campo version. In questo modo, la procedura per aumentare il numero di versione è stata lasciata indietro.
Ciò ha permesso un grande vantaggio rispetto alla versione precedente, poiché ha permesso di aggiungere e attivare un numero maggiore di file soft fork contemporaneamente, invece che solo uno alla volta.
Quanto sai, Cryptonuta?
Le forcelle morbide del tipo MASF possono portare a una forcella dura della catena?Certo!
L'errata applicazione di un soft fork di tipo MASF può effettivamente causare la divisione in due della catena di blocchi (hard fork), dove le parti della catena continuano a lavorare con regole di consenso differenti. Questo perché i miner e i nodi potrebbero utilizzare diverse versioni del software e partecipare a diverse regole di consenso all'interno della rete, portando a questo strano evento.
Implicazioni dell'implementazione del MASF
Le forcelle morbide attivate dai minatori (MASF) Consentono di attivare le nuove regole di consenso nel protocollo una volta che la maggior parte dei nodi è stata aggiornata e accettata.
Tuttavia, poiché i minatori usano solo il loro potere hash per eseguire questo processo, questo può essere scomodo. Questo perché implica che la potenza di calcolo o il tasso di hash indica che il fork è in esecuzione. Tuttavia, funzionano effettivamente sulle versioni precedenti senza il soft fork. Qualcosa del genere è accaduto con il BIP 66. A quel tempo, molti minatori indicavano le regole ma non le applicavano. Questo ha portato i minatori a creare una nuova catena (hard fork). Anche se questo è stato rifiutato dai minatori che hanno applicato il BIP 66. Ciò significa che quei minatori hanno perso tutti i premi e la potenza di calcolo investita.