一文讀懂比特幣分叉是怎麼回事

數字貨幣 比特幣 比爾·蓋茨 軟件 景辰大數據 2017-08-03

一文讀懂比特幣分叉是怎麼回事

文 | 景辰

比特幣即將分叉

自從今年7月14日以來,分叉便成為籠罩在比特幣上空的一朵烏雲,為了防止由於分叉導致的比特幣充值或提現被回滾和重放攻擊,OKCoin幣行和火幣網方面紛紛表示平臺在8月1日前後將停止比特幣的充值和提現。

過去的幾天已經經過了BTC1的部署、對BIP91開始投票以及BIP141的截止,而今天比特幣則將迎來新一輪考驗,從UTC時間8月1日12點20分左右開始,即北京時間8月1日20點20分左右,ViaBTC將為其礦池的一部分礦工提供一種選項——將算力引導至一個名為Bitcoin ABC的新型的、有爭議的軟件客戶端。

如果足夠多的礦工接受這種選項,結果將會導致比特幣區塊鏈的永久性分歧,並會創建一種稱為Bitcoin Cash或BCC的新型加密貨幣,而如果比特幣真的分裂為一種或多種比特幣,OKCoin等幣行表示也將會把分裂出來的各種比特幣按擁有權提供給所有客戶,並且逐步上線所有新種類的比特幣的交易,但同時也有幣行表示將不會支持分裂出的幣種。

分叉的影響

比特幣的歷史上,確實發生過“真分叉”,那個時候所有的礦池馬上就會協商確定,同步那一條鏈(通常是最長的哪條鏈),而拋棄掉短鏈。魚池曾經就在被拋棄的短鏈上挖過礦,最後不得不放棄,重新去同步達成共識的最長鏈,出現過經濟損失。

比特幣的底層軟件代碼如果走向分裂,可能會生成一種被稱之為“比特幣現金”的虛擬貨幣。數字貨幣持有者可能由此獲得一筆“意外之財”,分叉前的所有比特幣持有者將免費獲得同等數量的比特幣現金。比特幣現金可用於交換法定貨幣或其他數字貨幣,但目前尚不確定分叉會否發生,也不清楚因分叉而出現的新幣會價值幾何。

早就出過多次分叉危機

雖然說比特幣從來不曾分過叉,但在這幾年的發展中,比特幣卻曾有過多次接近分叉的危機時刻:

2013年3月,比特幣Core開發組發佈了一個有BUG的版本0.8,新舊版本出現了衝突,比特幣當時分叉成了二十多個區塊,然後,大家很有默契的退回了0.7版本,這一次比特幣沒有分叉。

2014年初,比特幣礦池Ghash.io的算力浩浩蕩蕩的逼近了50%,也就是說全球有一半的比特幣算力是他的,這使得理論上Ghash.io將會擁有攻擊系統的能力。然後全球礦池開了個小會,大家苦口婆心的勸說Ghash.io降低算力,而Ghash.io也表態不希望算力繼續上升,礦工也自發撤出,系統再次安全了,自然也沒有分叉。

到了2015年7月,國內的幾個大礦池連續挖出了5個低版本區塊,這幾乎會造成事實上的分叉,因為連續挖到6個區塊理論上就可以分叉了,而國外礦池沒有承認,然後他們最終集體放棄了這幾個區塊,這次比特幣還是沒有分叉。

這次為什麼比特幣要分叉

如果你僅僅是比特幣投機者,不是區塊鏈技術研究者,可能看到這裡依然一頭霧水,什麼是比特幣分叉?

比特幣分叉,準確來將應該叫做區塊鏈分叉。

區塊鏈分叉是怎麼產生的呢?

這還要從區塊鏈的自身的設計說起。

比特幣的世界裡就是一筆一筆的交易,所謂交易就是我向你轉了一個比特幣這個事件,而區塊鏈裡的區塊就是用來記錄這些交易信息的存儲空間,比特幣是每十分鐘產生一個區塊,目前區塊的大小是1M,假設每筆交易大概需要1KB,那麼1M最多能容納 1024 / 1 = 1024 筆交易,那麼每秒只能容納1.7筆交易。試想一下,如果現在幾十億人使用的支付寶每秒只能接受2筆交易,還能滿足需求嗎?

那麼比特幣是固定死了必須是1M的大小嗎?

