當前位置:
首頁 > 科技 > 金融史上的神奇怪胎:比特幣擴容大戰的前世今生

金融史上的神奇怪胎:比特幣擴容大戰的前世今生

一、故事回顧

背景:中本聰留下的BUG

大家知道,比特幣的每一個區塊的容量大小只有1M,隨著用戶數和交易量的迅速增長,區塊容量限制越來越成為影響比特幣區塊鏈運轉的瓶頸。用戶的交易需要越來越長的時間來等待礦工打包確認。

這就猶如北京和上海之間有趟比特幣班車,每10分鐘一班,要是上車的人越來越多,就需要加把小車廂換成大車廂,把100座變成200座的。不然沒上車的人就會堵在車站,直接把系統搞癱瘓了。

實際上,2009年比特幣初次誕生時,中本聰把每個區塊的容量大小設置為32M。這個容量其實足夠大,拿到今天都綽綽有餘。

但那時比特幣面臨黑客的「粉塵攻擊」。所謂 「粉塵攻擊」,就是有黑客提交大量的小額交易,阻礙了正常交易的確認。這就猶如有人去銀行搞破壞,派 1000 個人堵到窗口存1塊錢,銀行容納不了就癱瘓了。

為抵禦粉塵攻擊,2010年,中本聰把區塊容量的上限降低為1M,並說這個上限在未來某個時候可以再調整。

序幕:派系的產生與容量告急

不久後,中本聰隱退江湖,把區塊鏈系統的代碼維護工作交給了他的一批追隨者,這些人被稱為 core 開發組,為首者是被稱為中本聰繼承人的加文·安德森(Gavin Andresen)。

但core團隊並不是BTC唯一的主宰者。比特幣的交易需要礦工挖礦來記賬,隨著挖礦成本的迅速升高,普通個人計算機挖礦成功的概率逐漸趨近於0,只有採用大批的專業礦機集體挖礦才能成功,也就是礦池。中國西南及內蒙因大量水電、風電過剩而導致電價極低,為礦池挖礦提供了良好條件。在2017年中國政府打擊之前,中國的數個大礦池一度集中了全球近90%的算力。後來的擴容大戰就在core團隊和礦工群體之間展開。

中本聰所言擴充區塊容量的這一天很快就到來了。下圖可見,從 2014 年第四季度開始,比特幣的區塊包開始快速增大,按照當時的增長速度,交易區塊大約會在 2016 年底觸及 1M 的紅線。考慮擴容方案達成共識需要多方複雜的談判,所以時間其實非常緊迫。2015 年 5 月, Gavin Andresen 提出在 2016 年 3 月擴容到 20M,開啟了擴容方案大戰的序幕。

圖:State of Blockchain 2018—coindesk

亂戰開始

2015年6月,中國五大礦池(Antpool,F2Pool,BTCChina,BW,Huobi)聯合發表聲明反對擴容到 20M,支持擴容到 8M。這一方案也遭到了社區大部分礦工的反對。隨後,一些 core 開發組的早期成員也陸續提出了系列擴容建議,這些建議是比特幣改進協議(BIP,bitcoin improvement proposals)的主要組成部分。

2015年12月,core團隊的 Eric Lombrozo、Johnson Lau 和Pieter Wuille (BlockStream的聯合創始人)建議,移除比特幣交易過程中的簽名欄位,將交易和簽名分離開,這樣就可以在不擴大區塊大小的情況下實現變相擴容,也稱為技術性擴容方案SegWit(Segregated Witness),核心協議是BIP141。

2016年1月12日,一個名為 Jonathan Toomim 比特幣開發人員提出,要延續中本聰的思想,基於 BIP109 協議,在中本聰的代碼庫基礎上將區塊大小擴大到 2MB,並分叉出 Bitcoin Classic。這項提議的支持者包括core開發組成員Gavin Andresen,Jeff Garzik以及前比特幣基金董事 Olivier Janssens等人。該方案需要獲得 75%以上算力支持才能夠被激活,激活之後 28 天才會發生硬分叉。

2016年1月23日,邁阿密比特幣圓桌會議在在 Hyatt Regency 酒店舉行,參會方主要包括 Bitcoin Classic、Bitcoin Core 及中國礦工。這是一次倉促的會議,沒有達成任何協議。但中國礦工們倒是在邁阿密會議基礎上迅速組織了一次擴容問題的協調會,會後達成了「九二共識」(滑稽)。「二」指支持比特幣擴容至 2 MB,「九」指反對低於90%算力共識的分叉協議。這個「九」是針對Bitcoin Classic來說的,意思說支持擴容,但75%的支持率太低了,會引起社區分裂,需要90%的支持率才行。

