挖矿

全貌
PoX 在每个比特币区块上随机选择单一领导区块矿工
PoX 激励矿工生成 STX 区块并获得 STX 奖励 + 交易费用
矿工发送 区块提交 在比特币 L1 上的交易。
区块提交包括:(区块哈希,VRF 种子)对
在每个比特币区块上确定但不可预测的赢家
PoX 通过 ATC-C 抑制比特币 L1 矿工干预
简介
Stacks 挖矿围绕一个简单但强大的思想构建:矿工花费比特币以获得生成新的 Stacks 区块的权利。Stacks 并未引入一个完全独立的共识机制,而是调整并扩展了比特币现有的工作量证明。从这个意义上说,Stacks 利用比特币的安全性和经济重量来保护构建在其之上的层。
当矿工在挖矿过程中提交比特币时,这些比特币并不会被销毁或浪费。相反,它被转移给 Stackers —— 锁定其代币以帮助验证和签署区块的 STX 持有者。这种从矿工到 Stackers 的比特币流动是 Proof of Transfer (PoX) 背后的核心创新。BTC 的“转移”将 Stacks 锚定到比特币的安全性,同时使矿工和网络参与者之间的激励保持一致。
挖矿流程分解
在之前的 Stacks 版本(Nakamoto 升级之前),Stacks 矿工会以与比特币区块一对一的节奏挖掘新的 Stacks 区块。经过 Nakamoto 升级后,情况不再如此。在 Nakamoto 规则下,矿工被选中担任与一个比特币区块对应的任期。在此任期内,矿工构建并提议多个 Stacks 区块(大约每 10 秒一次),并且 stackers 会批准并追加它们。

矿工运行启用了挖矿的 Stacks 节点以参与 PoX 机制。节点实现 PoX 机制,通过四个关键阶段确保适当的处理和激励:
注册:矿工通过向网络发送共识数据为未来的选举注册
提交:注册矿工转移比特币以参与选举。提交的 BTC 会发送给一组参与的 STX 代币持有者,即 stackers。
选举:可验证随机函数选择一名矿工作为新的任期,在 Stacks 区块链上写区块
组装:当选矿工通过从内存池拉取交易来写入新块,并以新的 STX 代币形式收取奖励
矿工选择流程
与 PoW 中的区块竞赛不同,Stacks 使用一种称为加密抽签的单领导选举过程。这是通过嵌入在比特币交易中的可验证随机函数状态来实现的。这反过来允许在每个比特币区块上产生确定但不可预测的获胜者。
什么是加密抽签?
加密抽签是使用密码学从一组中随机选择一个或多个实体的过程。这是一种去中心化且可验证的方式,用于为各种任务(如共识协议、彩票和拍卖)选择参与者。
更具体地说,在 Stacks 的背景下,矿工抽签是按权重进行的加密抽签过程,用于从矿工候选人中选出下一个矿工(领导者)。
首先,每个 Stacks 矿工必须在比特币交易中注册一个 VRF 公钥。一旦他们这样做,就可以发出 区块提交 在比特币上的交易。比特币上的区块提交交易包含:
(区块哈希,VRF 种子)对
这些区块提交交易不仅包含指向他们打算生成的区块流的指针,还包括重新播种下一次抽签所需的所有相关信息。矿工无法篡改 VRF 种子。这由以下属性强制执行:
VRF 种子 = hash(VRF 证明)
而且该 VRF 证明只能由矿工的 VRF 私钥生成。
要被考虑担任任期,矿工必须在一个比特币区块中包含区块提交。如果矿工希望在提交后更新其承诺,他们可以使用比特币的 Replace-By-Fee。
挖取下一个区块的概率
被选中挖掘下一个区块的矿工取决于矿工转移的 BTC 数量。矿工挖到下一个区块的概率是使用 Assumed Total Commitment with Carryforward (ATC-C) 的一种变体来确定的 MEV 将区块奖励分配给矿工的缓解策略。矿工赢得抽签并被授予当前任期的概率将基于一个考虑到在当前抽签之前所提交的区块提交总支出的函数。
虽然协议并未强制执行最低 BTC 提交,但在实践中存在由“尘埃”限制的下限:基本上,如果交易费用超过了所花费输出的价值,则被视为尘埃。如何 计算 取决于多个因素,我们发现每个输出 5,500 satoshi 是一个不错的下限。来自 Stacks 矿工的比特币交易包含两个输出(用于 Proof-of-Transfer),因此建议每个区块至少提交 11,000 satoshi。
要计算要发送的 BTC 数量,矿工应:
猜测下一天(100 个区块之后)BTC/STX 的价格
估算所有矿工提交的比特币总量
Stackers 负责验证和追加新块并执行矿工任期变更。下一节将解释其工作方式,然后我们将看到该过程如何导致比特币终结性。
区块提交交易(在比特币上)
矿工将比特币提交到 两个 地址在每笔领导者区块提交交易中。提交到每个地址的金额必须相同。地址从当前参与质押奖励集合中选择。地址是使用可验证随机函数选择的,确定给定区块的正确两个地址需要监控 Stacks 链。

