Glossario / Protocollo e aggiornamenti
Soft fork attivato dai miner
Noto anche come MASF.
- Che cos'è un soft fork attivato dai miner?
- Un soft fork attivato dai miner si attiva quando una supermaggioranza dei blocchi minati lo segnala, usando il campo della versione del blocco come un voto contato automaticamente da ogni nodo.
Specificato nel BIP-9.
I miner non stanno decidendo se una regola è buona. Dichiarano quando un numero sufficiente di loro è pronto ad applicarla, così che il restringimento non renda orfano il lavoro onesto. Con il BIP-9 la soglia è 1.916 dei 2.016 blocchi di un periodo di difficoltà, cioè il 95 per cento, e il conteggio riparte da zero a ogni periodo finché non viene raggiunta.
Come funziona
La segnalazione riutilizza un campo già presente in ogni intestazione di blocco, quindi non servono un nuovo tipo di messaggio né un nuovo registro.
Il metodo originale, introdotto con il BIP-34 nel 2013, si limitava ad alzare il numero di versione del blocco e contava all'indietro: una regola diventava obbligatoria quando 950 degli ultimi 1.000 blocchi portavano la versione superiore, dopo una fase di 750 su 1.000 durante la quale vincolava solo i blocchi che la dichiaravano. Funzionava, ma le versioni dovevano essere implementate in rigoroso ordine, quindi due proposte non potevano mai essere in corso contemporaneamente.
Il BIP-9 ha sostituito il contatore con 29 bit indipendenti. Ogni proposta rivendica un bit e un orario di avvio, i miner impostano quel bit nei blocchi che minano e ogni nodo conta il bit su un intero periodo di difficoltà di 2.016 blocchi. Il raggiungimento della soglia porta il deployment allo stato di bloccato, e l'applicazione inizia un periodo completo dopo, dando a chi non ha aggiornato circa due settimane in più. Un deployment che non raggiunge mai la soglia scade al suo timeout e il bit torna libero per il riutilizzo.
Due varianti contano storicamente. Il BIP-91 ha compresso l'intero processo all'80 per cento di 336 blocchi perché la segnalazione di SegWit potesse diventare obbligatoria rapidamente; si è bloccato al blocco 476.768 il 20 luglio 2017 e ha iniziato l'applicazione al blocco 477.120 il 23 luglio 2017. Speedy Trial, distribuito in Bitcoin Core 0.21.1 il 1º maggio 2021, ha mantenuto il conteggio del BIP-9 ma ha abbassato la soglia a 1.815 blocchi su 2.016, ha limitato il tentativo a circa tre mesi e ha separato il lock-in dall'attivazione fissando in anticipo un'altezza minima di attivazione.
Dove lo vedi
Gli esploratori di blocchi mostrano il campo della versione, di solito come valore esadecimale di otto caratteri, e durante un deployment attivo indicano quale bit è impostato. Una versione che inizia con 0x20 significa che il blocco usa i bit di versione; i bit bassi sono i singoli segnali.
La segnalazione lascia anche una traccia più semplice nella transazione coinbase, dove i pool scrivono testo libero. La stringa "/P2SH/" indicava il supporto a pay to script hash nel 2012, e "NYA" indicava il New York Agreement nel 2017. Quel campo è una decorazione e non protocollo, ma spesso è il primo punto in cui una disputa diventa visibile.
Per chi detiene bitcoin, la cosa da ricavare da una percentuale di segnalazione è ciò che non è. Non è un referendum, non è ponderata per proprietà, e un pool che segnala un bit parla per hashrate che altre persone gli hanno affittato. Una regola può raggiungere il 95 per cento ed essere comunque impopolare, e una regola può essere applicata dagli utenti senza alcun supporto dei miner.
Soft fork attivato dai miner vs soft fork attivato dagli utenti
Le due rispondono a domande diverse. Un soft fork attivato dai miner chiede quando deve iniziare l'applicazione e lascia che l'hashrate fissi la data. Un soft fork attivato dagli utenti stabilisce prima la data e lascia ai miner il compito di adeguarsi o di vedersi rifiutare i blocchi. Nel 2017 entrambe erano sul tavolo contemporaneamente, e la sequenza è il punto: la via dei miner era ferma da mesi, era stata programmata una scadenza applicata dagli utenti, e la via dei miner si è completata entro poche settimane dal momento in cui quella scadenza è diventata credibile.