Taproot更新:比特币用户进入激活计划,日期仍待定
许多比特币最活跃的利益相关者刚刚敲定了Taproot的激活方法,这是比特币软件多年来最大的升级。
在周二举行的互联网中继聊天(IRC)公开会议上,比特币开发者、矿工、商业专业人士和爱好者详细讨论了如何将Taproot升级打包为更新,以及如何在代码发布后激活它。
在大约200名参与者中,最活跃的(大部分,但不是全部,是开发者)似乎同意使用BIP来激活Taproot。为了准备给BIP升级,他们还投票决定在GitHub上“合并”两个“拉取请求”(PR),当推动升级的时候,将Taproot的激活逻辑的规则纳入比特币的源代码。
其中一个PR #1021,包括一项措施,允许用户在矿工不支持的情况下强制激活升级,而PR #1020只“推荐”这种强制,但默认情况下不启用。由于大多数与会者都支持不强制激活BIP 8,正如会议领导人和比特币核心开发者Michael Folkson在聊天中指出的那样,进一步的讨论将确定开始激活的日期,并进一步讨论强制激活的“标志日”的必要性。
为什么不需要Taproot标志日
根据F2Pool副总裁Alejandro De La Torre进行的一项调查,矿工阻止升级并不是问题,Taproot拥有91%的矿工支持。
该调查为比特币的去中心化组织提供了来自矿工的关键反馈,该组织不能像中心化软件供应商那样单方面协调更新。像Taproot这样的升级需要矿工、全节点用户(运行比特币的开源代码)和其他利益相关者之间进行艰苦的协调,以确保不会出现任何问题(比如引入漏洞或将比特币网络分成两个不兼容的版本)。
因为矿工没有表现出对Taproot的抵抗,大多数参与者表示偏爱BIP8 (false), (false)指排除“标志日”,如果升级由于缺乏矿工激活而失败,则将其强制通过整个节点进行激活。
按照目前的设计,BIP8将给比特币矿工和全节点运营商一年的时间来采用升级,之后升级将得到足够的支持。在其中一个版本BIP8 (false)中,如果没有足够的支持,更新就会失败。在另一种情况下,BIP8 (true)中,“标志日”将迫使矿工在激活时间到期时发出升级信号,如果他们没有提前这样做。
技术提示:有几种方法可以升级比特币,最简单的是通过矿机激活,在新规则下,矿池升级并开始挖出区块。如果做不到这一点,节点操作员可以升级并选择拒绝来自未表示支持升级的矿工的块。这种所谓的“用户激活软分叉”(UASF),也被用来激活SegWit,将迫使拒不让步的矿工采用新的升级。
willcl_ark在谈到是否有必要设立标志日时表示:“完全是传闻,但我没有看到他们对Taproot的任何反对。”“我认为使用激活参数的最小公分母(false)似乎是一个明智的选择,可以避免矿工在没有发出信号的情况下发生任何有意或无意的链断裂。”
有什么阻碍?
还有一些人,比如多产的比特币核心开发者Luke Dashjr,并不认为加入标志日是没有必要的。事实上,节点操作员决定软件,而不是矿工决定软件,这是一个原则问题。
“没关系,”他在谈到矿工支持时说。“矿工并不能决定协议的改变,”他继续说道,暗示节点运营商通过选择运行什么软件来决定。此外,他支持BIP8(false),“让矿工决定”升级的命运。他在稍后的聊天中说,当时机到来时,他将配置他的节点来运行BIP8 (true)版本,该版本拒绝来自矿工的非Taproot块。
hsjoberg表示:“强制激活BIP8并不是不必要的武力展示,”并重申了Dashjr的信念,即用户选择UASF是对矿工冷漠的必要制衡。
尽管如此,武力展示可能会带来不必要的风险,并为未来的升级审议设立一个不受欢迎的先例,特别是当矿工们没有给用户任何理由去战斗的时候,所以支持BIP8的论点(false)。
Bitcoin Core和CoinSwap的开发者Chris Belcher表示:“[BIP8 false]比[true]更安全,所以值得首先做[false],因为我们知道哈希率约90%已经支持Taproot。”
其他一些人,如Suredbits和Bitcoin Core开发人员Ben Carman指出,您可以在稍后将升级配置为激活,以包括矿工没有发出信号的标志日,“让用户更安全、更容易地执行UASF。”
在会议结束时,与会者同意将GitHub上的pull请求合并为非强制激活路径(PR #1020)和强制激活路径(PR #1021)。在比特币核心的GitHub上有这两个规则,强制激活的规则只能在必要时使用。
更多的考虑
willcl_ark描述的链拆分场景基本上是每个人都想避免的。令人担心的是,BIP8 (true)需要100%的哈希率在Taproot激活截止日期结束后发出升级信号。因此,如果足够多的用户同时使用这种方式,其他人使用BIP8 (false)进行非强制激活(只需要95%的哈希率),两个不同的代码版本可能会创建两个不兼容的比特币交易账本历史。
这就是为什么,如果必须进行强制信号传输,最好通过AJ Townes的PR #1021来进行,这“使UASF选项更安全,这是最‘危险’的情况,”Carman在聊天中写道。
目前来看,那些参与的人员似乎都喜欢BIP8 (false,并在需要时通过PR#1021添加UASF,但还需要进一步讨论敲定初始激活的确切时间表(或用户必须升级后多久更新上线),以及激活日期设置。
这些“假设”和“何时”等问题将在下周三的会议上进行讨论。