Bitcoin Classic沒有理會,於2016年2月初正式發布。礦工們嘴上說反對,但考慮到bitcoin是一個多方博弈的結果,誰也不敢保證未來會是怎樣,所以當時一半多的算力對這項擴容協議表達了「身體上的誠實」。同理,很多交易所也予以了支持。

但這是一個沒有得到廣泛認同的匆忙協議,只持續了一年多時間,Bitcoin Classic就被社區拋棄。2017年11月,Bitcoin Classic開發團隊宣布放棄這個項目,不再更新代碼。基於「幣圈一天,人間一年」的時空理論,一年多時間也算是夠長了,Bitcoin Classic被拋棄是也是在算是在經歷達爾文的自然選擇,它並不是最後一個。

團結的假象:香港和談

在邁阿密,礦工和core開發組為了維護比特幣及社區的統一站在了同一個戰壕里,因為那時候他們有一個共同的敵人Bitcoin Classic。隨著Bitcoin Classic義無反顧地分家出去,就剩下礦工和core開發組來決定Bitcoin究竟該如何擴容。2016 年 2 月20日,Core 開發組代表和礦工雙方在香港數碼港再次開會討論擴容的方案。

會議一直從20日開到21日凌晨三點半,雙方達成協議,史稱《比特幣圓桌會議達成關於擴容的共識》。協議最大的成果是:core同意將硬分叉到2M納入core的框架之中,作為交換,中國礦工也同意只運行core開發的比特幣程序,堅決和Bitcoin Classic劃清界線。

當時的人們認為這是一次團結的大會、勝利的大會,沒想到這差不多是1945國共重慶談判的翻版:Core 的香港和談代表回去之後,開發組的其他成員對協議不滿,最後拒絕執行香港共識。

社區一片嘩然,分裂再也不可避免。

社區分裂

2016年10月,佔全網算力10%的ViaBTC率先部署Bitcoin Unlimited(BU),BU也有一個開發團隊,並和core團隊抗衡。11月,Bitcoin.com,BTC.top,CANOE三家礦池部署Bitcoin Unlimited,公開與core開發組翻臉。與此同時,core開發組發布Segwit代碼,並在11月19日開始投票。但此時的雙方都沒有獲得社區的絕對支持。

由於 BIP141一直被礦工陣營反對,為了推進隔離見證的升級,2017 年 3 月,由自稱 Shaolinfry 的匿名社區成員提出建議,是否進行升級更改比特幣網路的決策權由礦工決定轉向由用戶、交易所、支付處理商等來決定。該協議將原本由算力決定的鎖定信號交給由全網節點來決定。約定激活日期為8月1日,在這一天之後,激活和沒激活的節點將分道揚鑣。該方案被認為是擴容問題中最激進和最具爭議的一個,但卻受到 core 團隊支持的方案。同月,這個月 AntPool 開始支持 Bitcoin Unlimited。

3月31日,Rootstock 智能合約安全專家 Sergio Demian lerner 通過推特提出了「Segwit2MB」的折中解決方案,主張合併激活 Segwit 軟分叉和2MB 硬分叉。這個和稀泥的方案收到很多口水,因為兼容的方案更複雜,需要更長的時間審核代碼的安全性。

礦工們的單方協議:Segwit2x

經過了香港共識事件,中國礦工對Core失去了信任,但擴容還是需要解決的問題。於是,2017年5月,大家在紐約重新召開了一個擴容大會,這次他們決定:不帶Core玩了。參會方包括 Barry Silbert 旗下的數字貨幣集團(DCG)和包括大型礦池運營商比特大陸(Bitmian)等57家企業。據說core團隊的人試圖闖進會場,但被安保攔在了外面。參會企業簽署了紐約共識,獲得了全網80%以上的算力支持。

紐約共識的成果就是Segwit2x方案,也就是前文提到的Segwit2MB的翻版,後來被blockstream的支持者James Hilliard打包成BIP91協議。這是一個BIP141(core支持,礦工反對)和BIP148(礦工支持,core反對)的合併捆綁方案。BIP91協議要求在8月1日之前激活隔離見證,以兼容方案BIP148,然後在3月內實現區塊擴容至2M的硬分叉。

2017年6月份,在Jeff Garzik支持下成立了Segwit2x開發小組,並發布了alpha版(然後Jeff Garzik就被踢出core團隊了)。同時,AntPool發布了UAHF方案,目的是為了消除core開發組暗中支持的BIP148分裂比特幣的行為。中國礦工也在萊特幣基金會秘書長PZ的號召下再次開會,並重申對紐約共識的支持,督促儘快激活Segwit2x。7月21日,Segwit2x方案被正式激活。

