巴位元專欄 | 談談軟分叉升級規範BIP8-後礦工時代的軟分叉方式
之前說過軟分叉升級規範BIP9,BIP9可以說是經過良好設計的軟分叉升級方案,可同時進行多個分叉的升級並且流程也很科學合理。
BIP9
簡單回顧一下BIP9的主要特性:
1、95%的高投票閾值,塊投票必須達到95%以上的支援率才能進入鎖定期,然後觸發啟用。
2、設定了投票時間視窗,有起始、終止時間,在視窗期內未啟用的軟分叉只能終止或者重新設定發起新一輪投票。
3、塊時間採用相鄰11個塊的塊中位數時間。
BIP9截止到當前(2019年02月)共使用過兩次:
1、CSV(BIP68, BIP112, and BIP113)
2、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的方式進行部署:
1、啟用時間區間是:2017年06月1日 ~ 2017年11月15日。
2、塊時間視窗非常短,不再是BIP9中的2016個塊,而是336個塊,大約2.33天。
3、啟用閾值為80%,不再是BIP9的95%。
BIP148(UASF)直接撇開礦工由全節點直接啟用,而BIP91依然把選擇權給了礦工:通過塊投票進行啟用。最終,由UASF主導的強大社群壓力下,BIP91很快通過80%的塊投票閾值進入鎖定並激活了。BIP91一旦啟用,則意味著後面的塊必須進行支援SegWit投票,間接促成了SegWit通過95%的塊投票閾值並鎖定激活了。
以上即是SegWit啟用受阻大半年後,UASF&BIP91間接促成SegWit啟用的歷史過程。
BIP8
BIP8是在BIP9基礎之上的改進:
1、採用更加精確的塊高度視窗代替塊時間視窗,消除了塊時間的不穩定性。 2、統計週期依然是與BIP9一致的2016個塊。 3、幾乎不再有失敗的狀態,除非編碼之初設定的高度已經是過去高度。 4、設立啟用起始塊高度,一旦當前高度大於起始塊高度,則開始計算是否啟用。起始塊高度必須超過當前高度4320個塊,約30天。 5、設立截止塊高度,無論投票是否通過,都在截止塊高度達到時進行強制啟用。截止高度通常是起始高度的52416塊之後,約一年。 6、在抵達截止塊高度前,若投票超過閾值,閾值與BIP9一致為95%,則提前進入鎖定期並隨之啟用。
BIP8 States
總結,如果某個軟分叉遵循BIP8啟用機制的話,一旦部署了,那麼礦工可以進行投票提前啟用,或者在一年後的截止高度抵達時自動啟用。
BIP8的主要意義
1、取消了礦工的否決權:要麼投票主動提前啟用,要麼不投票被動等抵達截止高度自動啟用。
- Vote轉變成Signal。
- 算力大小是價格高低的結果,嚴格來說是鏈的法幣日產量決定算力規模。
- 價格由市場供需決定,體現為共識主導價格。
2、社群的決策機制發生了根本性改變:從小圈子投票變成了一定程度上的普選。
- 無論是算力投票還是持幣投票,由於存在中間代理層(例如礦池、交易所、錢包等),均無法避免最終淪為一定程度上的小圈子投票。
- 一個全節點即一張選票,全節點構成最廣泛的共識。
- 全節點一方面制約著算力,另一方面也制約程式碼。無論是礦霸還是碼霸,均無法強制約束全節點的行為。
後記
從中本聰白皮書時代以來,大多數人堅信著“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
來源:比特幣實驗室(https://panzhibiao.com/2019/02/11/bip8/)