比特币需要通用的选择重播保护

SegWit2x被取消了,到目前为止比特币空间中最激烈的“战斗”可能即将结束。从这场考验以及比特币周围发生的其他一些问题中可以汲取许多教训 – 社区中的“共识”是什么,将来福利将如何处理等等。我目前没有看到过的一个重要方面就是持续出现的防叉重放保护问题 – 这一特性引起了一些争议,因为它在SegWit2x中缺席,并且当他们为非常接近的比特币创造了一笔赏金时,比特币金币成了笑柄到他们的分叉日期。

SegWit2x被取消了,到目前为止比特币空间中最激烈的“战斗”可能即将结束。从这场考验以及比特币周围发生的其他一些问题中可以汲取许多教训- 社区中的“共识”是什么,将来福利将如何处理等等。我目前没有看到过的一个重要方面就是持续出现的防叉重放保护问题 – 这一特性引起了一些争议,因为它在SegWit2x中缺席,并且当他们为非常接近的比特币创造了一笔赏金时,比特币金币成了笑柄到他们的分叉日期。

强大的vs选择重播保护
强大和选择重播保护之间存在重要区别。当发生fork时,前者始终打开并防止fork的一侧的任何事务在链的另一侧有效。例如,比特币现金具有强大的重播保护功能。

另一方面,选择加入重放保护是可选的 – 您可以创建一个在分支的另一侧无效的事务,但您也可以进行双方都有效的事务。

当您想要从主链中拆分并保持独立项目时,强重放保护非常有用。但是,当您提出的更改旨在升级到当前代码而不是分支到新项目时,这可能是有害的。这就是SegWit2x 没有选择重播保护的原因 – 它本来是对比特币项目的升级,是唯一使用的版本。实现这一目标的唯一方法是使分叉的两侧共存很难。

选择加入重放保护的问题
虽然选择重播保护听起来像是正确的方法,但有一个重要的问题需要考虑 – 如何以适用于所有未来分叉的方式实施?

在一个完美的世界中,每个分支都将得到精心维护,并确保其选择性重播保护创建仅在其自己的链上有效的交易。然而,正如比特币黄金和其他项目已经证明的那样 – 我们不能依靠分叉得到妥善管理。因此,我们需要一种通用的选择重放保护,这种保护对任何未来的分叉都是不可知的(即使那些不遵守任何重放保护的那些)并创建仅在一个链上有效的交易。

通用选择重播保护
从主项目分离的分支可能是由协议的任何更改引起的。除了一个区块链历史之外,没有通用的方法可以提前区分分叉的两侧。你可以模仿代码的任何东西,甚至假装是一些不同的客户端,但是在某些时候,区块链会分歧 – 否则,我们不会处理一个分支。完成后,数据可用于实现重播保护。

如果可以标记一个事务只有在区块链中存在给定的块哈希才有效,这足以确保它总是可以安全地在将来可能发生的任何分支上移动硬币。

如果fork的两侧都尊重该标志,则只有一方将包含该块中的事务。在两侧都这样做,硬币可以安全地用在分叉的两侧。

如果只有分叉的一侧尊重旗帜,那么重播保护仍然可以工作,尽管有一些限制。您需要创建一个事务,其中链上的标志不符合它。这种方式链将在其区块链中包含事务,但主链将拒绝它,因为它不会识别块哈希。确认第一笔交易后,将硬币花在分叉的另一侧是安全的。

结论
即使只有给定fork的一侧将遵守其规则,也可以实现通用的选择重放保护,该保护仍然有效。这应该足以在将来可能存在比特币分叉的情况下保护一个比特币。

拟议的实施相当简单和优雅。我想到SegWit2x一段时间后想出了这个想法,但当我发现其他人已经在一年前提出它作为BIP115时,我感到非常惊喜:)。它还不是主代码库的一部分,但也许在下一个分支滚动时,我们将有一些东西来保护我们的比特币……

提示:投资有风险,入市需谨慎,本资讯不作为投资理财建议。请理性投资,切实提高风险防范意识;如有发现的违法犯罪线索,可积极向有关部门举报反映。
你可能还喜欢