答案是否定的,比特幣最初區塊大小是32M,中本聰並無意限制區塊大小,只是當初使用的人少,每個區塊大小隻有幾KB的大小,為了避免浪費計算資源,同時為了避免DDOS攻擊以保證比特幣系統的安全運行,中本聰臨時將區塊大小限制為1M,以當時的比特幣交易量來說,這1MB足夠使用並且還綽綽有餘。

但現在近十年的時間過去了,使用比特幣的人越來越讀懂,1M區塊大小帶來了嚴重的問題,現在由於比特幣區塊大小的限制,致使比特幣網絡中積壓了過多的交易,使得交易確認異常緩慢,最慢的情況下,你給你的朋友轉賬一筆比特幣,他可能在三天後才收到你的轉賬,此時,你要麼等待,要麼支付更高的交易費用,當然,即使你支付更高的交易費用後,依然需要等待。

為了解決上述問題,大家一致決定要對區塊進行擴容,然後就出現了兩種略有衝突的方法,這就是所謂的分叉:軟分叉和硬分叉。

一文讀懂比特幣分叉是怎麼回事

分叉到底是怎麼回事?

一種方案是軟分叉。

在原有的比特幣網絡裡面進行優化修改bug提升區塊的容量,比如改成2M、4M或者8M、16M,其中以SegWit閃電網絡為主流解決方案,通俗的說,就相當於一條主路上堵車,開發團隊就再建造一條輔路,幫助主路分流擁堵。

這是一種溫和的解決方式,能讓原有的比特幣網絡和軟分叉之後的網絡進行兼容,比特幣的主要交易還在主鏈上。當然,軟分叉存在缺點,那就是治標不治本,只能解決暫時的擁堵問題,執行軟分叉後,也僅能保持數年內網絡的通暢,未來還需要不斷擴容,對系統穩定性有影響。

另一種方案是硬分叉。

重新升級比特幣系統,通過代碼形式將區塊的高度徹底改變,以bitcoin unlimited為主流解決方案。通俗的說,就相當於一條主路上堵車,我們直接棄用這條路,找個地方,做一個地上地下立體交通樞紐,新車都走這套交通系統,這套系統改變了比特幣網絡的區塊大小,優化了網絡的處理速度。

但是硬分叉同樣存在缺點,那就是不兼容原有的比特幣系統,這就要求現在比特幣網絡所有的人都要支持硬分叉,若有部分人不支持硬分叉,比特幣網絡將會出現兩個版本,也就產生了兩個比特幣,這兩個比特幣所存在的區塊鍊形成競爭關係,這種內耗會導致價格波動較大,會導致比特幣未來的局勢不明朗。

一文讀懂比特幣分叉是怎麼回事

那為啥一直沒有分叉呢?

眾所周知,區塊鏈是由點對點的去中心化節點共同維護的,這裡沒有可以說了算的權威機構,區塊鏈的有序運轉靠的就是大家的共識,即對於哪些交易是可以接受的、哪些節點具有記賬權等關鍵事宜,有一套公認的標準。這套標準是部署在區塊鏈底層協議中自動化執行的,由大多數人投票決定。

面對擴容問題時,每當有人問起,你對擴容怎麼看,你支持Core還是Classic,擴容的事怎麼解決?幾乎所有的人都會說,社區不能分裂,擴容問題的解決要靠社區的共識,眾說紛紜……

在以太坊分叉之前,很多人受夠了漫長的爭論,心裡在想,Core開發者真是傲慢,要是真分叉了,我是支持Core呢,還是支持Classic?然後,以太坊就分叉給你看了,一方面ETH價格大幅回落,一方面ETC傷而不死。

以太坊就那麼貨真價實的分裂了,但是比特幣社區的人生怕比特幣也分了叉,自己手裡的資產會打折,一面看以太坊的笑話,一面心裡暗自慶幸,一面對著傲慢的Core一句話也不敢說,爭論是大家脣槍舌劍好不熱鬧,但是一旦到做決定的時候,都把頭埋在沙子裡,彷彿危機就消失了。

這場景就像是《武林外傳》裡的同福客棧,本來客棧可以招待100位客人,但是有一天要舉辦武林大會,來了1000多個人,這就住不下了。客棧要發展,股東來投票,共同作為客棧的股東,佟掌櫃認為應該盤下對面的麵館改建;呂秀才認為給客房打個隔斷做成單間也可以;白展堂卻認為應該讓出價高的客人住,那些出不起價錢的去睡大街就好了……

