跳转到内容

Stratum 挖矿协议

来自BitcoinWiki
Stratum 挖矿协议
Stratum 挖矿协议。

Stratum 挖矿协议是一组用于在矿工、代理和矿池基础设施之间交换挖矿任务与工作量证明结果的协议。原始协议现称 Stratum V1(SV1);Stratum V2(SV2)是另行规范的后继协议,消息格式和安全模型均不同。[1]

Stratum V1

Stratum V1 于2012年推出,随后被比特币矿机和矿池广泛实现。它以持续的 TCP 连接取代反复的 getwork 轮询,矿池可通过连接推送新任务。[1][2] V1 通常采用换行分隔的类 JSON-RPC 消息。最初的挖矿接口没有得到完整标准化,因此形成了不同方言和扩展。[3]

核心消息流程

典型 V1 会话使用下列消息;确切参数和可选行为会因实现而异。[4]

方向 方法 用途
矿工 → 服务器 mining.subscribe 启动或恢复会话。响应一般提供订阅标识符、extranonce1 和 extranonce2 大小。
矿工 → 服务器 mining.authorize 将工作器名称以及在使用时的密码与连接关联。
服务器 → 矿工 mining.set_difficulty 设置提交份额的目标难度,后续任务应用新难度。
服务器 → 矿工 mining.notify 发送任务标识符、前一区块哈希、coinbase 部分、Merkle 分支、版本、目标编码、时间和是否丢弃旧任务的标志。
矿工 → 服务器 mining.submit 提交工作器、任务、extranonce2、时间和 nonce,供服务器接受或拒绝。

常见可选消息有 client.reconnect、client.show_message 和 mining.set_extranonce。BIP 310 定义 mining.configure,用于协商版本滚动、最低难度和 extranonce 订阅。[5]较早的 mining.capabilities 等草案不属于该协商机制,不能假定获得支持。

局限

基础 V1 协议以明文传输挖矿流量。2017年的研究表明,被动观察者可推测算力和收入,能够截取连接的攻击者还可修改消息。[4]矿池另行部署 TLS 隧道可能改变风险,但这不是基础 V1 的属性。

V1 通常由矿池构建任务并选择交易。支付核算、钱包、数据库和日志轮换属于矿池软件功能,不属于协议。

Stratum V2

Stratum V2 使用精确定义的二进制消息。其规范定义通道、原生版本滚动、连接聚合,以及矿机、代理、矿池、任务声明器和模板提供者等角色。[3][6]

该套件包含三个子协议:[6]

  • 必需的 Mining Protocol,用于分发任务和提交份额;
  • 可选的 Job Declaration Protocol,让矿工端提出选定的交易集合;以及
  • Template Distribution Protocol,用于从比特币节点传递区块模板数据。

任务声明是可选的。矿池可以只用 V2 分发自己选择的任务;采用任务声明时,矿工端可构建模板并请求矿池接受。[6]这会改变交易选择责任,但不定义支付,也不能消除对矿池账目的信任。

V2 以认证加密保护远程连接。规范采用 AEAD 和基于 Noise 的握手;远程上游连接必须使用安全握手,本地设备与代理之间则可选。[7]

兼容性与实现

转换代理可以接受现有矿机的 V1 连接,并对上游使用 V2。它只提供协议桥接,不会使下游设备成为原生 V2 实现。具体扩展和子协议支持应分别核对矿机、代理和矿池。

参见

外部链接

  1. ↑ 1.0 1.1 Stratum V2 项目,“Open Bitcoin mining standard”,查阅于2026年9月14日。
  2. ↑ Bitcoin Wiki,“Stratum mining protocol”,查阅于2026年9月14日。
  3. ↑ 3.0 3.1 Stratum V2 规范,“Design Goals”,查阅于2026年9月14日。
  4. ↑ 4.0 4.1 Maria Apostolaki 等,“Hardening Stratum, the Bitcoin Pool Mining Protocol”,Proceedings on Privacy Enhancing Technologies,2017。
  5. ↑ BIP 310,“Stratum protocol extensions”,查阅于2026年9月14日。
  6. ↑ 6.0 6.1 6.2 Stratum V2 规范,“Protocol Overview”,查阅于2026年9月14日。
  7. ↑ Stratum V2 规范,“Protocol Security”,查阅于2026年9月14日。