挖矿

矿工任期
在之前的 Stacks 版本(Nakamoto 升级之前),Stacks 矿工会以与比特币区块一对一的节奏挖掘新的 Stacks 区块。
在 Nakamoto 之后,情况不再如此。根据 Nakamoto 规则,矿工改为被选中担任与某个比特币区块对应的任期。在该任期内,矿工构建并提议多个 Stacks 区块(大约每 10 秒),stackers 会批准并追加它们(下一节)。
要被考虑进入任期,矿工必须在比特币区块中包含一个区块提交。如果矿工希望在提交后更新其承诺,可以使用比特币的 Replace-By-Fee。
Coinbase 奖励
矿工会为他们赢得的任期获得 coinbase 奖励。
奖励金额为:
在挖矿的最初 4 年内,每个任期释放 1000 STX
在接下来的 4 年内,每个任期释放 500 STX
在随后 4 年内,每个任期释放 250 STX
从那时起无限期地每个任期释放 125 STX。
这些“减半”与比特币的减半同步。

交易费用
矿工会获得他们所产生的任何区块中已挖交易的 Stacks 手续费。
奖励成熟期
区块奖励和交易费用需要在比特币区块链上经过 100 个区块才能成熟。成功挖出区块后,您的奖励将在约 24 小时后出现在您的 Stacks 账户中。
使用转移证明(proof-of-transfer)进行挖矿
矿工向 两个 地址在每个领导者区块提交中进行承诺。每个地址承诺的金额必须相同。地址从当前参与 stacking 的奖励集合中选出。地址是使用可验证随机函数选择的,确定给定区块的正确两个地址需要监控 Stacks 链。
有关此过程的更详细信息,请阅读 SIP-007,其中详细描述了转移证明。

PoX 挖矿是燃烧证明(PoB)挖矿的一个修改版本,其中承诺的比特币不是发送到销毁地址,而是转移给参与 stacking 协议的有资格的 STX 持有者。

矿工运行启用挖矿的 Stacks 节点以参与 PoX 机制。该节点实现了 PoX 机制,通过四个关键阶段确保正确的处理和激励:
注册:矿工通过将共识数据发送到网络来注册未来的选举
承诺:已注册的矿工转移比特币以参与选举。承诺的 BTC 被发送给一组参与的 STX 代币持有者
选举:可验证随机函数选择一名矿工担任新的任期,在 Stacks 区块链上写区块
组装:当选矿工通过从内存池提取交易来写入新块,并以新 STX 代币的形式收集奖励
挖掘下一个区块的概率
被选中挖掘下一个区块的矿工取决于矿工所发送的 BTC 数量,即转移或销毁的数量。
矿工挖掘下一个区块的概率使用一种 Assumed Total Commitment with Carryforward (ATC-C) 的变体来确定,这是一种 MEV 缓解策略,描述于 本文件 中,用于将区块奖励分配给矿工。矿工赢得抽签并被授予当前任期的概率将基于一个函数,该函数考虑了在当前抽签之前的区块提交总支出。
您可以在 SIP-021 的 MEV 部分.
中阅读更多相关内容。虽然协议没有强制执行最低 BTC 承诺,但在实践中存在由 “尘埃”所限制的下限:基本上,如果一笔交易的费用超过了所花费输出的价值,则被视为尘埃。尘埃如何被 计算 取决于多个因素,我们发现每个 输出5,500 satoshi 是一个不错的下限。Stacks 矿工的比特币交易包含两个输出(用于转移证明),因此建议每个区块至少承诺 11,000 satoshi。
要计算要发送的 BTC 数量,矿工应当:
猜测下一天(100 个区块之后)BTC/STX 的价格
猜测所有矿工承诺的 BTC 总额
Stackers 负责验证和追加新块以及执行矿工任期变更。下一节将解释其工作原理,然后我们将看到该过程如何导致比特币确定性(finality)。
Stacks 挖矿的实践
如果您查看 SIgnal21 的挖矿仪表盘,您可以查看有关 Stacks 网络挖矿的一些有趣数据,包括每个区块花费的 BTC、每个区块获得的 STX、链历史上的矿工总数以及任意区块的矿工数量。
许多人注意到 Stacks 上看似较少的矿工数量。没有上下文,这有时会引起疑问。让我们深入了解 Stacks 上的挖矿工作方式,这样我们就能理解为什么这对去中心化不是问题。
Stacks 矿工的功能类似于 L2 系统中的序列器,负责构建和提议新块,而不是将它们追加到链上。但与大多数仅有单一集中式序列器的以太坊 L2 不同,Stacks 始终至少有 4-5 名矿工,并且会员是开放的,任何人都可以加入。
需要注意的是,在 Stacks 的区块生产过程中有两个主要参与方:矿工和 stackers。
这两个角色在区块生产过程中是互补的,stackers 大大减少了矿工对链可能造成的任何破坏性影响。
矿工无法重组链。在最糟糕的情况下,所有矿工所能做的就是省略(某些类型的)交易,而解决这个问题所需的只是运行您自己的矿工。
此外,网络上更多的矿工意味着 stackers 可获得的 BTC 奖励更少,因为矿工将不得不把更多资金花在比特币 L1 手续费上,而不是发送给 stackers。
这创造了一个自然的经济均衡,具体为:
有足够的矿工参与以确保区块可靠地产生
如上所述的内容,描述了可靠性。
Stackers 收到最优的 BTC 奖励
如上所述的内容,描述了奖励优化。
网络在没有不必要挖矿竞争的情况下保持抗审查能力
如上所述的内容,描述了抗审查能力。
这种设计是有意为之——通过让 stackers 作为互补的安全担保者并通过 PoX 获得 BTC 奖励,Stacks 达成了安全性,而无需过多数量的矿工仅为赢得区块生产权而竞争。
与仅由矿工单方面决定规范链的其他链不同,Stacks 的两方系统提供了更强的保证:
矿工不能强制引入无效的交易或区块(stackers 不会为其签名,即使签了,节点也不会接受)
没有矿工可以单方面重组链(stackers 控制链的确定性)
70% 的 stacker 阈值签名要求在区块被接受之前确保了广泛的一致性
矿工与 stackers 之间的这种职责分离使得即便矿工数量较少,Stacks 仍然具有独特的安全性。
微区块怎么办?
微区块是之前版本 Stacks 的遗留功能,现在已不存在。它们最初是为提高交易吞吐量而创建的,但在没有 Nakamoto 功能的情况下,它们在实践中从未起作用。
Nakamoto 使用了一种区块生产结构,如此处所述,以快速节奏创建 Stacks 区块,取代了微区块。
最后更新于
这有帮助吗?