由於大家都不控股,爭吵不休,於是十年了,到現在武林外傳也沒有拍續集。

那到底還分不分了?

吵吵這麼半天,我這吃瓜群眾瓜都快吃完了,你們到底還分不分了?

分!而且還提出來好多個方案:

BIP141:

當前的隔離見證激活方案是由BIP141定義。這個方案幣圈的人都很熟悉,就是在持續兩週時間裡95%的算力在區塊數據中發出bit1支持信號。不過目前它的算力支持率只有30%左右,這也是為什麼有人提出其它激活方案的原因。

BIP148:

BIP148就是用戶激活軟分叉,目的是觸發BIP141的激活條件。

在8月1日這天,比特幣BIP148軟件會拒絕不包含bit1信號的區塊。也就是說如果大多數礦工運行這個軟件,他們會拒絕那些少數沒有運行這個軟件的礦工挖出的區塊。因此,這些礦工會擁有最長的鏈,最終運行BIP0141的節點會在鏈上看到超過95%的區塊包含bit1,這樣隔離見證的激活條件就觸發了。

然而如果BIP148沒有得到大多數礦工支持,那麼比特幣就會一分為二,產生兩種比特幣。

SegWit2x:

SegWit2x是由一些比特幣公司和80%的礦工在Consensus2017會議上籤署的協議。

SegWit2x的內容包含隔離見證的激活和區塊體積擴大至2MB。不過激活方式不同,它也是由礦工算力決定,不過算力要求是80%,而不是95%。而且這種方式不適用bit1數據發出信號,而是使用bit4。這意味著不同方案的隔離見證激活時間和激活環境不同,這讓節點的隔離見證區塊中繼策略混淆,可能導致分裂。

BIP91:

BIP91通過讓SegWit2x 和BIP148產生兼容性從而避免分裂。它與BIP148在某種程度上有相似,就是BIP91拒絕沒有Bit1隔離見證信號的區塊,這樣BIP141就會被兼容。不過它沒有設置激活時間,而是由算力觸發。BIP91會拒絕非隔離見證區塊,如果80%的算力在持續兩天內支發出第一次支持信號,它就會被鎖定。這種支持信號使用bit4發出,這樣紐約共識就可以激活(80%算力用bit4發信號),同時激活現有的隔離見證方案。如果這些在8月1日前完成就會和BIP148兼容,因為BIP148也會拒絕非bit1區塊。

在比特幣的分叉這個事件上,經過長時間的磨合,目前在各方的努力下,具有妥協性的BIP91方案已經出現,並得到礦工的支持。BIP91方案是搶在8月1日前鎖定隔離見證,並可兼容BIP148協議。意味著,只要BIP91在8月1日前成功激活,屆時,無論是運行BIP91協議的節點(支持礦工的提案)也好,運行BIP148協議的節點(支持Core團隊的提案)也罷,雙方是互相兼容的。

而從時間上看,下面會發生這些事:

8月1日:BIP148激活

8月1日是礦工能夠避免分裂的最後機會。

在8月1日0:00(UTC) ,所有的BIP148節點會拒絕沒有支持隔離見證的區塊。如果Bitcoin Core的BIP141或BTC1的BIP9沒有及時被鎖定或激活,那麼比特幣就會分裂。此時,礦工還有機會避免分裂,那就是選擇支持BIP148。這會保證他們所挖的區塊鏈是最長鏈,同時使用BIP141激活隔離見證。

8月4日:Bitcoin ABC可能會出現

8月4日可能會出現一種新的比特幣“Bitcoin ABC”,最近比特大陸宣佈,如果8月1日前BIP9沒有被激活且BIP148有存活的跡象,會執行“應急計劃”:“Bitcoin ABC”,Bitcoin ABC在8月1日前會共享比特幣區塊鏈歷史,在8月1日後的幾天裡,比特大陸會祕密地在這個區塊鏈上挖礦,它可能會有一些協議上的改變,如提高區塊大小。

8月15日:BIP148可能會更改PoW算法

8月15日可能出現另外一種新的比特幣,我們暫時稱之為“新Pow比特幣”或“新挖礦算法比特幣”。BIP148讓用戶激活軟分叉而不是礦工,用戶會拒絕不支持BIP141的區塊,理想情況下是大多數礦工支持它,然後只存在這一條鏈,不過到目前,沒有多少礦工支持USAF。如果礦工支持率很低,有些人可能會執行硬分叉來改變挖礦算法。這就相當在BIP148鏈上把當前的ASIC礦機淘汰了。這可能會讓算力再次回到家庭電腦的CPU或GPU挖礦上。

