93 / 691SV1

Stratum V1

从工作机登录到提交份额的挖矿协议

Stratum V1 是 Bitcoin 矿池与矿工之间事实上的通信协议,Marek Palatinus 于 2012 年提出它,以更可扩展的方式替代 getwork。

矿池在持久 TCP 连接上发送 mining job 和矿池 target;矿工构造 coinbase 与区块头、搜索 nonce 并提交 shares。协议不规定收益结算,也不规定 Bitcoin 共识。

Stratum V1 是矿池与挖矿设备或 proxy 之间的应用层。它不属于 Bitcoin 点对点共识,不决定区块有效性,也不定义 PPS、FPPS 或 PPLNS 等矿池记账方式。 [Bitcoin Wiki — Stratum mining protocol] [Braiins — Past and future of mining protocols]

旧 getwork 依靠反复 RPC 请求只交付少量工作。Marek Palatinus 在 2012 年提出持久连接,由服务器及时推送新 job;矿池底层通常通过 getblocktemplate 获取 block template。 [Original Stratum mining protocol announcement] [Braiins — Past and future of mining protocols] [BIP 22 — getblocktemplate fundamentals]

矿工发送 mining.subscribe,接收会话数据、extranonce1 和 extranonce2 长度。mining.authorize 关联账户或 worker name,但密码不验证服务器,也不会把明文 TCP 变成加密通道。 [Bitcoin Wiki — Stratum mining protocol] [Hardening Stratum research paper]

mining.notify 携带 job_id、previous block hash、两段 coinbase、Merkle branches、version、nBits、nTime 与 clean_jobs。clean_jobs 要求丢弃旧任务,并不证明候选区块有效。 [Bitcoin Wiki — Stratum mining protocol]

矿工把 extranonce1 与自选 extranonce2 插入 coinbase,哈希交易并沿 Merkle branches 算出 root。再用 prevhash、version、nBits、nTime 和 nonce 组装供 ASIC 计算的 80 字节区块头。 [Bitcoin Wiki — Stratum mining protocol] [Bitcoin Developer Guide — Pooled Mining]

mining.set_difficulty 设置用于衡量工作的较低矿池 target;vardiff 可调节提交频率。低于矿池 target 的 hash 只是 share,只有同时低于更严格的 Bitcoin 网络 target 才可能成为区块。 [Bitcoin Wiki — Stratum mining protocol] [Bitcoin Developer Guide — Pooled Mining]

mining.submit 提交 worker name、job_id、extranonce2、nTime 与 nonce;version rolling 可增加第六项。矿池重建并验证,可能以 duplicate、low difficulty 或 stale 拒绝结果。 [Bitcoin Wiki — Stratum mining protocol] [BIP 310 — Stratum protocol extensions]

原始 V1 缺少通用安全的能力协商。2018 年分配的 BIP 310 草案加入 mining.configure、version-rolling mask、minimum-difficulty 与 subscribe-extranonce;每项扩展均需服务器确认。 [BIP 310 — Stratum protocol extensions]

V1 通常运行在未加密 TCP 上;没有额外保护就不认证 endpoint,可能被窃听或劫持 hashrate。常见模式下矿池选择 block template,但 full node 执行 Bitcoin 共识,ASIC 仍归矿工。 [Hardening Stratum research paper] [Galaxy Research — Future of Bitcoin mining protocols]

Stratum V2 使用二进制 framing、加密保护通道与分离角色;Job Declaration 可让矿工选择交易。V1/V2 translator 或 V2 标签本身不能证明该能力,应检查 endpoint、firmware、latency、rejects、failover 与 template policy。 [Stratum V2 Mining Protocol specification] [Braiins Academy — Stratum V2 Manual]

要获得更完整的理解,请将本词条与以下词条结合阅读: Bitcoin, 挖矿, Mining Pool, Braiins, Braiins Pool, 马雷克·“Slush”·帕拉蒂努斯. 反向关联还来自: 马雷克·“Slush”·帕拉蒂努斯, Braiins Pool, Stratum V2.

DOC · 001Original Stratum mining protocol announcement一手来源DOC · 002Bitcoin Wiki — Stratum mining protocol文档DOC · 003Braiins — Past and future of mining protocols一手来源DOC · 004Bitcoin Developer Guide — Pooled Mining文档DOC · 005BIP 22 — getblocktemplate fundamentals一手来源DOC · 006BIP 310 — Stratum protocol extensions一手来源DOC · 007Hardening Stratum research paper一手来源DOC · 008Stratum V2 Mining Protocol specification一手来源DOC · 009Galaxy Research — Future of Bitcoin mining protocols文档DOC · 010Braiins Academy — Stratum V2 Manual文档
复核于2026年8月1日来源优先 · 非投资建议