比特币重组

在纳卡莫托模型下,由比特币分叉引起的 Stacks 交易不会产生有影响的重组。不仅重组相对少见,而且因比特币分叉而被重组的 Stacks 交易,其行为与被重组的比特币交易完全相同。经过未来的一些分析,纯粹在 L2 链上的交易有朝一日可能完全不受影响。

要理解这个概念,根本上就是要理解后纳卡莫托时期 Stacks 的最终性。

circle-info

在纳卡莫托模型下,Stacks 链不会自行发生分叉。它的设计是不会分叉的,只有特殊的例外情况,而且如果连 31% 的 Stackers(质押者)都不希望它分叉,那么 Stacks 自行分叉在现实中是完全不可行的,即便发生,也很可能只会在单个任期内发生。

后纳卡莫托时期唯一会导致 Stacks 分叉的情况是比特币的分叉使其分叉。

在纳卡莫托模型下,矿工不是竞争制作单个区块的权利,而是赢得制作一大批区块的权利,在此期间我们称他们处于“任期”之下。在一个任期内产生的每一个 Stacks 区块都需要至少 70% 的 Stackers 批准(签名)才能被包含到 Stacks 区块链中。Stackers 会监视比特币区块链,并且只会对赢得最新抽签的矿工产生的区块进行签名。

现在,假设比特币发生了重组,而 Stackers 刚好在观测的比特币分叉现在变成不再最佳的那条链。Stackers 基本上会回到他们所观测的分叉与新的最佳比特币分叉之间的最近一次共同抽签,并从那里开始对任期内的区块重新签名。注意 70% 的 Stackers 会同时做出相同的操作,一旦 70% 同意从新比特币分叉上的最近任期开始签名,就会出现一条新的、单一的最优 Stacks 区块链。

那么那些在被重组的任期内被确认的交易会怎样?什么也不会发生。它们仍然在内存池中,就好像被重组的任期从未发生过一样。对于 Stacks 区块链内的任何内容,一切都没问题。

这与比特币分叉重组比特币交易是 1:1 对应的。如果交易在链尖附近,你不应将其视为比特币上的最终交易;如果 Stacks 交易在任期尖附近,你也不应将其视为最终交易。

chevron-right重放交易hashtag

由于被包含在链上的任何 Stacks 区块都必须得到至少 70% 的签名者签名,因此至少 70% 的签名者会在比特币分叉导致 Stacks 重组前后知道链的状态。

这里有一个使得强制执行变得困难的陷阱:如果一笔交易依赖于也被重组的比特币区块链上的某些内容(例如一次 peg-in),那么该交易现在将变得无效。污染分析(taint analysis)就是试图回答“哪些交易以某种方式与现在已成为孤块的比特币区块链交互,从而在新链上使它们无效(被污染)”以及“哪些交易与现在无效(被污染)的交易交互,导致它们也现在无效”。这会产生级联效应,但要强制执行任何形式的重放,必须由 Stackers 和矿工识别出哪些交易可以被重放。

污染分析及随后对重放的强制执行可以在未来添加。

在第一次发布中,纳卡莫托明确将 Stacks 区块链与比特币区块链绑定,使得在任何给定时刻都只有一条与比特币绑定的最优 Stacks 分叉。这在任期尺度上与比特币区块链的行为完全 1:1 对应。

最后更新于

这有帮助吗?