市场快照 · ↗比特币价格$77,735全网算力936 EH/s挖矿难度127.45 T

矿池与结算

Stratum V2 1.13.0修复矿池任务处理与工作验证

来源发布日期: 2026-11-04 · 编辑分析发布日期: 2026-11-09

11月4日库版本修复coinbase构造、工作记账与消息缓冲;它不是所有ASIC通用的固件包。

原创示意:coinbase见证字段应匹配区块模板;贡献者演示使用私有regtest测试网。
原创示意:coinbase见证字段应匹配区块模板;贡献者演示使用私有regtest测试网。 ASIC.tools · original explanation · CC BY 4.0

连上矿池之外,任务本身也要正确

Stratum V2参考实现于11月4日发布1.13.0,修复准备挖矿任务、验证提交工作和读取网络消息的软件。对普通矿工而言,意义并不难理解:设备显示已经连接、显卡或ASIC正在计算,还不能单独证明收到的任务最终能成为比特币接受的区块。准备任务、组织区块和核验结果的基础设施,同样需要正确;设备速度只是整个工作链条的一部分。

这次发布是一组供应用使用的程序库,不是适用于所有ASIC的通用固件。矿池或软件运营者必须把相关版本集成到实际应用,客户连接才可能受益。说明关闭了缓冲区、编解码和消息分帧三类审计任务;修改过的已发布组件采用不兼容版本升级,Noise增加再导出的部分例外。版本发布这个事实,不能用来证明某家商业矿池已经部署,矿工也不应把库版本直接当作设备升级包。

奖励交易需要正确的结构

一项修复涉及coinbase交易,也就是比特币区块中的第一笔交易,负责产生区块补贴并分配收集到的交易手续费。这里coinbase是比特币技术名词,不是交易所。旧逻辑可能在模板没有相应witness commitment时,仍加入与额外交易验证数据有关的见证字段;新逻辑只在模板需要时添加。可以把模板理解为待完成区块的工作单,交易结构必须与这张工作单的内容匹配。

贡献者使用Bitcoin Core v29的regtest私有测试网络展示后果:相关区块在修改前因unexpected-witness被拒,修复后获接受。这是明确的正确性测试,不是某个真实矿池已经损失多少钱的披露。同一修改还拒绝对超过一个输入的coinbase执行见证剥离。排查时要保留实际模板与验证结果,不能见到一次拒绝就认定是这个缺陷,更不能把私有测试的结果写成已经发生的生产事故。

原创记账解释:测试网络中网络目标与任务目标可能不同,工作信用以实际证明量为限。
原创记账解释:测试网络中网络目标与任务目标可能不同,工作信用以实际证明量为限。 ASIC.tools · original explanation · CC BY 4.0

记账应以哈希实际证明的工作为准

另一项修改限制发现区块的份额所获工作信用,不超过哈希实际证明的难度。份额是向矿池提交的参与凭证;找到区块的份额还满足网络出块目标。在测试网络中,网络目标有时比任务分配的份额目标更容易。开发者解释,这种情况下若一概记入整个任务难度,可能把没有被该哈希证明的工作也记进去,造成统计偏高。

修复后记账受实际证明量限制。作者明确表示,如果区块哈希同时满足任务目标,其情况不受影响,区块传播也不改变。因此不能将这一变化解释成所有矿工的支付公式已变,或普通接受份额的单价被削减。核对矿池账户时,本机份额数量、矿池记入的难度和真正执行的付款规则,是不同的量。先确认统计口径,才有可能解释界面数字为什么不同。

网络消息不能超出声明的大小

本次也修复消息帧的处理。帧可以理解成装着网络数据的信封,头部写有长度。编码器现在拒绝头部无法描述的大数据,也会拒绝实际序列化后比声明长度更短的消息。相关代码说明,这可以避免把缓冲区里残留的旧尾部一并发出去。它关心的是交付出去的字节是否与声明一致,不是矿机屏幕上显示的计算速度。

加密消息现在随着数据到达,逐个头部和数据块进行解密,不再先存下整个可能达到16MiB的密文负载。某块数据未通过认证时,会在读完其余内容前报错。缓冲区修改还确保被切片引用的内存继续存在,并分开处理“预留空间”和“确认写入字节”。这些是具体实现修复;说明没有据此确认某矿池遭到攻击,也没有给出适用于所有连接的带宽节省比例。 同一版本还提前检查数字和长度:写出F32数值字段(32位浮点数)时拒绝NaN、无穷大及负数,TLV记录(类型、长度、值)中的值也不能超过其长度字段可表达的范围。也就是说,不合规则的数据会在消息边界被拦住,而不是让后续程序照常处理。这些检查不会说明错误消息由谁发送,也不能据此认定某次真实攻击。

原创消息示意:编码长度应与头部声明相符,加密数据块在到达时逐块验证。
原创消息示意:编码长度应与头部声明相符,加密数据块在到达时逐块验证。 ASIC.tools · original explanation · CC BY 4.0

应用能够交付已经准备好的任务

服务器通道现在可以接收应用提供的预构建挖矿任务,并在没有Template Distribution消息的情况下激活未来任务。通俗地说,应用多了一条受支持的路径,把已经准备好的工作单交给通信层;标准任务会保留自己的coinbase字节。这是给软件开发者使用的能力,不表示每台家庭矿机自动多出一个任务选择按钮,也不证明客户已经能够控制实际矿池的任务来源。

其他修复包括:标准任务来自组通道时不再重复coinbase输出,任务标识被复用时释放被替换任务的资源,以及拒绝超过通道最大值的目标。字段名称也与规范对齐。发布说明特别指出,这次重命名不改变线上字节格式。因此使用库的代码可能需要适配,而连接上传递的消息格式不会仅因这次改名就变成另一套;规划集成时应把这两种兼容范围分清。

真正要查的是正在使用哪套软件

运营者可以沿应用依赖核对库版本,再检查完整任务流程:创建任务、构造coinbase、验证份额、提交区块和正常重新连接。正确性修复的价值出现在这些路径,不在ASIC标称的每秒太哈希数字里。使用托管矿池的矿工,可以询问连接由哪种实现服务、相关修复是否已经集成。安装一个不相干的设备固件,并不能回答矿池端有没有修复的问题。

ASIC.tools核对了有日期的发布说明及关联源码改动,没有运行这些库,也没有审计商业矿池。现有证据支持具体修复与作者测试;是否部署、对个人账户有何影响,仍需分别核实。调查拒绝任务时,保存时间、错误和矿池支持记录会比只看本机速度更有帮助。1.13.0本身没有确立额外比特币收入、硬件加速或节电的量化结果;它提供的是可以追踪到代码的任务处理修正。

来源: Stratum V2 / official source changes ↗ · Coinbase witness fix and regtest result ↗ · Proof-based work-credit fix ↗ · Bounded frames and incremental decryption ↗ · Prebuilt server-channel jobs ↗ · Message-field rename scope ↗

挖矿计算器 ↗

本栏目更多内容