矿工奖励
矿工为其赢得的任期接收 Stacks 区块的 coinbase 奖励。
奖励数额为:
在前 4 年中每个任期释放 1000 STX
接下来的 4 年每个任期释放 500 STX
随后 4 年每个任期释放 250 STX
此后每个任期无限期释放 125 STX。
这些“减半”与比特币减半同步。
交易费用
矿工还会获得他们生成的任何区块中所挖交易的 Stacks 费用。
奖励成熟期
区块奖励和交易费用在比特币区块链上需要 100 个区块才能成熟。成功挖到区块后,您的奖励约在 ~24 小时后出现在您的 Stacks 帐户中。
Stacks 挖矿的实际情况
如果您查看 SIgnal21 的挖矿仪表板,您可以查看有关 Stacks 网络挖矿的一些有趣数据,包括每个区块花费的 BTC、每个区块获得的 STX、链的历史中矿工的总数以及任何给定区块的矿工数量。
许多人注意到 Stacks 上看似较少的矿工数量。没有上下文,这有时会让人感到意外。让我们深入了解 Stacks 上的挖矿工作原理,以便我们理解这为什么不会对去中心化构成问题。
Stacks 矿工在功能上类似于 L2 系统中的排序者,因为他们只负责构建和提议新块,而不是将其追加到链上。但与大多数仅有单一集中式排序者的以太坊 L2 不同,Stacks 始终至少有 4-5 名开放成员资格的矿工,任何人都可加入。
重要的是要注意,在 Stacks 的区块生产过程中有两个主要参与方:矿工和 stackers。这两个角色在区块生产过程中互为补充,stackers 大大减少了矿工对链可能造成的破坏性权力。
矿工无法重组链。最坏的情况是,所有矿工最多只能省略(某些类型的)交易,而解决此问题所需的只是运行您自己的矿工。
此外,网络上更多的矿工意味着 stackers 可获得的 BTC 奖励更少,因为矿工将不得不把更多资金用于比特币 L1 费用,而不是发送给 stackers。
更多的矿工不会意味着更多的竞争,从而带来更多奖励吗?
更多矿工导致更少奖励的原因在于矿工会以经济理性的方式行事,他们可支配的 BTC 并非无限。
矿工为争取赢得 coinbase(1,000 STX)加任期内的费用而支付他们的 PoX 承诺以及比特币费用。如果矿工数量更多,他们每人支付的会更少,因为他们赢的概率更低。他们不能不断增加支付的 BTC 数量,因为在某个点上这将不再有利可图,所以他们为争取任期所能支出的 BTC 有上限。
随着他们支付减少,比特币费用在其开支中所占比例变得更大,这也降低了他们赢得任期的几率。
这里有一个具体示例:
假设 Stacks 以每 STX 1,000 sat 的价格交易。
如果所有矿工都理性行事并且忽略 Stacks 费用,那么来自所有矿工的总支出将少于 1,000,000 sat(1,000 STX coinbase * 1000 sat/STX)。
如果这是来自 5 名矿工,那么可能有 10,000 sat(每笔交易 2,000 sat)用于比特币费用,990,000 sat 用于 PoX。
如果有 100 名矿工,那么将有 200,000 sat 用于比特币费用,800,000 sat 用于 PoX。
这会产生一个自然的经济均衡:
足够的矿工参与以确保区块可靠地产生
Stackers 收到最佳的 BTC 奖励
网络在没有不必要的挖矿竞争的情况下保持抗审查性
这一设计是有意为之——通过让 stackers 作为互补的安全担保人并通过 PoX 获得 BTC 奖励,Stacks 在不需要大量矿工单纯为赢得区块生产权而竞争的情况下实现了安全性。
与仅由矿工单方面决定规范链的其他链不同,Stacks 的双方系统提供了更强的保证:
矿工无法强制执行无效的交易或区块(stackers 不会签署它们,即使签署,节点也不会接受)
没有矿工可以单方面重组链(stackers 控制链的终结性)
70% 的 stacker 阈值签名要求在区块被接受之前确保持广泛共识
矿工和 stackers 之间的这种职责分离使得 Stacks 即使矿工数量较少也具有独特的安全性。
微区块发生了什么?
微区块是以前版本 Stacks 的遗留功能,现在已不存在。它们最初被创建为提高交易吞吐量的一种方式,但在没有 Nakamoto 功能的情况下,它们在实践中从未奏效。
Nakamoto 使用一种区块生产结构来以快速节奏创建 Stacks 区块,如此处所述,取代了微区块。
比特币 MEV 缓解
可被矿工提取的价值(MEV)长期以来一直是许多区块链的问题,包括 Nakamoto 之前的 Stacks。
MEV 指的是矿工在他们生成的区块中,通过操纵交易的包含和排序所能提取的潜在利润,这可能导致不公平的做法并降低网络信任。
具体到 Nakamoto 之前的 Stacks 版本,拥有显著比特币算力比例的比特币矿工能够审查其他 Stacks 矿工的提交交易,从而确保他们能够赢得那些他们作为比特币矿工同时也是比特币区块赢家的 Stacks 区块的奖励和费用。
Nakamoto 系统使用 Assumed Total Commitment with Carryforward (ATC-C) 的一种变体 MEV 作为将区块奖励分配给矿工的缓解策略。矿工赢得区块并被授予当前任期的概率将基于一个考虑到在当前区块之前的区块提交总支出的函数。

ATC 解决方案允许某个区块没有有效赢家的情况。TenureChange-Extend 交易缓解了因错过区块而导致的大部分不利影响。
附加资源
[Stacks YouTube] Stacks 与 比特币 矿工的关系
[Stacks YouTube] 长期安全预算与比特币矿工激励
最后更新于
这有帮助吗?
