产业气象站|这几种软分叉方式,你选择?,比特币要纳入Taproot升级

Taproot是一个旨在提高比特币隐私性及灵活性的拟议协议升级 , 目前该方案正处于开发的后期阶段 , BitcoinCore的贡献者一致认为 , Taproot升级将使得比特币受益 , 截至目前 , 该方案似乎也受到了更广泛的比特币生态的欢迎 。 因此 , Taproot很可能会被纳入BitcoinCore协议 , 而其它比特币提议也可能会随之推出 。
但仍有一个问题:比特币网络应该如何进行升级?Taproot是共识协议层的一个改变 , 这意味着比特币节点必须以某种方式从旧规则切换到新规则 , 并且要避免网络的分裂 。 由于各种原因 , 这在过去被认为是一个挑战 。
目前 , 比特币开发者们正在考虑改进激活协议升级的策略 。
产业气象站|这几种软分叉方式,你选择?,比特币要纳入Taproot升级
文章图片
以前的软分叉和BIP9
好消息是Taproot的实施会是一次软分叉 。 这种类型的升级增加或收紧了规则 , 而硬分叉则是删除或放松规则 。 添加或收紧规则的好处是 , 升级节点认为有效的任何内容 , 在非升级节点看来也会是有效的 。 (如果旧节点同时接受交易类型A和B , 但新规则只允许交易类型A , 则旧节点将在执行新规则的网络上保持兼容 。 )
比特币最早的软分叉是通过截止日(flagdays)机制激活的 。 开发者(特别是中本聪)在一个新的比特币软件客户端的代码中嵌入了一个未来日期 , 指定了升级后的节点将执行新规则的时间点 。 矿工和用户被鼓励在此日期之前升级 , 以避免网络分裂 。 (注:在那些日子里 , 矿工和用户往往是重合的 , 这与今天是不同的)
由于未升级的节点仍然与新规则兼容 , 因此软分叉的一个好处是 , 如果大部分算力强制升级 , 整个比特币网络会就其区块链版本达成共识 。 这也意味着 , 在实施新的协议规则时 , 不需要立即升级所有节点 , 从而允许用户具有一定的灵活性 。
自2012年左右以来 , 软分叉已越来越多地利用算力作为协调机制 , 以协调向新规则的转换 。 通过在区块中嵌入一些数据 , 矿工可以向其它矿工和网络的其余部分发出信号 , 告知他们已升级软件的信息 , 从而准备好实施新的规则 。 一旦有足够的算力信号支持 , 所有升级的节点都会被触发以执行新规则 。
经过几次升级 , 这一战略演变成BIP9(比特币改进提议) 。 例如 , BIP9就是用来激活比特币上一次隔离见证(SegWit)软分叉升级的机制 。 矿工们有一年的时间来启动升级 , 要求在任何难度区间内95%的区块都包含就绪信号位 。 如果一年后没有发生这种情况 , 激活期就会过期 , 升级就会失败 。 (当然 , 可以简单地再试一次)
然而 , 对于隔离见证(SegWit)来说 , BIP9的运行并不顺利 。 与以前的某些升级一样 , 有些矿工可能由于漠不关心而在一段时间内没有进行升级(通常没有太大的动力促使矿工快速升级) 。 但一个更大的问题是 , 一些矿工已开始将信号传递过程理解为一种对升级的投票 , 他们不会发出准备就绪的信号 , 而是就是否支持表示投票意见 。 更糟糕的是 , 一些矿工最终利用这一“投票权”阻止升级 , 以试图在比特币开发过程中获得政治影响力 , 或者他们可“投票”反对升级 , 以暗中获益 。
经过长时间的激烈争吵 , 隔离见证(SegWit)最终确实激活了 , 但只有在其他比特币客户端包含新的激活方案之后 。 一些用户运行的BIP148客户端中包含的BIP148 , 被编程为仅接受截止日(flagday)后支持协议升级的区块 。 同时 , btc1客户端中包含的BIP91 , 有效地将算力要求从95%降低到75% 。 面对潜在的网络分裂和可能的收入损失情况 , 一直在阻挠的矿工们让步了 。
但对于大多数BitcoinCore开发者来说 , BIP9已暴露出它是一个次优的解决方案 , 因此 , 开发者们已开始考虑替代方案 。
BIP8
BIP8是BIP9的早期替代方案 , 它是由BIP148的作者Shainfry和BitcoinKnots , 以及BitcoinCore贡献者Luke-jr提出的 , 它最初与BIP9相似 , 但关键的区别在于:一年后若算力支持不足 , 升级并不会因此失败 , 它会做完全相反的事情 , 即在那个时间点激活软分叉 。 与截止日(flagday)类似 , 所有升级的节点将从那时起开始实施新规则 。 而那些仍未能升级的矿工 , 其挖取的区块 , 将冒着被升级的矿工和用户拒绝的风险 。