Segwit2x漏氣了

Segwit2x作為一個兼顧了雙方利益的妥協方案,在達成之後受到了萬眾期待。然而,促使集體分裂的或者說維護集體統一的根本並不在於技術,而在於人心。Segwit2x算是礦工做主,滿足了core的利益和訴求的協議。但這個協議畢竟是core團隊不在場的單方協議。core團隊是根本反對區塊擴容的方案,堅持1M的原教旨主義,他們完全可能再提出另外一套協議,不承認擴容至2M的硬分叉。何況2M的區塊容量早晚也有用完的那一天,再過幾年還得再擴容,再談判,再扯皮……

當然,故事並沒有按著這個套路發展。按照Segwit2x方案,比特幣將在2017年11月17日晚達到494784區塊高度時啟動硬分叉,產生比特幣分叉幣B2X。但是大量2X節點停留在494782高度,第494783個區塊遲遲挖不出來。18日凌晨一點多,OKEx發布聲明稱Segwit2x硬分叉失敗。事後檢查發現,失敗的原因是2X代碼庫有幾個低級BUG。誰也沒有料到這麼一個萬眾期待、多方妥協的方案會以難產的方式死亡,這給core團隊送去了一個大笑柄。那句話怎麼說來著,有時候努力了很久,到頭來發現只是一個...

新式割韭菜法

雖然Segwit2x失敗了,但社區並沒有都全部回歸到core的方案,而是放出了「分叉」這個魔鬼。當然,分叉的始作俑者是以太坊,但比特幣因其龍頭老大的地位極大地擴大了分叉的影響,或者說開啟了新式割韭菜浪潮。一些團隊把原裝比特幣的代碼改一改,就可以分叉出一條新的區塊鏈和新的虛擬幣。

前文提到的Bitcoin Unlimited(BU)團隊跳出BIP141和BIP148方案,直接不要Segwit,直接把區塊容量提升到8M,硬分叉出BCU,再改名Bitcoin Cash,縮寫BCC。後來因為BCC被另外一個山寨幣蹭了熱度,又改名BCH。再後來又產生了「比特幣鑽石/BCD」、「比特幣黃金/BitcoinGold」等一系列山寨幣。

二、兩派究竟在爭什麼

先來看礦工的方案:礦工的方案就是簡單明了,箱子小了就換大箱子。1M的區塊不夠大,那麼就2M,還不夠就4M、8M、16M。而Core認為這是頭痛醫頭腳痛醫腳的臨時性辦法,每一次升級都要社區的大部分成員同意,每一次升級都有可能帶來新的分叉。同時,區塊的增大將導致比特幣賬本迅速增大,個人電腦將無法保存,只有那些大礦池才能保存,這就違背了比特幣去中心化的初衷。

Core的解決方案是隔離見證 Segregated Witness,英語字面上理解可翻譯為「隔離式的見證」,但其實翻譯為「把見證隔離了」更容易懂一點。大家知道,比特幣是一個可追溯的全網路公開的賬本,這也就是說賬本除了顯示每個人有多少錢之外,還需要顯示這些錢是從誰那裡來的,記錄這些交易的數據就是「見證」信息。

用銀行匯款做做類比,假如A向B匯款100元,A需要填寫B的銀行賬戶和匯款金額,然後再簽字授權。簽字授權是給銀行看的,對B作為收款人而言其實毫無用處。在比特幣體系中,是通過私鑰授權,即見證信息,這也是給礦工記賬看的,收款方也毫不關心。見證信息在交易信息中佔用了不少的位元組,如果把這部分信息從賬本中移除的話,1M的區塊就能容納更多的交易。

理想條件下,SegWit方案能帶來4M的擴容效果,但當時業內普遍估計實際只可達到1.7M左右的擴容效果。這當然也沒有根本解決問題,但core開發組也只是想把SegWit作為一個應急方案,是為終極方案「閃電網路」(Lightning Network)鋪路的。

閃電網路簡單的理解就是,在區塊鏈這條主鏈上開一條側鏈,用來承載那些數量大、額度小的交易,這些交易是不需要礦工記賬的,主鏈上只記錄那些額度較大、數量較少的交易。

這就好比京滬高速公路是一條大幹道,隨著車多起來路開始變得擁堵。一種解決方式就是把道路加寬,還有一種解決方式是修一些支路,因為並不是所有人都需要從北京去上海,有的可能只需要從徐州去濟南。閃電網路的意思是,這些在濟南和徐州之間的交通就另開一條支路就行了,主路留給跑長途的。

