Mining Protocol transporta jobs e shares por canais. Job Declaration e Template Distribution opcionais separam criação do template da contabilidade do pool. V2 não altera consenso Bitcoin nem pagamentos PPS, FPPS ou PPLNS.
Stratum V2 reúne Mining, Job Declaration e Template Distribution Protocol. Mining é obrigatório; os outros dois são opcionais. A suite coordena trabalho, não propriedade dos ASIC, regras Bitcoin ou obrigação de pagamento do pool. [Stratum V2 — Protocol Overview] [Stratum V2 — Mining Protocol] [Stratum V2 — Job Declaration Protocol] [Stratum V2 — Template Distribution Protocol]
Braiins publicou Stratum V2 em 2019 com outros desenvolvedores Bitcoin contra limites do Stratum V1: texto, conexão fraca, overhead e jobs normalmente impostos pelo pool. Especificação e implementações abertas continuam evoluindo. [Stratum V2 specification repository] [Braiins — Past and future of mining protocols] [Bitcoin Optech — Stratum V2 topic]
Cada mensagem tem header binário de seis bytes com extension_type, msg_type e msg_length. SetupConnection primeiro negocia protocolo, versão e flags; SetupConnection.Success confirma. Rótulo de produto ou flag não confirmado não é capacidade negociada. [Stratum V2 — Protocol Overview] [Stratum V2 specification repository]
Para links remotos exige-se sessão criptográfica; o handshake opcional usa Noise e depois AEAD protege confidencialidade e integridade. Cliente valida certificado contra authority public key. Um hop protegido não prova firmware seguro, contas corretas ou solvência do pool. [Stratum V2 — Protocol Security] [Noise Protocol Framework]
OpenStandardMiningChannel abre canal header-only; OpenExtendedMiningChannel deixa proxy dividir extranonce e search space downstream. Group Channel compartilha jobs. O servidor deve alocar espaço único ou ASIC repetem hashes. [Stratum V2 — Mining Protocol]
NewMiningJob ou NewExtendedMiningJob descreve trabalho, SetNewPrevHash ativa prevhash e SetTarget define target do pool. SubmitSharesStandard ou SubmitSharesExtended leva sequence_number, job_id, nonce, nTime e version. Share mede trabalho; bloco exige target Bitcoin. [Stratum V2 — Mining Protocol]
Proxy agrega máquinas em extended upstream channel. Translation Proxy permite ASIC Stratum V1 usar V2 até o pool, mas downstream continua V1: não ganha V2 nativo, Noise end-to-end ou Job Declaration automática. [Stratum Reference Implementation libraries] [Braiins — Past and future of mining protocols]
Template Distribution liga Template Provider, geralmente Bitcoin Core full node, ao pool ou Job Declarator Client. NewTemplate e SetNewPrevHash empurram templates sem polling getblocktemplate; RequestTransactionData traz transações e SubmitSolution devolve bloco. [Stratum V2 — Protocol Overview] [Stratum V2 — Template Distribution Protocol]
Job Declarator Client pede token com AllocateMiningJobToken, envia DeclareMiningJob e talvez ProvideMissingTransactions, depois SetCustomMiningJob. Só pool que aceita o fluxo permite template próprio; pode inspecionar, limitar ou rejeitar. [Stratum V2 — Protocol Overview] [Stratum V2 — Job Declaration Protocol]
Em V2 identifique subprotocols, roles, channel types, flags e versão exata; verifique authority key, endpoint, failover e erros. Monitore latency, rejected/stale shares e logs. Rótulo V2, canal ou translator não provam escolha de transações. [Stratum V2 specification repository] [Stratum Reference Implementation libraries] [Galaxy Research — Future of Bitcoin mining protocols]
Para ter uma visão mais completa, leia este verbete junto com Bitcoin, Mineração, Mining Pool, Braiins, Braiins Pool, ASIC Miner. Também há referências a este verbete em ASIC Miner, Mining Pool, Nonce, Braiins.