首页 > 比特币 > 正文

与单独挖矿相比,为了获得更可靠的收入来源,如今大多数比特币矿工都通过矿池进行挖矿。该选项由目前几乎所有矿池使用的开源“Stratum”挖矿协议启用,该协议由 Slush Pool 设计并在近七年前首次宣布。

现在,Slush Pool 背后的公司 Braiins宣布了Stratum V2:第二代 Stratum 挖矿协议。两年前,这家位于布拉格的矿业公司开始着手研究它,认为它在几个关键方面对第一个 Stratum 协议(现在称为“Stratum V1”)进行了改进,使新版本明显更好。

比特币联合挖矿的合法性

Braiins 联合首席执行官 Pavel Moravec 告诉比特币杂志: “它解决了历史上的技术和安全问题,通常效率更高,并且允许一些高级用例,例如工作选择或更容易的矿场管理。这应该在几年前完成, 真的。”

随着 Stratum V2 协议的引入,Braiins 希望让比特币矿池更加高效和有效。

V1层

简要回顾一下,这就是使用 Stratum V1 进行池化挖掘的工作原理。

首先,哈希者(矿池的用户,有时也简称为“矿工”)将他们的矿机(通常是带有 ASIC 芯片的专用机器)连接到矿池。或者,更具体地说,他们将自己的计算机连接到由矿池运营商操作的计算机。

然后挖矿计算机向矿池运营商请求部分“区块模板”。这个部分块模板本质上是一个不完整的比特币块,没有工作证明使其有效。

重要的是,这个区块中的交易是由矿池运营商选择的。交易本身实际上根本没有发送到哈希器;事实上,只有所有交易的 Merkle 路径——一系列哈希值。

最重要的是,池操作员可以选择包含哪个“版本位”。这可能与软分叉协议升级的激活有关。

然后散列器开始对部分块模板进行散列,希望其中一个散列将产生一个有效的块头,满足网络的工作量证明要求。如果哈希器对有效的区块头进行哈希处理,则将其返回给矿池运营商,矿池运营商将其添加到区块的其余部分并将其广播到比特币网络。然后,矿池运营商根据每个哈希者投入的工作量在池中的所有参与者之间分配区块奖励。(这是通过让哈希者也发送“几乎有效”的区块头来证明哈希者执行工作。)

因此,Stratum V1 赋予矿池运营商在矿池中相对强大的地位。他们不仅负责分配奖励,而且还决定区块中包含哪些交易,以及包含哪些版本位。如果矿池运营商愿意,他们可以决定审查某些交易,或阻止某些协议升级。

灵感来自 BETTERHASH

受BetterHash 的启发,这是 Chaincode Labs 工程师和比特币核心贡献者 Matt Corallo 去年提出的一项提案,Stratum V2 可以选择性地将 Stratum V1 协议颠倒过来。与其让矿池运营商将(部分)区块模板发送给哈希算力,哈希算力还可以选择将区块模板发送给矿池运营商。这种“工作选择”允许哈希者自己选择交易并选择区块版本。

为了完成这项工作,Braiins(在 Corallo 的帮助下)必须解决 BetterHash 的一些更实际的问题。最重要的是,哈希器有可能在无效的块模板上进行挖掘(例如,因为它包含无效的交易)。即使散列器能够找到有效的散列,块本身仍然是无效的,因此,对池没有帮助——而同一个散列器仍然会从其他散列器找到的有效块中受益。

这个问题的一个解决方案是池操作员在让他进入池之前首先检查哈希器的块模板是否有效。但在大型公共池中,这一步也会遇到技术困难。

“想象一下当在比特币网络上发现一个新块并且池中的每个哈希器都想开始处理一个新块模板时会发生什么,”Moravec 解释道。“他们每个人都可以有一个略有不同版本的内存池 [未经确认的交易],并且可能有不同的交易选择规则......他们都想立即开始挖矿。让他们都将他们的块模板发送到池中以供批准基本上是在网络找到块后的第一秒内对服务进行 DDOS 攻击。该机制需要扩大规模才能在实践中发挥作用。”

Braiins 通过让池操作员异步检查新块模板的有效性来解决这个问题。只要哈希者提交块模板,他就可以立即开始对其进行哈希处理。同时,池操作员开始检查所有块模板。

Moravec 补充说:“如果后来发现一个区块模板无效,那么 [hasher] 的奖励可以相应地进行调整。因此,他有动力在适当的区块上工作并及时提供所有数据。然而,他可以毫不拖延地继续处理他的模板。”

安全、高效和灵活

除了交易选择的变化,Stratum V2 将包括更多改进,其中一些可能至少对许多哈希器同样重要。

在 Stratum V1 中,没有加密数据认证来确保哈希者的计算机与池操作员的计算机真正连接,并且池操作员的计算机单独。这为中间人攻击敞开了大门:例如,攻击者可以拦截哈希器和矿池运营商之间的通信,并使哈希器在攻击者提供的块上工作。攻击者可以将这个区块的区块奖励支付给他们自己的地址之一,有效地“劫持”了哈希者的哈希能力。

Stratum V2 通过让矿池运营商对部分区块模板进行加密签名来对抗这种攻击。如果散列者知道矿池运营商的公钥,他们可以检查部分区块模板是否带有有效签名,因此是否真的由矿池运营商提供。

Stratum V2 也比其前身更高效。Stratum V1 通信通过人类可读文本 (JSON) 进行,而 Stratum V2 通信以二进制(计算机可读代码)完成。Moravec 认为,结合协议级别本身的一些数据消除,这将使池运营商之间共享的数据减少二分之一到三分之二,从而使通信更快、更便宜。

此外,Stratum V2 具有用于“多路复用”的内置机制。这意味着哈希器可以在同一连接上拥有独立的通信通道,例如,允许他们的机器共享有关温度、芯片电压或电源行为方式的数据。矿池可以根据这些信息提供额外的服务,或者哈希器可以与其他服务或服务器共享它。

Stratum V2 还将让矿池“猜测”下一个区块是什么。每次发现一个新区块时,矿池都需要一点时间来确定该区块中包含哪些交易,以及哪些交易不能包含在下一个区块中。今天,许多矿池开始挖掘下一个空块:它们在几秒钟内根本不包含任何交易,以确保它们不包含双花(这会使块无效)。

使用 Stratum V2,矿池运营商(或哈希者,如果他们是选择交易的人)可以根据所有未确认的交易对将包含哪些交易进行有根据的猜测。在最初的几秒钟内,他们可以开始挖掘他们认为可能是有效的下一个区块。特别是当每个区块补贴成为区块奖励的一小部分,最终被费用所取代时,这种低效率可能有利于哈希。

改进尚未到来

最后,Braiins 团队表示还会有一些尚未公布的改进。虽然该公司有一个正在运行的原型,但协议规范尚未最终确定。

“我们现在希望收集人们的反馈以在内部完成提案,然后将发布比特币改进提案。我想这会引起新一轮的讨论……与此同时,我们将把 Stratum V2 部署到 Slush Pool,并将其作为 Braiins OS 测试版的一部分发布,以获得真实的生活体验,”Moravec 说。“我们正在尽快实施它,以便让每个人都能尽快玩到一些东西。”

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息