比特币定局性(最终性)
100% 比特币终结性(finality)的概念对于 Stacks 的设计至关重要。这正是将 Stacks 转变为真正的比特币 L2,并使其能够利用比特币固有的全部安全性的原因。
终结性指的是交易变得不可逆的那个点。一旦区块链达到终结性,在没有采取通常在计算和经济上都不可行的非常规手段的情况下,几乎不可能更改分类账的历史。
当我们说 Stacks 区块具有 100% 比特币终结性时,我们的意思是它们被撤销的难度与比特币交易本身一样高。
这是一个大胆的说法,那么 Stacks 是如何实现这一点的?
如上所述,矿工负责在其任期内产生 Stacks 区块,任期对应一个比特币区块。作为其区块提交交易的一部分(该交易此前将下一个 Stacks 区块的哈希提交到比特币链),矿工将被要求改为添加一个有索引的区块哈希。
该有索引的区块哈希是最后一位在其任期内产生第一个区块的 Stacks 矿工所产生区块的哈希。它是先前被 Stacks 识别的所有已接受比特币交易的共识哈希以及该区块本身哈希的 SHA512/256 哈希。
这将把 Stacks 链的历史锚定到比特币,直到上一个矿工任期开始的位置,以及 Stacks 已处理的所有因果相关的比特币状态。这确保了比特币终结性,通过将分叉预防放在堆栈者(stackers)上来解决矿工连接性问题,并允许拥有最新 Stacks 链状态副本的节点识别哪些 Stacks 区块受到比特币重组的影响并恢复受影响的 Stacks 交易。
堆栈者、矿工、比特币区块和 Stacks 区块之间的这种关系在允许矿工快速产生 Stacks 区块的同时维护了比特币终结性。比特币终结性之所以实现,是因为在每个比特币区块 N + 1 时,任期开始时的 Stacks 链状态会写入比特币。即使将来所有前堆栈者的签名密钥都被攻破,他们也无法在不重写比特币历史直到任期 N + 1 的情况下重写任期 N 的 Stacks 历史。
因此,Stacks 交易可以被视为在其所属任期结束或比特币区块 N + 1 后具备比特币终结性。例如,如果我发起一笔被 Stacks 矿工确认的 Stacks 交易,在该矿工任期结束(当前比特币区块结束)时,该交易将作为 Stacks 链状态的一部分写入比特币,所有未来矿工都必须基于该链尖构建,使得撤销该交易的难度与撤销相应比特币交易的难度相当。
中本聪交易与比特币重组
如果中本聪交易遵循比特币终结性,若比特币发生分叉会怎样?
为了解答这个问题,我们需要区分两类 Stacks 交易:依赖比特币的交易和内部交易。
关键结论如下:
在中本聪 Stacks 下,交易不会因比特币分叉而产生有影响的重组。不仅重组相对罕见,而且因比特币分叉而在 Stacks 上被重组的交易的表现与被重组的比特币交易相同。经过未来进一步分析,纯粹在 L2 链上的交易有一天可能完全不受影响。
最后更新于
这有帮助吗?