8月中旬到8月末:隔離見證鎖定

如果礦工通過BIP141、BIP91、BIP148中的任何一個避免了分裂,那麼隔離見證最遲會在8月中旬到8月末被鎖定。鎖定意味著所有隔離見證客戶端會在下一個難度週期開始執行新的規則:再過兩週。此時,如果你是想要使用新特性且最高安全的用戶,你有兩週的時間來升級支持隔離見證的軟件。如果分裂沒有避免,情況就有點複雜了。在8月中旬,可能存在四種比特幣:148比特幣、新挖礦算法比特幣、Bitcoin ABC 、原始比特幣。

8月末到9月中旬:隔離見證激活

如果分裂被避免了,隔離見證會在這段時期被激活,如果你運行著兼容客戶端,你可以使用新特性,並保持最高安全性。如果分裂沒有被避免,情況就很複雜了,此時難以預測。

10月末到11月中旬:SegWit2x硬分叉

今年末(或明年初),SegWit2x的硬分叉會發生。精確地說是,在隔離見證鎖定後三個月BTC1 客戶端會激活硬分叉,這會提高區塊體積,也就是說BTC1 客戶端會與其他沒有硬分叉代碼的客戶端不兼容。不過目前看來,並不是所有人都支持硬分叉,Core開發社區幾乎算是拒絕了這個方案,還有一些公司和用戶也不支持這個方案。因此,這可能會導致再次分裂。理論上這會出現第五種比特幣,不過之前的那四種比特幣不一定都會存活到這個時候。

如何知道是否分叉了?

BtcForkMonitor(網址:https://www.btcforkmonitor.info/) 是一個跟蹤潛在的比特幣分叉的站點。如果它檢測到分叉,它承諾將在網站頂部彈出一份紅色通知。

一文讀懂比特幣分叉是怎麼回事

該網站的開發人員正在同時運行Bitcoin ABC和Bitcoin Core節點,因此他們可以比較兩個客戶端,並查看每條鏈上有多少區塊,並且互相做出對比。

儘管如此,由於btcforkmonitor是一個獨立的網站,它提供的信息可能會不準確。所以,除非你想運行自己的150 GB Bitcoin ABC全節點,否則和其他來源(例如其他運行完整節點的人)一起監控或許是更好的選擇,你還可以在社交媒體上隨時關注他們的更新。

再說一下競爭幣

自比特幣誕生以來,模仿比特幣的,創新區塊鏈的,實驗新的共識機制的,各種各樣的實驗層出不窮,數目以百計。但幣圈的人從來沒有怕過,似乎已經司空見慣。

幣圈的人從來不怕競爭幣,倒是對比特幣的分叉怕得很。想一想原因也不復雜。競爭幣不會直接影響比特幣的價格,所以他們不會擔心。可是比特幣的分叉勢必會給比特幣的價格帶來巨大波動,前車後轍,以太坊珠玉在前,這是最明顯不過的預期。所以他們就擔心了,一直在說不要不要。

比特幣社區變大了,人們的追求不一樣,執念不一樣,對比特幣的期許也不一樣,強行綁在一起同床異夢,所謂南轅北轍,所謂緣木求魚,大概就是這個意思了。說書的還沒見過不分叉的開源社區。有分叉才有選擇,有選擇才是市場經濟嘛。

而在剛剛結束的大佬雲集的Finwise紛智·全球區塊鏈上海峰會上,對於比特幣分叉問題也做了深入的探討,但是對於上文提到的BCC的地位,則有嘉賓將其定位為山寨幣、競爭幣,被列為了萊特幣之列,同時,已經有若干大交易所公開聲明不承認、不支持BCC的交易了。

雖說比特幣是去中心化的,但是現在越來越由各大掌握算力的礦池說了算了,哪有小散表達觀點的機會?小散戶只管看著就好了。究竟是否分叉而言, 很簡單,礦池大佬們開個會:說你是你就是不是也是;說不是就不是是也不是。

結論要留給市場,要留給時間。

一切都是剛剛開始……

推薦往期閱讀:區塊鏈的地位 | 區塊鏈的來源 | 比特幣的概念 | 瘋狂的ICO |助力跨境支付 | 公鑰私鑰錢包地址

相關推薦

推薦中...