什么是 Stratum 代理?
Stratum 代理是一种软件中介,位于矿场的 ASIC 矿机与矿池服务器之间。矿机不再各自直接与矿池建立 Stratum 连接,而是连接到本地代理,由代理统一维持与矿池之间的上游连接,并双向转发工作任务和份额提交。
在 Stratum V2 协议规范中,挖矿代理被明确描述为一个可选角色:它可以汇聚下游连接以提高效率,也可以为运营方提供监控或其他服务,但协议设计本身并不要求矿场必须运行代理(Stratum V2 协议概述)。这种"可选性"正是任何矿场在评估是否要增加这一层架构时应当秉持的正确出发点。
简短的答案:为解决特定问题而部署
矿场并不会仅仅因为运行了大量 ASIC 矿机就需要 Stratum 代理。当矿场具备可靠的互联网连接、可控的流量规模,并且每台设备都正确配置了主用和备用矿池地址时,矿机直连矿池仍然是合适的方案。
当直连方式带来了可衡量的运营问题时,代理才值得考虑:例如带宽受限或成本高昂、在大规模矿机群中难以管理矿池路由、旧版固件与新版矿池接入点之间存在协议不匹配,或者需要对连接行为进行集中可视化监控。这一决策应当源于已识别出的具体问题,而不是出于"矿场规模越大就越需要更多基础设施层"的笼统假设。
四种可能值得考虑部署代理的情形
1. 广域网带宽受限或成本高昂
当大量 ASIC 矿机共用一条有限或昂贵的广域网链路时——例如使用蜂窝网络或卫星回程的偏远站点——每台设备各自建立持久性 Stratum 会话并独立提交份额,可能会产生可观的总体流量。算力聚合代理可以将多台矿机整合到更少的上游连接之后,从而减少矿场到矿池之间的流量规模。
Braiins 公司表示,其 Farm Proxy 产品可将矿场与矿池之间的数据传输量减少最多 95%,同时明确指出实际降低幅度取决于矿机数量和具体配置(Braiins Proxy)。这是厂商针对特定产品给出的最大值说法,并非行业通用基准,应当如此看待。对运营方而言,真正相关的问题不在于聚合在理论上是否有帮助,而在于矿场当前的广域网使用量和成本是否真的能证明新增这一软件层是合理的。
2. 集中化的矿池路由与故障切换
代理可以作为一组矿机的单一本地接入点,按照只需配置一次的规则将其流量路由到上游,而不必逐台设备单独设置。对于拥有数百甚至数千台 ASIC 矿机的矿场而言,这可以减少更改矿池接入点、调整矿工设置或重新分配备用路由时所需的运营工作量。
Braiins 的 Farm Proxy 文档描述了可配置的路由层级,并建议设置备用上游目标,以应对主路由不可用的情况(Braiins Farm Proxy 配置说明)。以这种方式集中管理路由虽然减少了每台设备的配置工作,但也意味着代理本身成为了一个需要被监控的依赖环节——这一点将在下文进一步讨论。
3. 在 Stratum V1 与 Stratum V2 之间架设桥梁
部分运营方的 ASIC 固件仅支持 Stratum V1,但同时在评估支持 Stratum V2 的矿池接入点。转译代理原则上可以弥合这一差距,但前提是矿池、代理实现以及矿机固件三方必须都支持所需的具体配置。
这在整个行业中尚未成为默认情况。ViaBTC目前公布的比特币挖矿接入点使用stratum+tcp连接语法,与Stratum V1保持一致,该矿池也指出,整个行业对Stratum V2的采用程度仍参差不齐。考虑部署V1转V2转换代理的矿场应将其视为一个分阶段的迁移项目,并配套开展自身的兼容性测试,而不应认为代理可以自动实现这一转换。
4. 包括任务声明(Job Declaration)在内的高级Stratum V2架构
Stratum V2将若干角色进行了拆分,而挖矿代理只是其中之一。诸如任务声明(Job Declaration)这类功能——涉及矿工或矿池对区块模板构建的影响能力——属于该协议中涉及其他组件的独立部分,包括任务声明器(Job Declarator),以及视架构而定的模板提供者(Template Provider)(Stratum V2协议概述)。安装一个普通的挖矿代理本身并不会使矿场获得交易选择能力。对此功能感兴趣的运营者应将其作为一个独立的、更为复杂的部署方案来评估,而不应假定这只是添加任意代理的附带结果。
何时ASIC与矿池直连已经足够
对于许多矿场而言,最简单的方案也正是正确的方案:每台ASIC都直接连接矿池,配置有效的主接入点以及在固件中设置的一个或多个备用条目。例如,ViaBTC在其挖矿设置指南中就记录了一个主BTC接入点以及一个独立的故障转移端口,使矿机在主连接点无法访问时可以回退至备用连接点(ViaBTC BTC挖矿设置)。
当矿场的网络连接可靠、其流量在链路容量范围内表现正常、且每台设备上的基础备用条目设置正确时,添加代理只会带来运营上的复杂性,而无法解决任何现存问题。合适的判断标准是:直连是否目前未能满足某个具体、可识别的需求——而不是代理在理论上是否有能力增加价值。
代理无法解决的问题
Stratum代理运行在矿机与矿池之间的网络通信层面。它不会改变ASIC的算力芯片本身,也无法补偿源自硬件本身的问题。具体而言,代理不会提升:
- 设备自身固件所报告的本地算力(hashrate);
- 以J/TH衡量的硬件能效;
- 算力板、电源、风扇或网络接口硬件的物理状态。
如果矿场的根本问题是芯片性能衰退、温度导致降频、电源不稳定或交换机故障,代理都无法解决这些问题,因为故障发生在代理介入位置的上游。设备本地算力读数与矿池算力估算值之间持续存在的差异,应当使用一致且足够长的观测窗口,结合拒绝份额(rejected-share)数据以及固件/硬件诊断进行排查——而不应想当然地认为这是可以通过添加代理解决的连接问题。
评估需求:一份测量核查清单
在部署代理之前,运营者可以收集一小组具体的测量数据,以确认是否确实存在真实问题:
- WAN 流量大小与成本:统计矿场与矿池之间在一段有代表性的时间内的流量,以确定减少流量是否具有实际价值。
- 并发矿池连接数相对于活跃矿机数量的比例:以判断是 WAN 出口还是矿池的连接处理能力正承受压力。
- 连接稳定性:包括重连、超时、DNS 故障和故障转移事件,以判断集中式路由或增加端点是否有帮助。
- 拒绝份额(rejected share)模式:将过期(stale)、无效(invalid)和重复(duplicate)份额识别为"拒绝份额"这一更大类别下的不同子类别,以便能够诊断出份额拒绝率升高的真实原因,而不是凭假设判断。
- 矿机群组中的固件与协议兼容性:确认哪些 ASIC 仅支持 Stratum V1,以及哪些矿池端点可用,然后再考虑任何 V1 到 V2 的转换。
- 配置负担:即矿池端点、矿工名称或备用路由在整个矿机群组中需要被更改的频率,这可以表明集中式路由是否能有意义地减少运维工作量。
这些测量结果有助于判断相关问题究竟是带宽问题、路由复杂度问题、协议兼容性问题,还是完全与连接性无关的问题——例如硬件状况问题。
部署考量与风险
引入代理会改变矿场的架构,而这种改变也带来了其自身的权衡取舍,应当与其意图解决的问题进行权衡比较。
首先,代理会成为一个额外的故障点:如果它掉线,所有通过它路由的矿机可能会同时失去连接,而不是像设备各自独立那样出现孤立故障。因此,在 ASIC 上直接保留一个独立于代理的备用矿池配置,是一些代理供应商自身也推荐的合理预防措施(Braiins Farm Proxy 配置)。
其次,运行代理软件会增加持续性的运维工作:部署、版本更新、日志审查和配置管理都需要投入关注,而这些在直连设置中是不需要的。
第三,不同矿池在支持的协议版本、端点格式和路由行为方面存在差异,因此针对某一矿池验证通过的代理配置,不能被假定在未经测试的情况下同样适用于另一矿池。
第四,在安全性方面,Stratum V2 规定了与远程上游服务器连接时的认证加密,而本地挖矿设备与本地代理之间的连接则可能采用一种更轻量级、可选的握手方式(Stratum V2 协议安全性)。因此,代理可以在 Stratum V2 下提升矿场到矿池链路的安全态势,但它并不会自动使一个原本未受保护的 Stratum V1 部署变得安全,矿场本地网络的安全性仍然需要独立地加以重视,与是否使用代理无关。
结论
是否部署 Stratum 代理的决定,应当由具体的、已证实的运维需求来驱动,而不仅仅取决于矿机群组的规模。带宽限制、在众多设备间管理矿池路由所带来的管理负担、从 Stratum V1 迁移到 V2 的计划,或是对高级 V2 功能的需求,都是评估是否使用代理的正当理由。在上述情况均不适用时,配置正确、带有有效备用矿池条目的直连方式仍然是一个更简单、且通常已经足够的选择。无论在哪种情况下,代理解决的都是矿机与矿池之间的通信层问题——它并不能替代对硬件故障、固件问题或本地网络问题的诊断。
常见问题解答
添加Stratum代理会提升矿场的算力吗?
不会。代理负责管理矿机与矿池之间的连接以及份额路由,对ASIC的挖矿芯片、本地算力或J/TH能效没有任何影响。
代理能解决较高的拒绝份额率问题吗?
仅在问题由连接性原因导致时才有效,例如路由不稳定或与矿池之间延迟过高。过期份额、无效份额和重复份额是拒绝份额中不同的子类别,应在假设代理是解决方案之前分别进行诊断。
使用Stratum V2是否必须安装代理?
不是必须的。许多矿池和ASIC在支持的情况下可以直接连接到V2端点。只有在将仅支持V1的固件桥接到V2上游,或需要汇聚大量支持V2的设备时,代理才变得相关。
安装代理是否能让矿场获得对区块模板的控制权?
不能。该能力属于Stratum V2独立的任务声明(Job Declaration)功能,这需要在标准挖矿代理之外增加额外组件,并获得相应矿池的支持。
部署代理的主要风险是什么?
它会引入单点故障:如果代理不可用,所有通过它路由的矿机可能同时失去与矿池的连接,因此在ASIC上保留直连矿池的备用配置是一项合理的预防措施。
参考资料
- Braiins。《Braiins Proxy》。https://braiins.com/braiins-proxy
- Braiins Academy。《矿场代理配置》。https://academy.braiins.com/farm-proxy/configuration
- Stratum V2 参考实现。《协议概述》。https://stratumprotocol.org/specification/03-protocol-overview/
- Stratum V2 参考实现。《协议安全性》。https://stratumprotocol.org/specification/04-protocol-security/
- ViaBTC支持。《BTC挖矿》。https://support.viabtc.com/hc/en-us/articles/7207401012879-BTC-Mining


