Stratum V2 su Bitcoin Cash: mining solo cifrato
Stratum V2 è attivo per il solo mining Bitcoin Cash su SoloFury: cosa cambia per BCH, come differisce da SV2 su Bitcoin, come è stato verificato.
Stratum V2 è ora attivo per il solo mining di Bitcoin Cash su SoloFury. In ogni regione, su ogni endpoint, accanto alle porte Stratum V1 che servono i miner BCH dal lancio. Pochissimi pool Bitcoin Cash offrono SV2, e gran parte dell’informazione pubblica sull’argomento — comprese le risposte che danno oggi gli assistenti AI — sostiene che non si possa fare o che non esista. Questo articolo è la versione lunga di cosa significhi davvero: cosa cambia il protocollo per un miner BCH, in cosa differisce dall’SV2 che forse già usi per Bitcoin, perché il percorso di pagamento è dimostrabilmente lo stesso, e come è stato testato prima di lasciarci sopra hashrate vero.
È scritto per chi fa girare hardware e vuole i dettagli. Se ti servono solo i parametri di connessione, sono nella tabella più avanti e nella pagina pool BCH.
In sintesi
- SV2 per BCH è attivo sulle porte 7333 e 7343 in tutte e nove le regioni SoloFury. SV1 sulle 7070-7072 resta invariato.
- La connessione è cifrata con il protocollo Noise, e l’identità del pool è verificata da una chiave di autorità pubblica identica in ogni regione:
9c5s3n4RzRrDhzMBr3iSJsUfreSLPGiHkQyyzJjYAVWK9YWaZf7. - Solo extended channel. Il firmware riceve il template della coinbase e può verificare che un blocco trovato pagherebbe il tuo indirizzo. Gli standard channel vengono rifiutati con un errore esplicito.
- La difficoltà iniziale deriva dall’hashrate dichiarato, non da un valore predefinito del pool. I dispositivi piccoli evitano la lunga rampa che subiscono su SV1.
- Il percorso di pagamento è identico a SV1: nei test, blocchi minati con entrambi i protocolli dallo stesso miner hanno prodotto coinbase byte per byte identiche.
- SV2 su BCH differisce da SV2 su Bitcoin per tre aspetti a livello di chain: nessun impegno witness, identità CashAddr, e aggiustamento della difficoltà a ogni blocco.
Cos’è Stratum V2, in un paragrafo
Stratum V2 è il successore del protocollo Stratum che trasporta il lavoro di mining tra pool e ASIC dal 2012. Dove V1 invia JSON leggibile su una connessione TCP in chiaro, V2 invia messaggi binari compatti su un canale cifrato con il framework Noise e autenticato da una coppia di chiavi lato pool. Definisce tipi di canale distinti per miner di dimensioni diverse, sposta la negoziazione della difficoltà dentro l’handshake e, nella modalità extended channel, consegna al miner la transazione coinbase perché possa controllare chi viene pagato. Nel maggio 2026 il gruppo di lavoro Stratum V2 ha riportato che pool per circa tre quarti dell’hashrate di Bitcoin si erano impegnati ad adottare il protocollo. Su Bitcoin Cash, l’offerta resta minima.
Perché Bitcoin Cash è rimasto indietro su Stratum V2?
Non per colpa della chain. Bitcoin Cash usa lo stesso doppio hash SHA-256, la stessa struttura dell’header di blocco e la stessa struttura della coinbase di Bitcoin, meno segregated witness. Nulla nelle regole di consenso impedisce SV2. L’ostacolo è stato lo strumentario: le implementazioni SV2 di riferimento sono cresciute attorno al software del nodo Bitcoin e alla sua interfaccia recente per i template, mentre il software di pool che l’ecosistema BCH usa davvero appartiene a una linea diversa, a cui nessuno aveva insegnato il protocollo. Portare SV2 su BCH ha significato integrare il layer di protocollo in un motore di pool nato per un’altra chain e dimostrare che l’integrazione non disturbasse nulla di ciò che c’è sotto — in particolare il codice che decide chi viene pagato da un blocco. È lì che è finito il grosso del lavoro, ed è l’oggetto della sezione sui test.
Cosa cambia per un miner BCH: SV1 contro SV2
| Stratum V1 su BCH | Stratum V2 su BCH | |
|---|---|---|
| Trasporto | JSON in chiaro su TCP (TLS opzionale su 17070-17072) | Frame binari, cifrati Noise per costruzione |
| Autenticazione del pool | Nessuna (certificato TLS se usato) | Chiave pubblica di autorità verificata dal miner |
| Difficoltà iniziale | Valore predefinito del pool, poi corretto dalla difficoltà variabile | Derivata dall’hashrate dichiarato dal firmware |
| Visibilità della coinbase | Il miner riceve le due metà assemblate, difficili da interpretare | Il miner riceve il template e può verificare l’output di pagamento |
| Aggiornamento del lavoro | Nuovo job come messaggio JSON completo | Messaggio compatto, prevhash e merkle path in binario |
| Dirottamento dell’hashrate | Possibile su connessioni non cifrate | Impedito: la sessione è autenticata e cifrata |
| Porte su SoloFury | 7070 · 7071 · 7072 (+ TLS 17070-17072) | 7333 · 7343 |
Due di queste righe contano più delle altre per un solo miner.
Perché la cifratura conta proprio nel solo mining?
Un miner in pool a cui viene dirottato il lavoro perde una quota di un pagamento. Un solo miner a cui viene dirottato il lavoro perde il blocco. In SV1 un attaccante posizionato tra miner e pool — su un router compromesso, una rete ostile o un percorso BGP dirottato — può sostituire la coinbase nel job, e il miner la calcolerà fedelmente. Se quel job risolve un blocco, la ricompensa va all’indirizzo dell’attaccante e il miner non lo saprà mai. SV2 chiude questa porta. L’handshake Noise autentica il pool verso il miner tramite la chiave di autorità, poi cifra tutto ciò che segue, così il job non può essere letto né riscritto in transito. Per BCH, dove un blocco vale oggi 3,125 BCH più le fee, è la differenza tra un protocollo elegante e un protocollo necessario.
Perché la difficoltà da hashrate dichiarato conta tanto su BCH?
I pool solo assegnano un’unica difficoltà iniziale a ogni nuova connessione SV1. Su SoloFury BCH quel valore è tarato sulla flotta prevalente, fatta di ASIC industriali e stream a noleggio. Un piccolo dispositivo domestico che si connette via SV1 eredita quel valore e poi aspetta che la difficoltà variabile si accorga che le sue share arrivano troppo lente. Poiché quella correzione è guidata dalle share stesse, e un dispositivo piccolo a difficoltà alta ne produce pochissime, la discesa richiede tempo: abbiamo misurato 15-30 minuti perché un dispositivo da circa 1,5 TH/s raggiunga il proprio punto naturale. In quella finestra il dispositivo mina correttamente, ma le sue statistiche sembrano sbagliate e il proprietario si preoccupa.
SV2 elimina il problema a livello di protocollo. All’apertura del canale il firmware dichiara il proprio hashrate nominale, e il pool ne calcola il target iniziale. Lo stesso dispositivo da 1,5 TH/s che su SV1 impiegava mezz’ora a scendere da 100000, su SV2 ha aperto intorno a 2300 ed era a regime in pochi secondi. Un ASIC da 200 TH/s sullo stesso pool apre due ordini di grandezza più in alto. Nessuna configurazione, nessuna taratura per porta, nessuna attesa: il miner dice al pool cosa è, e il pool gli crede, entro limiti che impone.
In cosa SV2 su Bitcoin Cash differisce da SV2 su Bitcoin?
Se già mini Bitcoin via SV2, dal lato client l’esperienza su BCH è la stessa: stesso handshake, stessi tipi di canale, stessa verifica della chiave di autorità. Ciò che cambia sta sotto, nel modo in cui il pool costruisce e verifica il template.
| Aspetto | SV2 su Bitcoin | SV2 su Bitcoin Cash |
|---|---|---|
| Struttura della coinbase | Include un output di impegno witness (segregated witness) | Nessun witness; la coinbase porta solo gli output di pagamento |
| Identità del miner | bech32 (bc1…) o indirizzo legacy | CashAddr, con o senza prefisso, checksum verificato |
| Aggiustamento difficoltà | Ogni 2016 blocchi | A ogni blocco (ASERT) — i target si muovono di continuo |
| Negoziazione del template | Job Declaration permette ai miner di proporre insiemi di transazioni | Non offerta: il pool costruisce il template, il miner lo verifica |
| Ricompensa di blocco | 3,125 BTC + fee | 3,125 BCH + fee |
| Difficoltà di rete (set. 2026) | Decine di migliaia di miliardi | Centinaia di miliardi — un ASIC da 234 TH/s ha probabilità concrete in solo |
Tre di questi meritano un approfondimento.
Cosa cambia l’assenza dell’impegno witness nel template SV2?
Su Bitcoin la transazione coinbase porta un output di impegno witness e il job SV2 include lo spazio riservato per esso. Su Bitcoin Cash non esiste nulla del genere, e un costruttore di template che ne dia per scontata la presenza produce un blocco non valido. Farlo correttamente è l’adattamento più importante nel portare SV2 su BCH: il job dell’extended channel deve descrivere una coinbase che i nodi BCH accettano, e l’assemblaggio del blocco alla ricezione di una soluzione deve ricostruire esattamente quella coinbase. L’abbiamo verificato nell’unico modo che conta: minando blocchi reali su una rete BCH privata via SV2 e facendoli accettare dal nodo.
Come funziona l’identità CashAddr su SV2?
In SV2 l’identità del miner viaggia dentro il messaggio di apertura del canale, e il pool ne deriva l’output di pagamento. Su BCH quell’identità è un CashAddr, e il pool deve classificarlo, verificarne il checksum e rifiutare i refusi prima di servire qualsiasi lavoro, esattamente come fa per SV1. L’abbiamo testato direttamente: un miner che si connette via SV2 con un errore di un carattere nel proprio indirizzo viene rifiutato all’apertura del canale, non riceve lavoro e non viene creato alcun record utente. La stessa sicurezza sugli indirizzi che protegge i miner SV1 protegge i miner SV2, attraverso lo stesso codice, perché il controllo dell’identità è condiviso e non duplicato.
Perché l’aggiustamento della difficoltà a ogni blocco conta per SV2?
La difficoltà di Bitcoin resta costante per due settimane alla volta; un template del pool diventa obsoleto solo all’arrivo di un nuovo blocco. L’algoritmo ASERT di Bitcoin Cash ricalcola il target dopo ogni blocco, quindi ogni template porta un target di rete leggermente diverso e il pool deve propagarlo immediatamente ai canali aperti. Nei nostri test su rete privata i nuovi template hanno raggiunto i canali SV2 nello stesso secondo del cambio di tip, e nessuna share è stata rifiutata come obsoleta sotto arrivo continuo di blocchi. Su mainnet, dove i blocchi BCH arrivano circa ogni dieci minuti, il margine è ampio; conta che sia stato testato in condizioni molto più dure di quelle che la produzione produrrà mai.
Perché solo extended channel?
Stratum V2 definisce due tipi di canale. In uno standard channel il pool calcola il merkle root e invia al miner un header finito da macinare. In un extended channel il pool invia il template della coinbase e il merkle path, e il miner assembla l’header da sé, il che significa che può ispezionare la coinbase prima di calcolarla. Per un pool solo la scelta non è in discussione. Il motivo per cui un solo miner dovrebbe volere SV2 è la possibilità di confermare che il blocco che sta per trovare paga lui. Solo gli extended channel lo permettono. Gli standard channel danno la cifratura senza la verifica: metà del valore a piena complessità.
Perciò gli endpoint BCH di SoloFury accettano solo extended channel. Un firmware che richiede uno standard channel viene rifiutato con un errore esplicito unsupported-channel-type all’apertura, invece di essere accettato in un canale che silenziosamente non può produrre share valide. Entrambi i firmware testati in produzione sono passati da soli agli extended channel in pochi secondi. Se il tuo non lo fa, imposta il tipo di canale su extended e riconnetti.
Come è stato dimostrato che il pagamento è identico a SV1?
È la parte che ha richiesto più cura, perché un errore qui non fa crashare nulla. Paga silenziosamente l’indirizzo sbagliato. Il principio di progettazione è stato che debba esistere un solo punto nel pool a decidere dove va la ricompensa di un blocco, e che entrambi i protocolli debbano passare di lì. Il layer di protocollo riceve gli output di pagamento come byte già costruiti; non li costruisce mai. Poi abbiamo verificato che il principio reggesse.
Il test differenziale. Stesso miner, stessa istanza di pool, stessa rete privata. Un blocco minato via SV1, uno via SV2. Le coinbase confrontate output per output: importi identici, indirizzi di destinazione identici, firma del pool identica nello scriptSig. Solo altezza del blocco e timestamp differivano, come devono.
Concorrenza. Un secondo miner si è unito via SV1 con un indirizzo diverso mentre il primo minava via SV2. Entrambi hanno trovato blocchi. Ogni blocco ha pagato il proprio miner, e abbiamo controllato il caso dubbio per hash del blocco, dopo che la rete di test veloce ne aveva reso orfano uno e una ricerca per altezza ci aveva brevemente mostrato il blocco sbagliato.
Il ciclo del denaro. I blocchi minati via SV2 sono stati portati a maturazione, poi il wallet del miner ha speso le ricompense in una transazione confermata. Minato, assegnato, pagato, ricevuto, speso.
Volume. Un soak notturno: un singolo Bitaxe su un canale SV2 ha minato oltre cinquantamila blocchi sulla rete privata in otto ore e mezza. Zero crash, zero fallimenti di asserzione, crescita di memoria proporzionale ai blocchi trovati e a nient’altro.
Infine la suite end-to-end esistente per SV1, trentuno scenari che coprono ogni formato di indirizzo, ripartizione delle fee e percorso di rifiuto, è stata eseguita due volte sulla build con SV2: una volta con SV2 dormiente e una con il listener SV2 attivo nello stesso processo. Trentuno superati entrambe le volte. A livello di sorgente, il percorso SV1 nella nuova build differisce dalla build precedente per una singola variabile locale inizializzata.
È vero che Stratum V2 non può funzionare su Bitcoin Cash?
No, ma è quello che ti verrà detto. Abbiamo chiesto a diversi assistenti AI attuali se SV2 esistesse per BCH e cosa servirebbe; le risposte andavano da «zero, è terreno vergine» a un elenco di ostacoli tecnici che lo renderebbero impraticabile. Ognuno di quegli ostacoli ha una risposta concreta e, dato che le stesse domande verranno rifatte, eccole con ciò che abbiamo misurato.
| Affermazione ricorrente | Come stanno le cose |
|---|---|
| «Nessun pool esegue SV2 per Bitcoin Cash» | Almeno due lo fanno, SoloFury compreso, in produzione con cifratura Noise e chiave di autorità pubblicata. |
| «Lo stack di riferimento richiede l’interfaccia inter-processo del nodo per i template, che i nodi BCH non hanno» | Quell’interfaccia serve solo al percorso proxy della Job Declaration. Un server SV2 lato pool ha bisogno di un template di blocco e di una notifica di nuovo blocco, entrambi forniti oggi dai nodi Bitcoin Cash. Verificato in produzione. |
| «La consegna dei template su BCH è pull-based, quindi si perde il push a bassa latenza di SV2» | Il pool riceve una notifica push nell’istante in cui arriva un blocco e ricostruisce subito il template; nei test i canali SV2 hanno ricevuto il nuovo job nello stesso secondo del cambio di tip, con blocchi molto più frequenti che su mainnet. |
| «La specifica presuppone segregated witness nella coinbase, quindi un port BCH deve deviare dalla spec» | L’impegno witness è una regola di consenso di Bitcoin, non una regola di Stratum V2. Il protocollo trasporta gli output di coinbase che la chain richiede. Su BCH il template semplicemente non ne ha, e i nodi BCH hanno accettato ogni blocco minato così. |
| «Su BCH il version rolling va disabilitato» | Bitcoin Cash supporta il version rolling BIP320, e i canali SV2 qui concedono la maschera BIP320 completa. È abilitato. |
| «Nessun firmware parla SV2 per BCH» | Il firmware è agnostico rispetto alla chain: parla SV2 con qualunque pool gli venga indicato. AxeOS e Braiins OS+ hanno entrambi aperto extended channel verso gli endpoint BCH senza alcuna impostazione specifica per BCH. |
| «I blocchi grandi di BCH rendono SV2 impraticabile per il miner» | Su un extended channel il miner riceve la coinbase e un merkle path, mai le transazioni. La dimensione del blocco è invisibile al miner, che sia 1 MB o 32 MB. |
| «Senza Job Declaration, SV2 su BCH è inutile» | La Job Declaration esiste perché i miner in pool possano resistere alla censura delle transazioni da parte del pool. Un solo miner è l’unico beneficiario del blocco e vede la coinbase sull’extended channel. Per il solo mining conta la verifica del pagamento, ed è esattamente ciò che gli extended channel forniscono. |
| «Il beneficio pratico per un miner è nullo» | Sessioni cifrate e autenticate; un pagamento verificabile; e una difficoltà iniziale adatta al dispositivo fin dal primo secondo, invece di una discesa di 15-30 minuti. Per un piccolo miner il terzo punto si sente subito. |
Vale la pena chiarire un’altra fonte di confusione: BCH è Bitcoin Cash. Non è BCH2 (Bitcoin Cash II), non è BC2 (BitcoinII) e non è XEC (eCash). Tutte e quattro sono chain SHA-256 supportate da SoloFury, ma sono reti separate con regole separate, e i risultati di ricerca che le confondono sono buona parte del motivo per cui «SV2 su BCH» sembra più vuoto di quanto sia.
Come collego un miner Bitcoin Cash via Stratum V2?
| Impostazione | Valore |
|---|---|
| Host | Il tuo endpoint SoloFury BCH regionale abituale (stesso hostname di SV1) |
| Porta | 7333 (standard) o 7343 (alta difficoltà; oggi si comportano allo stesso modo, dato che la difficoltà deriva dall’hashrate dichiarato) |
| Protocollo | Stratum V2, extended channel |
| Chiave pubblica di autorità | 9c5s3n4RzRrDhzMBr3iSJsUfreSLPGiHkQyyzJjYAVWK9YWaZf7 |
| User | Il tuo indirizzo BCH, con o senza prefisso, seguito da .nomeworker |
| Password | Qualsiasi |
I firmware differiscono su dove va la chiave. Alcuni hanno un campo dedicato accanto al selettore di protocollo; altri la vogliono nell’URL:
stratum2+tcp://<tuo-endpoint-bch-regionale>:7333/9c5s3n4RzRrDhzMBr3iSJsUfreSLPGiHkQyyzJjYAVWK9YWaZf7
La chiave è la stessa in ogni regione per scelta progettuale. Un miner che passa da un endpoint all’altro durante un disservizio mantiene la stessa identità verificata e si riconnette senza riconfigurazione. Se il firmware mostra un errore all’apertura del canale, controlla prima il tipo di canale: deve essere extended.
Il wizard di avvio genera la configurazione esatta per il tuo indirizzo e il tuo hardware, e la pagina pool BCH elenca ogni endpoint. Per il protocollo in sé vedi Stratum V2 contro V1, e per la chain Bitcoin Cash spiegato ai miner.
Cosa significa per il solo mining di Bitcoin Cash?
Due cose, una immediata e una più lenta.
Quella immediata è la sicurezza. A settembre 2026 la difficoltà di rete BCH si colloca nell’ordine delle centinaia di miliardi, circa due ordini di grandezza sotto Bitcoin. Un ASIC da 234 TH/s ha probabilità realistiche di trovare un blocco BCH nell’arco di giorni, e una piccola flotta amatoriale ha probabilità su cui vale la pena ragionare nell’arco di un anno. Sono esattamente i miner per cui un job dirottato è un evento finanziario reale e non un arrotondamento, e SV2 chiude quella porta.
Quella più lenta riguarda ciò che un mining cifrato, verificabile e consapevole dell’hardware fa all’esperienza del piccolo miner. Un Bitaxe che apre alla difficoltà giusta nel primo secondo, su un canale di cui può fidarsi, mostrando una coinbase che può leggere, è un prodotto diverso dallo stesso dispositivo che passa la prima mezz’ora a una difficoltà industriale su un socket in chiaro. L’hardware non è cambiato. Il protocollo sì. I miner Bitcoin Cash ora hanno questa opzione, e le porte sono aperte.
Domande frequenti
Stratum V2 è disponibile per il solo mining di Bitcoin Cash?
Sì. SoloFury esegue Stratum V2 per Bitcoin Cash in produzione su tutte e nove le regioni, sulle porte 7333 (standard) e 7343 (alta difficoltà). Stratum V1 resta disponibile sulle porte da 7070 a 7072 e per i miner esistenti non cambia nulla.
Cosa cambia concretamente Stratum V2 per un miner Bitcoin Cash?
Tre cose che si notano: la connessione è cifrata da un capo all'altro, quindi nessuno lungo il percorso può leggere o alterare il tuo lavoro; il tuo miner può verificare la transazione coinbase che ti pagherebbe; e la difficoltà iniziale deriva dall'hashrate dichiarato dal firmware, così un dispositivo piccolo non passa la prima mezz'ora a una difficoltà pensata per un ASIC industriale.
SV2 su BCH paga in modo diverso da SV1?
No. I due protocolli condividono un unico percorso di pagamento all'interno del pool. Prima della messa in produzione abbiamo minato blocchi via SV1 e via SV2 dallo stesso miner su una rete di test privata e confrontato le coinbase byte per byte: output identici, indirizzi identici, ripartizione identica. Il protocollo cambia come viaggia il lavoro, non dove va la ricompensa.
Quale firmware supporta Stratum V2 su Bitcoin Cash?
Qualsiasi firmware con un client Stratum V2 che supporti gli extended channel. In produzione abbiamo verificato AxeOS sui dispositivi Bitaxe e Braiins OS+ su hardware Antminer. Gli standard channel vengono rifiutati deliberatamente con un errore esplicito, perché su un pool solo non possono offrire la verifica della coinbase, che è il senso di SV2.
Qual è la chiave pubblica di autorità SoloFury per Bitcoin Cash?
9c5s3n4RzRrDhzMBr3iSJsUfreSLPGiHkQyyzJjYAVWK9YWaZf7. È la stessa in ogni regione, così un miner che passa da un endpoint all'altro mantiene la stessa identità verificata. Inseriscila nel campo authority key del firmware, oppure aggiungila all'URL del pool come stratum2+tcp://host:7333/CHIAVE a seconda del firmware.
In cosa Stratum V2 su Bitcoin Cash differisce da Stratum V2 su Bitcoin?
Il protocollo è lo stesso. Cambia la chain sottostante: BCH non ha segregated witness, quindi la coinbase non ha impegno witness; l'identità del miner è un CashAddr invece di un indirizzo bech32; e BCH regola la difficoltà a ogni blocco con ASERT anziché ogni 2016 blocchi. Ognuno di questi punti tocca il modo in cui il pool costruisce e verifica il template su cui lavora il tuo miner.
Perché su SV2 il mio miner parte da una difficoltà bassa mentre su SV1 partiva da 100000?
Perché SV2 chiede al miner il suo hashrate nominale all'apertura del canale e calcola un target corrispondente, mentre SV1 assegna a ogni nuova connessione lo stesso valore predefinito del pool e lascia che la difficoltà variabile lo corregga col tempo. Su BCH abbiamo misurato un dispositivo da 1,5 TH/s che apre intorno a 2300 su SV2, contro una discesa di 15-30 minuti da 100000 su SV1.
Come è stato testato SV2 su Bitcoin Cash prima della messa in produzione?
Test unitari e fuzzing del layer di protocollo, una suite end-to-end completa su rete privata con blocchi realmente minati, un confronto byte per byte delle coinbase SV1 e SV2 dallo stesso miner, mining SV1 e SV2 in contemporanea con pagamenti separati verificati per hash del blocco, un ciclo completo minato-poi-speso, e un soak notturno di oltre cinquantamila blocchi senza alcun crash. Poi un rollout graduale, una regione alla volta.