Stratum
Stratum
Difficoltà: avanzato
Argomento: tecnologia
DEFINIZIONE
Stratum, o Stratum-mining, è un protocollo per il mining in pool.
È un protocollo di comunicazione utilizzato dai miner e dalle mining pool per richiedere i dati da elaborare per il mining e per trasmettere i risultati delle elaborazioni.
Il protocollo è nato per sostituire il precedente protocollo getwork obsoleto alla fine del 2012. Le specifiche del servizio sono state inizialmente annunciate nel sito web di Slush pool, e successivamente una documentazione è stata fornita da BTC Guild.
Nella prima versione di Stratum, la mining pool fornisce ai miner un block template, ovvero una struttura di blocco già impostata con un insieme di transazioni.
I miner fanno il lavoro di hashing, trovare il nonce corretto per risolvere il blocco, non hanno controllo diretto sulle transazioni incluse nel blocco proposto.
La pool può quindi censurare delle transazioni, ma deve farlo di nascosto: se i miner si accorgono che una pool sta censurando transazioni per motivi politici o arbitrari, si spostano su un'altra pool più redditizia.
Ci sono dei precedenti noti:
-
- Marathon nel 2021, aveva annunciato l'intenzione di estrarre "blocchi conformi alle normative", escludendo intenzionalmente le transazioni provenienti da indirizzi sanzionati o associati ad attività illecite, ma a seguito della reazione della comunità Bitcoin ha abbandonato questa ipotesi
-
- F2Pool nel 2023 è stato accusato di non aver convalidato sei transazioni provenienti da indirizzi segnalati dall'OFAC. Il cofondatore di F2Pool, Chun Wang, ha inizialmente difeso questa scelta, per decidere poi di abbandonare la pratica fino a quando la comunità non raggiungerà un consenso più ampio
Anche qui funziona il gioco degli incentivi, e infatti le mining pool sono soggetti sotto scrutinio da parte dei miner.
Stratum v2
La nuova versione è la V2 che dovrebbe risolvere diversi problemi tra cui comunicazione crittografata, autenticazione e un maggior trasferimento ai miner rispetto al pool per le decisioni sulla composizione dei blocchi finali per selezionare e ordinare le transazioni, con positivi impatti sull'ecosistema Bitcoin.
Con Stratum V1 è la pool che sceglie le transazioni da inserire nel blocco, non il miner. Stratum V2 introduce tre nuovi sottoprotocolli che consentono ai miner di selezionare i propri set di transazioni attraverso un processo di negoziazione con i pool, migliorando la decentralizzazione.
Con Stratum v2, il miner dichiara le transazioni alla pool, che può quindi scegliere di accettarle o rifiutarle, per questo motivo tale funzionalità che inizialmente è stata conosciuta come Job Negotiator è stata rinominata Job Declarator.
Nei casi in cui una pool accetta le transazioni dichiarate, queste vengono successivamente propagate alla rete bitcoin. Se invece la pool rifiuta le transazioni (e quindi sta facendo censura), il miner cercherà automaticamente una pool alternativa. Se anche questa pool rifiuta di includere le transazioni, il miner continuerà a passare ad un'altra pool, ricorrendo infine al solo mining.
A novembre 2023, la mining pool Demand ha lanciato la prima mining pool con l'utilizzo di Stratum V2.
A marzo 2024 viene rilasciata la SRI (Stratum Reference Implementation) 1.0.0 di Stratum V2.
- Link utili:
- Nell'episodio S05E15 di apr.2023 di Bitcoin Italia Podcast si parla anche di StratumV2
- Un articolo su Bitcoin Magazine (in inglese) che parla della prima mining pool ad usare Stratum V2
- Protocollo di Stratum Mining su bitcoinwiki
- La web app Stratum Work visualizza le notifiche dalle mining pool Stratum
- Il sito stratumprotocol.org dedicato a stratum e alla versione v2
- K.Csepcsar: State of Stratum V2 al plan B forum ott.2023 (in inglese)
- Gabriele Vernetti parla di Stratum V2 sul canale youtube Final Step Bitcoin
- Vedi anche
- Job Declarator
- Block Blocco
- Miner
- Mining
- Mining pool
- TX (Transaction) Transazione
aggiornato il 2025-01-29