核心 Mining Protocol 通过通道传递 jobs 与 shares;可选 Job Declaration 和 Template Distribution 将模板构建与矿池记账分离。V2 不改变 Bitcoin 共识,也不规定 PPS、FPPS 或 PPLNS。
Stratum V2 包含 Mining Protocol、Job Declaration Protocol 与 Template Distribution Protocol。Mining 必须实现,后两者可选。套件协调工作,不决定 ASIC 所有权、Bitcoin 有效性规则或矿池付款义务。 [Stratum V2 — Protocol Overview] [Stratum V2 — Mining Protocol] [Stratum V2 — Job Declaration Protocol] [Stratum V2 — Template Distribution Protocol]
Braiins 在 2019 年与其他 Bitcoin 开发者公开 Stratum V2,以解决 Stratum V1 的文本编码、连接保护弱、开销及矿池单方面生成 jobs 等局限。开放规范和实现仍在持续演进。 [Stratum V2 specification repository] [Braiins — Past and future of mining protocols] [Bitcoin Optech — Stratum V2 topic]
每条消息有 6 字节 header:extension_type、msg_type、msg_length。SetupConnection 首先协商 protocol、version 和 flags,SetupConnection.Success 确认真正能力。产品标签或未确认 flag 不等于已协商支持。 [Stratum V2 — Protocol Overview] [Stratum V2 specification repository]
远程连接必须建立加密 session;可选 handshake 使用 Noise,随后 AEAD 保护机密性与完整性。客户端用 authority public key 验证 server certificate。一个受保护 hop 并不证明 firmware、记账或矿池偿付能力可靠。 [Stratum V2 — Protocol Security] [Noise Protocol Framework]
OpenStandardMiningChannel 建立 header-only channel;OpenExtendedMiningChannel 让 proxy 向 downstream 设备分配 extranonce 与 search space。Group Channel 可共享 jobs。服务器必须分配唯一空间,否则 ASIC 会重复计算。 [Stratum V2 — Mining Protocol]
NewMiningJob 或 NewExtendedMiningJob 描述工作,SetNewPrevHash 激活 prevhash,SetTarget 设置矿池 target。SubmitSharesStandard 或 SubmitSharesExtended 包含 sequence_number、job_id、nonce、nTime、version。Share 只衡量工作,区块必须满足 Bitcoin 网络 target。 [Stratum V2 — Mining Protocol]
Proxy 可把多台设备聚合到 extended upstream channel。Translation Proxy 让 Stratum V1 ASIC 朝矿池使用 V2,但 downstream 仍是 V1;设备不会因此获得原生 V2、end-to-end Noise 或自动 Job Declaration。 [Stratum Reference Implementation libraries] [Braiins — Past and future of mining protocols]
Template Distribution 把 Template Provider(通常是 Bitcoin Core full node)连接到矿池或 Job Declarator Client。NewTemplate 与 SetNewPrevHash 无需 getblocktemplate polling 即推送模板;RequestTransactionData 提供交易,SubmitSolution 返回发现的区块。 [Stratum V2 — Protocol Overview] [Stratum V2 — Template Distribution Protocol]
Job Declarator Client 通过 AllocateMiningJobToken 获取 token,发送 DeclareMiningJob,必要时 ProvideMissingTransactions,确认后向矿池发送 SetCustomMiningJob。只有接受该流程的矿池才允许自定义 template,并可检查、限流或拒绝。 [Stratum V2 — Protocol Overview] [Stratum V2 — Job Declaration Protocol]
使用 V2 时须确认具体 subprotocols、roles、channel types、flags 与 implementation version,并核对 authority key、endpoint、failover 和 error handling。监控 latency、rejected/stale shares 与 logs;V2 标签、channel 或 translator 不能证明交易选择权。 [Stratum V2 specification repository] [Stratum Reference Implementation libraries] [Galaxy Research — Future of Bitcoin mining protocols]
要获得更完整的理解,请将本词条与以下词条结合阅读: Bitcoin, 挖矿, Mining Pool, Braiins, Braiins Pool, ASIC Miner. 反向关联还来自: Mining Pool, Braiins, Braiins Pool, Stratum V1.