Taproot是一项提议的协议升级,它将改善比特币的隐私和灵活性,目前尚处于开发的后期阶段。比特币核心贡献者同意升级将使比特币受益,到目前为止,它似乎也普遍受到更广泛的比特币生态系统的欢迎。因此,Taproot可能会进入比特币核心版本,其他比特币实现也可能随之而来. 但是仍然存在一个问题:比特币网络本身应该如何升级? Taproot是共识协议的更改,这意味着比特币节点必须以某种方式从旧规则切换到新规则,而又不将网络分成执行不同规则的派系。由于各种原因,在过去有时证明这是一个挑战. 现在正在考虑采用改进的策略来激活协议升级. 以前的软叉和BIP 9 好消息是Taproot将是一个软叉。这种类型的升级会增加或收紧规则,而不是像硬叉那样删除或放松规则。添加或加强规则的好处是,升级节点认为有效的任何内容,未升级节点认为有效的任何东西。 (如果旧节点同时接受事务类型A和B,但新规则仅允许事务类型A,则旧节点将在执行新规则的网络上保持兼容。) 比特币最早的软叉是在卖旗日激活的。开发人员(特别是中本聪)在新的比特币软件客户端版本的代码中嵌入了将来的日期,并指定了升级节点将执行新规则的时间点。鼓励矿工和用户在该日期之前进行升级,以避免网络分裂。 (顺便说一句,在那些日子里,矿工和用户比今天更像是同一个人。) 由于未升级的节点仍与新规则兼容,因此,软分叉的一个方便好处是,如果大多数散列功能强制执行升级,则整个比特币网络都将在其区块链版本上达成共识。这也意味着在实施新协议规则时,迫切需要立即升级所有节点,从而为用户提供了一定的灵活性。 (尽管仍然鼓励用户进行升级;他们最终是通过拒绝交易和破坏交易规则的块来强制执行新规则的用户。) 自2012年左右以来,软叉已越来越多地利用散列功能作为协调机制以协调向新规则的转换。通过在他们的块中嵌入一些数据,矿工可以向其他矿工和网络的其余部分发出信号,告知他们他们已升级软件,从而可以执行新规则。一旦有足够的散列功率信号支持,就会触发所有升级的节点以强制执行新规则. 经过几次升级,该策略演变为比特币改进提案9(BIP 9)。例如,BIP 9是用于激活比特币上次软叉升级的机制,即隔离见证(SegWit)。矿工需要一年的时间来激活升级,要求在任何难度间隔内的95%的区块都包含准备就绪信号位。如果一年后仍未发生,则激活期将到期,升级将失败。 (然后当然可以再次尝试。) 但是,对于SegWit而言,BIP 9的运行并不顺利。与以前的某些升级一样,一些矿工可能由于冷漠而无法进行升级:通常没有很大的动力促使矿工快速升级。但是一个更大的问题是,一些矿工已经将信号处理过程理解为对升级的一种投票,他们会(或不会)发出信号表示对升级的支持,而不是表示已准备就绪。更糟糕的是,一些矿工最终使用此“投票”来阻止升级,以试图在比特币开发过程中获得政治影响力,和/或他们“投票”反对升级,以暗中受益于比特币的怪癖。升级将修复的协议. 经过长时间的激烈争吵,SegWit最终确实激活了,但是只有在替代的比特币客户包括了新的激活方案之后。一些用户运行的BIP 148客户端中包含的BIP 148被编程为仅接受标志日开始支持协议升级的块。同时,BTC 91(包含在btc1客户端中)由矿工在BIP 148卖旗日之前运行,有效地将哈希功率要求从95%降低到75%。面对潜在的分裂网络和可能的收入损失,受阻矿工承认。但是对于大多数比特币核心开发人员来说,BIP 9证明自己是次优的解决方案,他们开始考虑替代方案. BIP 8 BIP 8 是BIP 9的早期替代方案,由BIP 148作者Shaolinfry and Bitcoin Knots和Bitcoin Core贡献者Luke-jr提出。它最初类似于BIP 9,但是有一个关键的区别:不是在一年没有足够的散列功率支持后升级失败,而是这样做了,并在那个时间点激活了软分叉。类似于卖旗日,所有升级后的节点将从那时起开始执行新规则。仍未能升级的矿工可能会冒险挖掘已升级的矿工和用户拒绝的挖矿区块. BIP 8背后的主要思想是-当然,假设用户进行了升级-矿工无法阻止软分叉,因此无法利用这一杠杆来谋取利益。他们可以加快激活速度并帮助协调平稳的协议升级,但是即使他们自己不激活升级,升级也最终会发生. BIP 8的最新草案包括一些显着变化。例如,当信令周期即将到期时,BIP 8允许为节点配置两种不同的策略:如前两段所述,强制激活,或者像BIP 9一样不强制激活。升级本身时,节点(如果已配置)实际上会执行升级信号。然后,拒绝表示不支持升级的块,因此至少在升级后的节点上仍可以保证升级。这两个更改的组合具有一个有趣的特性,即如果所有比特币散列功能中的大多数被迫发出信号表示支持升级,那么即使未配置为强制执行信号发送的BIP 8节点也将随升级一起进行. 反对BIP 8(特别是其强制信号传递(或自动激活))的论点是,它可能具有风险,尤其是在较短的时间范围内。如果多数哈希算力和至少一些用户没有升级,则此方案可能会在升级和未升级节点之间划分网络。假设大多数用户支持升级,则最终可能会偏向于网络的升级部分。但是,未升级的用户在此期间可能会遭受资金损失的风险,而未升级的矿工则会浪费哈希功能,从而损害比特币的安全性. 通过提供足够的升级时间,可以最好地解决这种风险。不幸的是,并不是每个人都同意多少时间就足够了。一些人认为强制信号传输可能在一年内开始,其他人则认为这需要花费几年时间. BIP 8的另一个复杂功能是为强制信令设置默认值。如果默认情况下关闭了强制信令,则用户可能会发现自己不协调,从而增加了网络分裂的风险。另一方面,如果在比特币核心版本中将强制信令选择为默认,则历史上广泛采用的比特币核心实际上保证了升级将会发生。一些人认为,这会使比特币核心开发人员对比特币的协议规则产生太大的影响。 BIP 8的合著者Luke-jr希望BIP 8仅通过特殊的客户端进行部署,类似于BIP 148客户端. 其他人则认为,Bitcoin Core开发人员始终会根据自己的最佳判断发布软件,同时牢记用户需求并避免有争议的升级。设置BIP […]

More