请选择 进入手机版 | 继续访问电脑版
彩云比特
摘要

之前说过软分叉升级规范BIP9,BIP9可以说是经过良好设计的软分叉升级方案,可同时进行多个分叉的升级并且流程也很科学合理。 BIP9简单回顾一下BIP9的主要特性: 95%的高投票阈值,块投票必 ...

之前说过软分叉升级规范BIP9,BIP9可以说是经过良好设计的软分叉升级方案,可同时进行多个分叉的升级并且流程也很科学合理。


BIP9
简单回顾一下BIP9的主要特性:


95%的高投票阈值,块投票必须达到95%以上的支持率才能进入锁定期,然后触发激活。
设定了投票时间窗口,有起始、终止时间,在窗口期内未激活的软分叉只能终止或者重新设定发起新一轮投票。
块时间采用相邻11个块的块中位数时间。


BIP9截止到当前(2019年02月)共使用过两次:


CSV(BIP68, BIP112, and BIP113)
SegWit(BIP141, BIP143, and BIP147)


在CSV软分叉中进展一切正常,但SegWit软分叉中却在投票阶段延迟了大半年,块投票一直无法达到95%的激活阈值,以至于后来出现了BIP148(即UASF,user-activated soft fork)和BIP91。SegWit在BIP9中设定的时间区间是:2016年11月15日~2017年11月15日。


这里我们稍微说一下BIP148和BIP91,只有理解了这个过程才能理解为何会有BIP8(这些事情其实已经发生挺久了,2017年中,快两年前的事情了)。值得一提的是,BIP148和BIP91的代码,从来没有进入Bitcoin Core版本的代码库。
BIP148
BIP148,更熟悉的名称是UASF,目的是强制性进行激活SegWit:若块时间处于2017年08月01日与2017年11月15日,且SegWit尚未激活或没有进入锁定期,则直接拒绝不支持SegWit投票的块。BIP148通过用户自行更新代码,下载Bitcoin Core的代码然后打补丁的方式,来声明和实施。


UASF是非常激进的升级方式,直接抛开了矿工算力的投票,不管算力是否投票支持SegWit,这些UASF全节点到时候会直接抛弃掉非SegWit的块。这在当时还非常认可矿工和算力的时代,对于矿工和算力来说简直是晴天霹雳:直接撇开了!


当然,很多交易所对这一事件进行了预演:假设分叉会发生,并上市了推演分叉后的两个币种期货,把价格交给市场去判断。


BIP91
BIP91,目的是也是激活SegWit,通过降低SegWit激活阈值至80%来间接完成,其自身采用类似BIP9的方式进行部署:


激活时间区间是:2017年06月1日 ~ 2017年11月15日。
块时间窗口非常短,不再是BIP9中的2016个块,而是336个块,大约2.33天。
激活阈值为80%,不再是BIP9的95%。


BIP148(UASF)直接撇开矿工由全节点直接激活,而BIP91依然把选择权给了矿工:通过块投票进行激活。最终,由UASF主导的强大社区压力下,BIP91很快通过80%的块投票阈值进入锁定并激活了。BIP91一旦激活,则意味着后面的块必须进行支持SegWit投票,间接促成了SegWit通过95%的块投票阈值并锁定激活了。


以上即是SegWit激活受阻大半年后,UASF&BIP91间接促成SegWit激活的历史过程。


BIP8
BIP8是在BIP9基础之上的改进:


采用更加精确的块高度窗口代替块时间窗口,消除了块时间的不稳定性。
统计周期依然是与BIP9一致的2016个块。
几乎不再有失败的状态,除非编码之初设定的高度已经是过去高度。
设立激活起始块高度,一旦当前高度大于起始块高度,则开始计算是否激活。起始块高度必须超过当前高度4320个块,约30天。
设立截止块高度,无论投票是否通过,都在截止块高度达到时进行强制激活。截止高度通常是起始高度的52416块之后,约一年。
在抵达截止块高度前,若投票超过阈值,阈值与BIP9一致为95%,则提前进入锁定期并随之激活。

076.png




总结,如果某个软分叉遵循BIP8激活机制的话,一旦部署了,那么矿工可以进行投票提前激活,或者在一年后的截止高度抵达时自动激活。


BIP8的主要意义

●  取消了矿工的否决权:要么投票主动提前激活,要么不投票被动等抵达截止高度自动激活。
Vote转变成Signal。
算力大小是价格高低的结果,严格来说是链的法币日产量决定算力规模。
价格由市场供需决定,体现为共识主导价格。
社区的决策机制发生了根本性改变:从小圈子投票变成了一定程度上的普选。
无论是算力投票还是持币投票,由于存在中间代理层(例如矿池、交易所、钱包等),均无法避免最终沦为一定程度上的小圈子投票。
一个全节点即一张选票,全节点构成最广泛的共识。
全节点一方面制约着算力,另一方面也制约代码。无论是矿霸还是码霸,均无法强制约束全节点的行为。


后记
从中本聪白皮书时代以来,大多数人坚信着“One CPU One Vote”的民主观念,在经历了2017的SegWit激活历程后,其中还硬分叉诞生了Bitcoin Cash(BCH),终于得到脱胎换骨的革新。大家发现只有全节点才是最终的堡垒和武器,运行全节点是平等自由的互联网所赋予的谁也剥夺不了的权利。




参考


BIPs
https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0008.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0148.mediawiki
https://github.com/bitcoin/bips/blob/master/bip-0091.mediawiki


来源:比特币实验室

全部评论
显示全部楼层 |
跳转到指定楼层

1

主题

6

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2019-2-12 17:16:03 | 显示全部楼层
沙发
感谢您的科普,让我懂得了更多。
回复 支持 反对

使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册    

    本版积分规则

    qq客服QQ
    weixin微信公众号
    weibo官方微博
    滇ICP备14007133号-1 滇公网安备 53011102000197号   
    快速回复 返回顶部 返回列表