Mining Latency 是某个具体挖矿步骤的时间延迟,例如工作分发或激活、已找到 share 的提交,或候选区块传播。数值必须说明测量的起止事件和观察条件。
Stratum V2 区分工作分发与结果提交。从发送任务到接收任务的时间,不等于接收后 ASIC 实际切换的时间;share 返回矿池又是另一条路径。自行测量时,应定义两端事件,并通过 channel_id 和 job_id 关联记录。 [Stratum V2 — Mining Protocol]
Braiins 将 ping 描述为可达性测试。其 RTT 包括往返路径;直接除以二并不能测得单向延迟,因为两个方向可能不对称。Ping 也不测量任务构建、代理排队或设备激活。比较时应使用相同流量类型和端点。 [Braiins — Connection diagnostics] [RFC7679 — One-Way Delay Metric]
RFC7679 要求单向测量考虑时钟同步与时间戳位置。示例:Tsend = 1000 ms、Trecv = 1040 ms,只有时钟可比时才代表 40 ms。接收方时钟偏移 30 ms 会改变解释。没有不确定性估计,服务器之间的差值不能证明提速。 [RFC7679 — One-Way Delay Metric]
在 Stratum V2 中,Future Job 可以提前到达,由匹配 job_id 的 SetNewPrevHash 激活。因此还应测量激活延迟,而不只是模板下载时间。非空预备任务可能包含已经进入新区块的交易;更快分发并不允许忽略冲突或挖掘无效区块。 [Stratum V2 — Mining Protocol]
Stratum V2 允许批量 SubmitShares.Success。因此等待回复的时间可能包含有意批处理;它既不是纯网络耗时,也不能证明 share 在整个期间都等待接纳。SubmitShares.Error 可能在延迟验证后才到达。应匹配 sequence_number,区分发送、接收、验证和确认。 [Stratum V2 — Mining Protocol]
在 high-bandwidth 模式下,BIP152 无需事先请求便发送 cmpctblock。如果接收方缺少交易,getblocktxn 与 blocktxn 会增加一轮交互。这是节点间的区块传播,不是 share 提交测量。传输更少数据既不保证零延迟,也不能替代完整验证。 [BIP152 — Compact Block Relay]
RFC7679 定义时间上限 Tmax,并将未送达的数据包视为延迟未定义;其百分位计算将这类值排序为无穷大。自行报告 p50/p95 时,应说明方法、样本数与丢包。排除所有超时可能让结果看起来更好;空样本不代表零延迟。 [RFC7679 — One-Way Delay Metric]
改变路径或配置时,应保持设备、时间窗口和测量定义可比。分别跟踪 job_id 激活、工作确认、拒绝原因与中断;ping RTT 下降并不能证明每种延迟都降低。这是比较方法,并非找到区块的承诺,也不是以 ms 表示的通用安全阈值。 [Stratum V2 — Mining Protocol] [Braiins — Connection diagnostics] [RFC7679 — One-Way Delay Metric]
要获得更完整的理解,请将本词条与以下词条结合阅读: Stale Rate, 区块传播, Stratum V2, Mining Pool. 反向关联还来自: Stale Rate.