礦工也堅決反對閃電網路,因為隔離見證和閃電網路是對原有比特幣系統的巨大改動,萬一工程失敗路毀了,大家都沒辦法好好開車了。其次,閃電網路也有中心化的趨勢,同樣違背去中心化的初衷。

內在的利益分歧

兩派的相互 diss 可以說是發展理念的不同,但也涉及到深刻的利益分歧,其中礦工利益的損益在兩個方案中體現得相對明顯。

礦工主動記賬是由於有兩部分的激勵,一是挖出新區塊時系統提供的獎勵,二是用戶向礦工提交的手續費。由於比特幣總量就2100萬個,挖完就再沒有新的了,而且新生比特幣的數量是越來越少,記賬激勵越來越靠收取手續費。閃電網路方案讓那些小額交易不計入主鏈的區塊,礦工就直接少了一大筆財源。

Core開發組的利益就相對隱晦,其成員相當部分都加入了Block Stream公司。有陰謀論認為,Block Stream死守1MB不放,坐等手續費越來越高,區塊確認時間越來越長,逼迫交易頻繁的企業用戶去使用Stream公司開發的側鏈技術和服務。這是一個講得通的推測,但並沒有實據,何況比特幣的價格波動一直很大,企業很難大規模採用這種不穩定的交易媒介作為貨幣。但另一方面,Core團隊一直死咬著1M不鬆口也缺乏足夠合理的解釋。

三、Core 會贏得勝利?

SegWit方案自提出一直備受爭議,然而在2017年8月8日突然峰迴路轉,100%的礦池都表示支持這一升級提案。2017年8月9日凌晨,SegWit在被正式激活。開始階段,SegWit還不夠普及,導致其擴容效果不明顯,區塊大小一直維持在1.05M水平。但是,共識在時間的作用下不斷強化,2018年1月22日開始出現了大量的2M左右的區塊,比預期的1.7M擴容效果要好。隨著隔離見證的得到越來越多的普及,比特幣交易的手續費明顯下降,網路擁堵也得到緩解。2018年2月20日,世界兩大交易所Coinbase以及Bitfinex 均發表了將採用隔離見證方案的聲明。

這似乎顯示core在贏得勝利?

並不。

2018年2月25日,Core開發組成員Cobra通過推特發表了一封公開信。在這封信中,Cobra認為在POW機制下,比特幣區塊鏈網路的算力中心化的趨勢越來越明顯,越來越集中到吳忌寒的比特大陸等極少數大礦池手裡。然後順便黑了一下中國政府,說中國缺乏和諧,萬一把吳忌寒的礦池給取締了,就會給比特幣帶來重大災難。而這一切風險都是POW機制產生的,為了擺脫以吳忌寒為首的礦工對比特幣的破壞,他提議對比特幣的演算法進行修改,將共識機制改為POW+POS的雙層模式。

吳忌寒馬上回懟,質問Cobra是要改白皮書還是改POW(Which is your priority,rewrite the whitepaper or change POW)?要是真被你Cobra改了POW,比特幣的市場份額會跌到10%以下。人家以太坊社區在搞ERC20改進協議,還有很多區塊鏈項目在創新,你們這樣亂搞比特幣藥丸啊。

這話感覺像是兩個皇子在爭奪大位,一個質問另一個:你敢篡改中本先皇遺詔?!然後根本不聽對方解釋接著說,敵國正在磨刀霍霍,你們這樣亂搞,大清藥丸啊!……

撇開core和礦工的嘴上是非不論,如果core真地要修改POW機制,比特幣社區將會面臨更大的分裂,因為這就猶如房子要換地基。隨後不久,core又收到一個壞消息。2018年2月28日,閃電網路在測試網路上運行時出現大量記憶體區段錯誤的新聞。Core 開發組成員 Peter Todd 稱:網路未崩潰時,交易失敗率比崩潰時還高,很容易受到 DoS 攻擊。

可以確定的是閃電網路遠未成熟,而比特幣的區塊包還是將繼續增長,如果它不能在隔離見證擴容效果耗盡之前完成部署,擴容大戰將再次上演。

本文來自矽谷區塊鏈,創業家系授權發布,略經編輯修改,版權歸作者所有,內容僅代表作者獨立觀點。[ 下載創業家APP,讀懂中國最賺錢的7000種生意 ]

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 創業家 的精彩文章:

專門做「老年型、兒童型家電」沒有必要
扎克伯格回顧Facebook 14年歷程:該犯的錯我都犯了

TAG:創業家 |