比特币隔离见证(SegWit)分叉问题进入关键时期(2017年7月14日开始)

in #cn7 years ago

原文地址: https://bitcoinmagazine.com/articles/countdown-segwit-these-are-dates-keep-eye/
原文会持续更新,本文只针对其7月6日版本进行翻译编辑

翻译: Niking

比特币旷日持久的扩容争论已经到了非常关键的阶段。最热门的两个扩容方案BIP418以及SegWit2x都希望在一个月内激活隔离验证,也就意味着隔离见证最快可以在两个月内部署。

同时,这将造成非常现实的比特币分叉风险。这两个方案有可能从现有比特币协议中分叉出来,甚至产生更多的分叉。这里我将列出几个关键的时间点让大家留意。

回顾:激活隔离见证
首先,我们简单的回顾一下隔离见证,以及其激活的方法。
隔离见证是由Bitcoin Core团队最先提出的一个向后兼容的协议升级。自从2015年12月提出后,一直是Core团队所支持的升级路线的重要组成部分,同时该协议已经部署在许多现有的比特币节点中了。隔离见证现在也是纽约共识的组成部分:另一个被许多比特币公司和矿工所支持的升级路线。根据第148号比特币改进计划(BIP148),一个UASF(由用户激活的软分叉)分叉将在8月1号激活,同样旨在激活隔离见证。

这就是一切问题的根源 - 关于如何激活隔离见证。

最初的激活意见也是由Bitcoin Core团队提出的,在BIP141中是这样定义的:“在2017年11月15日前的任意一个难度周期(约两周)内,如果有95%的算力发出准备就绪信号的话,隔离见证将被激活”,这个触发条件的设计初衷认为,当条件满足激活时,激活对比特币造成分叉的可能性是最低的。

但是,现在只有不到45%的算力发出了BIP141准备就绪的信号。这就是为什么一部分比特币用户,准备使用BIP 148的UASF(用户激活的软分叉)来激活隔离验证。从8月1日起,这些BIP148的节点将拒绝所以没有发出BIP 141准备信号的区块(Block)。如果这个方案被大多数矿工(算力)支持的话,并继续选择最长链进行挖矿的话,隔离见证将被顺利激活,分叉也将避免。 如果这个方案只有少数矿工接受的话,那么BIP148将被单独分叉出来。

而纽约共识(也就是SegWit2x),准备通过BIP91来激活隔离验证。而BIP91的做法是这样的,当连续两天内有80%的算力发出支持BIP91的信号的话,所有的BIP91节点将拒绝所有不含BIP141准备信号的区块。同样,也旨在降低分叉的可能。

然后,纽约共识的下一步计划,就是通过一个硬分叉把区块大小从当前的1MB增加至2MB。而这个方案首先与隔离见证的初衷违背(解决区块拥堵),而且并不是向后兼容的升级,因此也可能导致新的分叉。

BitcoinMagazine.com列出了了一个时间表:
Segwit-Time.jpg

7月14日,BTC1开始部署
BTC1是一款6月30日发布的客户端软件,是从Bitcoin Core代码中按照纽约共识的结果修改过的。根据SegWit2x的路线图,所有在纽约共识的签署方都应该安装BTC1并开始测试。这并不会对普通用户造成任何影响。

7月21日,BIP91开始发出信号
SegWit2x的开发团队把BTC1节点的上线运行的时间定在了7月21日,这时矿工应该开始发出BIP91的信号。
这个改变也不会对普通用户造成影响。

7月23日,BIP91开始投票
BIP91的激活,要求制定的336个区块里面的至少269个区块需要包含BIP91的准备信号。这就意味着在80%的算力在2.3天内表决了同意BIP91。根据SegWit2x的计划,BIP91的投票区块最早会于7月23日开始。

7月25日,BIP91可能被激活
从7约25日开始,另外一组336个区块会被锁定,同时BIP91可能已经在这时生效了。在这个时候,所有不包含BIP141信号的区块都会被抛弃。
这个也改变也不会对普通用户造成影响。

7月29日,BIP91截止日
如果比特币矿工想避免一个分叉的出现,7月29日是第一个截止日。
为了兼容BIP148的激活,在这天BIP91应该被激活,而且应该越早越好,否则分叉的风险就越来越大。
如果BIP91没有被按时激活,那么比特币已经在前往分叉的路上了。

这时,无论你是一个普通用户,还是一个矿工,都应该开始考虑一下选择BIP148的比特币,还是原链比特币了。不过这是另外一个话题了。

7月31日,BIP141截止日
从技术上来讲,这时矿工避免分叉的第二个截止日。要么BIP91被激活,要么就是BIP141已经被锁定。换句话说,就是如果BIP91没有按时被锁定,现在的95%的算力应该已经发出支持BIP141隔离见证的信号。

8月1日,BIP148激活
BIP148会在这天被激活,这也是矿工避免分叉的最终截止日。在8月1日 UTC 00:00的时候,所有BIP148节点会开始拒绝所有没有BIP141的区块,这时候如果BIP91或者BIP141任意一个被激活或者锁定,那么分叉就被成功避免了。

如果上述的情况都没有出现,那么避免分叉的唯一方法就是切换到BIP148,这样矿工会继续挖最长链并且会通过BIP141激活隔离验证。

如果上述方案任何一个都获得不了足够的算力支持,那么分叉就无法避免了。

//译者按:根据Coin.dance的节点统计资料,截止今天7月7日,已有86%的算力支持SegWit2x (BIP91)