比特幣擴容之爭始末

買賣虛擬貨幣
摘要:比特幣擴容之爭從2015年5月暴露在公眾視野,到2017年11月紐約共識宣佈中止,歷時兩年半,按照“幣圈一日,人間一年”說法,算得上密碼貨幣百年戰爭了。比特幣擴容受阻,造成比特幣的擁堵和高手續費,從而引發競爭幣暴漲、瘋狂ICO、分叉幣浪潮、公鏈大戰、TPS大躍進……,尤其是BCH的誕生。一個在中本聰看來幾行程式碼可以解決的簡單問題,演化成了一場曠日持久,最終改變了比特幣發展方向,改變了密碼貨幣格局的戰爭。這是所有人都始料未及的。這場戰爭十分複雜,時至今日,擴容之爭的來龍去脈仍未明瞭。即使是親歷其中的人也只瞭解身邊的區域性,難以看清整個事態的演化。以至於基於不同的立場、語境和目的,對擴容之爭相關事實和前因後果經常出現截然對立的表述,脣槍舌戰之後往往無果而終。本文力圖理清擴容之爭始末,以期化解紛爭,也有助於理解密碼貨幣發展的邏輯,更好地探索密碼貨幣未來之路。也歡迎相關當事人審閱、批評和指正。[1]一、擴容的緣由比特幣擴容之爭的“擴容”意思是提高區塊上限的“區塊擴容”,是戰爭的核心。反對區塊擴容一方提出的隔離見證也能夠實現每塊交易量增長30%的效果,而主鏈之外建立閃電網路也能處理更多交易,這些不是爭論的焦點。為避免混淆,本文所說“擴容”指的是提高區塊上限的“區塊擴容”,而非各種有擴容效果的措施。
中本聰最初的程式碼對每個區塊容量有最高限制32M,據說源於他的這段程式碼是從其他專案中借用的,原本帶有32M的限制。比特幣執行之後最初兩年實際區塊大小都在0.5K以內。在沒有直接說明原因的情況下,中本聰於2010年7月設定了最大1M的區塊容量限制。

2010年10月3日,早期開發者Jeff Garzik發帖建議將容量限制提高到7.1M。但此時區塊實際大小仍在0.5k左右,中本聰回帖認為立即修改會導致軟體版本不相容(即後來所說的硬分叉),他建議在更新程式碼時,加入條件,在某個區塊高度將區塊限制提高,這樣就能自然完成擴容,解決不相容(分叉)問題。(https://bitcointalk.org/index.php?topic=1347.0)

在中本聰看來,當時交易量很小,沒有提高限制的必要,但要為以後交易量增長做準備,在區塊未滿時,預先升級程式碼,提高區塊容量。這在當時,大家都不覺得有問題。但在2015年卻引發了影響深遠的擴容之爭。

二、意外的擴容難題

2010年12月維基解密宣佈接受比特幣捐助,中本聰認為這“捅了馬蜂窩”,隨後退出“公共生活”,將比特幣開發的相關許可權交給了他信賴的Gavin Andresen,並與Gavin保持了一段時間的私人通訊。

Gavin接手開發管理權之後所做的第一件事就是分權,將程式碼開發管理權賦予另外4個開發者。2014年4月他將“首席開發者”身份和許可權轉給了Wladimir van der Laan,自己辭去比特幣核心維護者身份,專注於軟體開發,僅保留了比特幣基金會“首席科學家”的身份(https://www.8btc.com/article/10044,https://www.8btc.com/article/77761)。

Bitcoinj首席開發者Mike Hearn認為這幾位核心開發者並不適合管理,是趕鴨子上架,只是為了保證Gavin有事時專案能夠延續。但他強調,4名開發者中Gregory Maxwell有不同尋常的想法:“他曾聲稱,自己已經用數學方法證明了比特幣不可能存在。更大的問題是,他不相信中本聰最初的構想。”(https://www.tmtpost.com/1498771.html)Mike強調這一點至少說明Gregory Maxwell在Bitcoin Core中的特殊性,這可能是理解擴容之爭的關鍵。

2014年8月, Adam Back[2],核心開發者Gregory Maxwell,以及企業家和投資者Austin Hill,核心開發者Pieter Wuille、Matt Corallo等合作創立了比特幣技術公司Blockstream。該公司側重於側鏈技術,即可以有效地與比特幣掛鉤的替代區塊鏈。(https://www.8btc.com/article/139051)2014年底和2016年初,Blockstream分別獲得2100萬美元的種子輪投資和5500萬美元的A輪融資。(https://www.8btc.com/article/78582)。按照Gregory Maxwell的說法,Blockstream就是為了比特幣開發而建立的(https://www.8btc.com/article/40816)。

2013年2月Jeff Garzik的擴容帖再度被人頂起,此時區塊已經達到150K,應當考慮擴容問題了。此後,關於區塊上限、垃圾交易、硬分叉、手續費等主題的討論開始了。(https://zhuanlan.zhihu.com/p/30930715)

2015年1月區塊實際大小已經達到0.3M,考慮到開發測試周期,擴容問題已經十分緊迫。但是,比特幣核心開發團隊內部一直未能達成區塊擴容的共識。2015年5月初,Gavin公開提出正式建議:在2016年3月1日將區塊限制擴大到20M。然而,這個提議並沒有得到核心開發主導者的支援。

在由比特幣核心開發者Wladimirvan der Laan, Cory Fields, Luke Dashjr, Jonas Schnelli, Gregory Maxwell及包括blockstream在內的若干企業簽名的信件中,署名者們聲稱自己致力於比特幣的開發,服務於比特幣社羣,過去5年中完成了超過50次程式碼升級。考慮到比特幣如此重要,他們要在保障安全的前提下考慮擴容。(https://en.bitcoinwiki.org/wiki/Block_size_limit_controversy)

在這封簽名信中,缺少支援擴容的幾位關鍵開發者:Gavin Andresen、Mike Hearn、Jeff Garzik。這暗示了在擴容問題上開發者內部的嚴重分歧。

響應Gavin的擴容建議,Jeff Garzik提出了比特幣改進建議BIP100,建議礦池進行鏈上投票,超過75%算力同意既可以擴容。Gavin Andresen和Mike Hearn提出BIP101,建議先擴容到2M,然後每兩年翻倍。在Bitcoin Core版本之外,Gavin和Mike開始在Bitcoin XT節點版本中實現20M擴容和BIP101。Bitcoin XT是Gavin在2012 年建立的與Core相容的比特幣全節點版本,為了擴容正在成為Core的競爭或替代版本。(https://en.bitcoinwiki.org/wiki/Bitcoin_XT)

對於Gavin的建議,公眾看到的主要反對意見來自中國礦池,Gavin也專門到中國爭取礦池支援。當時世界前5大礦池,中國佔了4個。多數中國礦池認為中國網路頻寬不足,大區塊同步延遲更大,20M區塊導致中國礦工挖礦相對國外處於劣勢。因此,2015年6月Antpool,F2Pool,BTCChina,BW.com以及Huobi.com五大中國礦池達成共識,支援BIP100,反對BIP101,同意將區塊擴大到8M。(https://www.8btc.com/article/59341)。

然而,真正的擴容阻力並非來自礦工,而是來自開發者內部。Gavin在2015年5月的建議中提到了後來人們熟知的反對擴容的兩個關鍵意見:

1)閃電網路和側鏈等可以解決容量擴充套件問題;
2)區塊增大要求更高頻寬和儲存導致節點中心化。

顯然,Gavin的擴容建議在開發者內部討論已經遭遇了反對,只是沒有暴露在公眾面前。最終成功阻止Gavin比特幣擴容計劃的不是礦工,而是部分核心開發者提出的“隔離見證+閃電網路”(SegWit+Lightning,或SW+LN)發展路線:透過實施隔離見證(SegWit)把交易簽名跟交易本身分開,並置於區塊之外,實現1)提高區塊容納的交易數量,2)消除部署閃電網路遇到的延展性技術難題,3)閃電網路可以容納更多的交易。這樣就不需要區塊擴容了。

2015年2月Dryja和Poon發表了《比特幣閃電網路:可伸縮的離線即時支付》,即閃電網路白皮書。2015年12月討論擴容問題的香港會議上閃電網路引起關注。為了解決影響閃電網路的延展性問題,也為了實現部分擴容效果,2015年12月Core提出了隔離見證(Segwit)方案。隨後,Gregory Maxwell(Blockstream公司CTO)將閃電網路寫入比特幣路線圖,形成了“隔離見證+閃電網路”路線。只不過,此時Core並沒有公開表示這個路線會完全取代區塊擴容,沒有明確反對區塊擴容,而只是強調要安全謹慎地擴容。

至此,Gavin主推的區塊擴容方案和掌握比特幣開發主導權的Blockstream公司的core開發者之間的分歧已經形成。

三、言論管制與Bitcoin XT的失敗

2015年下半年,隨著區塊實際容量中位數從5月Gavin建議擴容時的0.3M上升到12月的0.7M,擴容問題在社羣的關注度迅速提高。首先反映在比特幣的兩個重要論壇:中本聰創立的bitcointalk.org和Reddit的bitcoin版,2015年Theymos擔任這兩個論壇的管理員。

2015年8月,主推區塊擴容的Bitcoin XT在Reddit的r/bitcoin版引起熱議。Theymos認為r/bitcoin陷入了混亂,宣佈對其進行管制。Theymos強調,Bitcoin XT是對Bitcoin Core的分裂,將會是一個山寨幣(altcoin),他反對這種分裂行為,並禁止討論擴容相關問題,禁止釋出Bitcoin XT相關的內容,封殺相關賬號。(https://www.reddit.com/r/Bitcoin/comments/3h9cq4/its_time_for_a_break_about_the_recent_mess/)

作為崇尚自由,一貫宣揚去中心化和反對管制的比特幣社羣,Theymos的發言和管制行動受到激烈的批評和抵制,但Core核心開發者對Theymos表示支援。言論管制,尤其是對區塊擴容和Bitcoin XT支持者的壓制在論壇中得到堅持貫徹。[3]

為了對抗言論管制,獲得擴容問題的討論空間。Roger Ver創立的bitcoin.com的CTO @MagmaHindenburg建立了Reddit的r/btc版。隨後大量比特幣擴容支持者從r/bitcoin轉移到r/btc。目前,r/bitcoin版使用者為1000k,r/btc版使用者為254k。r/btc版在BCH誕生後成為Reddit上BCH的主版。這也使很多新人困惑,為何btc版討論的都是bch?而r/bitcoincash版卻只有43.3k使用者,r/bch版只有2.5k使用者?這是擴容歷史原因造成的。

在這場媒體戰中,Core憑藉對bitcointalk.org和reddit/r/bitcoin,以及對官網bitcoin.org的實際控制取得了絕對優勢。[4]甚至連美國最大、名氣最響的比特幣初創公司Coinbase也被比特幣官網除名、被論壇禁言,因為它站在了“錯誤的”一邊。(https://news.bitcoin.com/coinbase-still-de-listed-bitcoin-org-github-request-rejected/)

然而,最終給Bitcoin XT致命一擊的是,壓力之下Bitcoin XT內部的崩塌。2016年1月,Mike Hearn宣佈“比特幣已死”!

Mike是比特幣資深開發者,與Gavin一起推進Bitcoin XT,面對1)Core和Blockstream對比特幣開發權的控制、2)Theymos對社羣話語權的控制、3)掌握優勢算力的中國礦工對Core的忠誠,Mike絕望了。

Mike認為比特幣這個去中心化的貨幣試驗已經失敗,因為系統已經完全被少數人控制,它變得擁堵、昂貴,無法與傳統金融體系競爭,而讓社羣瞭解實情的渠道被完全控制了,這使得人們對真正的問題毫不在意,反而攻擊提出問題的人。

Mike認為Bitcoin Core對擴容採用了拖延戰術,而且非常有效。礦工和創業公司們拒絕Bitcoin XT最常見的理由是“我們在等Bitcoin Core在12月份擴容”。Core在2015年8月和12月舉辦的兩次“擴容會議”都無果而終。此時Coinbase和比特幣中國等主推擴容的公司才如夢初醒,發覺上當。

雖然Mike對新出現的Bitcoin Classic和Bitcoin Unlimited仍抱有希望,但他本人,面對困難已經失去信心,宣佈比特幣的根基已經崩塌,他已經賣掉所有的比特幣,徹底離開比特幣。(https://www.tmtpost.com/1498771.html)

Mike的宣告使他立刻成為比特幣社羣的公敵,對Gavin的聲譽和擴容之路也造成不小的損害,Bitcoin XT的擴容版本失敗。

四、Bitcoin Classic與香港共識

Bitcoin XT失敗,但Gavin並未放棄推進擴容。深知無法推動Bitcoin Core擴容,2016年1月,Gavin與Jeff Garzik和PeterRizun建立了一個新的開發組Bitcoin Classic。擴容進入Bitcoin Classic階段。

由於區塊實際容量快速增長,中位數達到0.7M,並頻繁出現1M滿塊,擴容的緊迫性快速成為包括中國礦業在內的整個比特幣社羣的共識。絕大部分意見領袖和重要企業表達了對擴大區塊容量限制的支援。(https://en.bitcoinwiki.org/wiki/Block_size_limit_controversy#BIP_109)

因此,Bitcoin Classic很快獲得了Antpool和BW礦池在內的50%以上算力的支援,計劃在算力支援達到75%是硬分叉升級至2M,以應對即將到來的擁堵。Bitcoin Classic硬分叉擴大容量與Bitcoin Core的SW+LN方案形成激烈競爭。

面對擴容呼聲和Classic的競爭,Blockstream對Gavin、Bitcoin XT、BitcoinClassic和中國礦工十分不滿,其執行長Austin Hill說“一大批建立在比特幣上的公司,享受著開發者社羣的辛勤勞動成果,沒有說聲謝謝,反而說我不喜歡你的顏色,所以我要去拋棄你。”(https://www.8btc.com/article/78582)

在雙方互不相讓的情況下,整個社羣開始出現對“硬分叉”乃至社羣“分裂”的恐慌,當然,主要的恐懼分裂帶來幣價的崩盤!

2016年1月23日中國礦業聚會,達成所謂“92共識”:90%以上算力支援下擴容2M的共識,總體認同Bitcoin Classic的擴容主張,但提高共識要求(從75%到90%)。類比臺海關係,強調以“不戰爭、不分裂”為前提實現擴容,戲稱為“92共識”(https://www.chainnode.com/post/28405)。

在聚會上,位元大陸CEO吳忌寒和haobtcCEO吳剛提出,各公司都應該派人參與比特幣開發,培養自己的core開發人員,為比特幣開發做貢獻,也提升自己在core中的話語權,稀釋Blockstream的影響力,這才是最終解決問題之道。(https://www.chainnode.com/post/29343)

2016年1月28日Gavin提出了比特幣改進建議BIP109,建議擴容到2M,75%的算力投票即透過實施。

在“92共識”和BIP109的基礎上,為了避免分裂,2016年2月22日召開香港會議,中國礦工同幾位Core開發者,以及Blockstream CEO Adam Back達成協議。[5]雙方同意繼續實施隔離見證軟分叉,Core在隔離見證之後透過硬分叉將區塊擴容到2M,並給出了時間表:2016年4月釋出隔離見證;7月完成硬分叉程式碼;2017年7月在社羣支援的前提下實施硬分叉升級。作為代價,中國礦業承諾只支援Core版本。(https://blog.csdn.net/qq53016353/article/details/51183779,https://www.lieyunwang.com/archives/416445)這就是所謂“香港共識”。

五、Gavin失信黯然隱退

香港共識中,礦業妥協,拋棄了Core的重要競爭開發團隊Bitcoin Classic,以換取Core的擴容承諾。

然而,香港共識並沒有被Core履行。參加香港會議的Core成員回去後受到了指責,在香港共識協議上簽字的Blockstream的CEO Adam Back簽署了自己的名字,並未代表該公司。中國礦工感覺受到了欺騙,位元大陸吳忌寒在Twitter上警告Core,不會在沒有2M硬分叉程式碼的情況下實施Segwit。

到了2016年5月,比特幣區塊中位數已經達到1M!手續費開始提高。然而,Core的Segwit並未按時釋出。社羣重啟Classic的呼聲再起。Gavin仍然是推動擴容的重要力量。但一個意外事件,徹底粉碎了Gavin的擴容之旅。

2015年底澳大利亞人Craig S.Wright(簡稱CSW)開始公開聲稱自己是中本聰。幾乎每年都會出現類似的中本聰現身事件,但都是騙局或誤會,影響不大。不過,在2016年5月擴容之爭的關鍵時點,據說CSW向Gavin Andresen和當時的比特幣基金會主席出示了某種證據,獲得了兩位的信任。Gavin公開宣稱CSW就是中本聰(http://gavinandresen.ninja/satoshi),這是當時轟動一時的新聞。

BBC也展開了對CSW事件的報道。眾所周知,自證中本聰最簡單的方法就是證明自己擁有中本聰挖礦地址的私鑰,方法至少有兩種:一是按預先講好的方式挪動中本聰的幣,二是對一條新的資訊用中本聰私鑰進行簽名,公開驗證。

2016年5月3日CSW承諾將挪動中本聰的幣,但5月4日在給Gavin和BBC記者當面操作時。他突然宣佈比特幣的一個早期安全漏洞會使他轉移比特幣面臨巨大風險,Gavin告訴他這個漏洞已經解決,然而CSW突然離開房間,再也沒回來。隨後,釋出了一篇道歉信,聲稱出於安全考慮不願證明自己擁有中本聰私鑰。[6]

然而,此後CSW在一篇討論驗證簽名的部落格中又給出了一個用中本聰早期私鑰對薩特作品做的簽名。只是不久就有人撰文揭露,該簽名只是中本聰早期傳送的一筆比特幣交易的簽名。[7]不僅如此,CSW還偽造了更多的證據,比如他修改了自己2008年的一篇舊部落格,插入了“密碼貨幣”內容,以證明自己那個時候就研究了密碼貨幣。(https://www.qklzhg.cn/news/87623/)此處引用文獻中有更多對CSW的揭露和質疑。

CSW在BBC上出爾反爾和假簽名事件對Gavin和擴容造成致命一擊。整個比特幣社羣都認為CSW是騙子,而Gavin成了騙子的幫兇,他和他為擴容做的一切努力都被蔑視,擴容本身也受到更多懷疑,Core佔據了道德制高點。

就這樣,Gavin失去了社羣信任,不得不宣佈退出Core開發組,徹底失去了在比特幣開發方面的影響力,失去了對擴容的推動力。這是CSW對比特幣的第一次重大影響。

目前不清楚究竟是什麼讓CSW獲得了Gavin的信任。可以理解的是,在艱難的擴容之路上,Gavin確實太需要中本聰的支援了!

六、Bitcoin Unlimited的崛起

比特幣區塊擁堵之後,Core終於停止了拖延戰術,公開反對區塊擴容了。2016年5月,Core核心開發者Gregory Maxwell和MarkFriedenbach等人公開反對香港共識。曾經反對20M擴容,現在感覺被Core欺騙的中國礦工,開始取代他們曾反對的Gavin,成了擴容派的主要力量,這頗有些戲劇性。

在bitcointalk.org上,GregoryMaxwell斥責參加香港會議的Core成員是“笨蛋”(dipshits),他警告社羣,儘管騙子CSW及其幕後支持者(暗指Gavin)已經消失,外部攻擊減弱,但比特幣社羣自己削弱自己的能力不容忽視。(https://bitcointalk.org/index.php?topic=1330553.msg14835202#msg14835202)從後續的發展看,Gregory Maxwell的影響力似乎超過了參加香港共識的Core成員的總和。事後進入Blockstream的Samson Mow也宣稱,香港共識不存在毀約,因為參加會議的幾名Core開發者不能代表Core團隊(https://www.lieyunwang.com/archives/416445)。

對於Core對香港共識的出爾反爾,除了陰謀論之外,合理的解釋是Core開發團隊中Gregory Maxwell和Luke Dashjr等強硬派否決了Adam Back和多位Core核心開發者面在香港共識中的公開承諾。無論Adam Back等人怎麼看,在做出妥協放棄Bitcoin Classic的中國礦工來看,這的確是欺騙!

魚池王純表示他被在香港共識上簽字的Blockstream CEO Adam Back欺騙了。(https://www.8btc.com/article/95353)時任比特幣中國COO的繆永權(Samson Mow)也批評Gregory低估了問題的嚴重性,這樣做破壞了社羣的合作。

2015年底,為了免受Core阻撓,推進區塊擴容,Andrew Clifford、Andrew Stone、Peter Rizun等人組建了Bitcoin Unlimited(簡稱BU),2015年11月26日Andrew Stone釋出了BUIP1,開始在Core控制的BIP之外組織開發。

總體上,BU延續了BIP100和BIP109的基本路線,允許礦工動態標註區塊大小限制,透過礦工的“湧現共識” (EmergentConsensus)實現區塊彈性擴容(https://www.8btc.com/article/108473)。2016年8月在收到50萬美元捐助後,Bitcoin Unlimited註冊為非營利組織。[8](https://www.8btc.com/article/100975)

Bitcoin Unlimited的出現理所當然地受到Core的抵制。2016年9月在Blockstream、BTCC、Kraken和Bitfury組織的擴容會議上,作為贊助商之一的BU提出四個提案,但都被拒絕在會議上釋出。Bitcoin Core與Bitcoin Unlimited的戰爭已經開始。(https://www.8btc.com/article/105060)

2016年9月25日,擴容支持者們在San Francisco召開《中本聰願景:開發與擴容會議》(Satoshi's Vision: Development andScaling Conference)[9],會上重點由Bitcoin Unlimited成員介紹了BU路線及其主要改進:湧現共識、Xthin blocks、Xpedited Block Reply。(http://www.onchainscaling.com)

這次會議是自2016年6月以來,獨立於Core的一系列擴容會議的一個高潮。參與和支援這一系列會議的包括Roger Ver、Jeff Garzik、Emin Gun Sirer, Peter Rizun,Andrew Clifford 、Amaury Sechet等人。(http://www.onchainscaling.com)Gavin Andresen 也明確表示支援BU。(https://www.8btc.com/article/120132)Bitcoin Unlimited不只是一個擴容版本,而是整個比特幣擴容派高度期待的擴容希望。

跟Bitcoin Classic不同的是,BU很快獲得了部分礦業力量的支援。2016年10月位元大陸參與投資的Viabtc礦池創始人楊海坡率先宣佈支援BU。為了不受制於人,著名比特幣早期投資人,被稱為“比特幣耶穌”的Roger Ver也建立了Bitcoin.com礦池,宣佈支援BU。BTC.top礦池創始人江卓爾、位元大陸的螞蟻礦池等也相繼支援BU。(https://www.8btc.com/article/120132)

可以說,經過長期鬥爭,在認識到Core的拖延戰術,尤其是香港共識受騙後,比特幣社羣形成了一個堅定的擴容派,他們不再相信Core,不再對Core妥協,不再懼怕分裂威脅,給予 Bitcoin Unlimited高度支援。決戰時刻即將到來。

七、決戰時刻與Bitcoin Unlimited的慘敗

在明確反對區塊擴容之後,Core的“隔離見證+閃電網路”路線更加明晰了:先透過軟分叉實現隔離見證,然後上線閃電網路,以閃電網路承接主鏈的支付功能,實現廣義的擴容[10]。2016年11月,Core 開發組放出 Segwit 程式碼,12月21日提交BIP141並要求大家在11月19號開始投票,啟用線95%,投票位是bit-1。(https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki)

隔離見證的基本思想是把交易的簽名與交易內容分開,並放在原區塊之外。主要好處有三個:

1)消除交易延展性。交易與簽名在一起的情況下,雜湊出的交易ID可以在保證簽名有效的情況下雜湊出新的交易ID。對於依據交易ID判斷轉賬是否成功的交易所和錢包,就可能被欺騙被重複提幣,即所謂“延展性攻擊”,Mt.Gox等許多交易所遇到過。採用隔離見證分離交易資訊和簽名,可以使交易ID唯一,消除延展性問題。
2)推進閃電網路。透過消除延展性,實現交易ID唯一,可以使閃電網路及其他一些應用的開發更加容易。
3)擴大30%容量。由於簽名置於原區塊之外,能夠使1M區塊容納更多交易,相當於擴大了區塊容量。據測算,可以增加30%容量,相當於區塊擴大到1.3M,後來的實際情況確實如此。據說在測試環境下,最大能夠擴容到4M。這成為Core支持者說隔離見證也是區塊擴容的重要依據。(https://www.8btc.com/article/139051)

在香港共識失敗之前,比特幣社羣對Core提出的隔離見證是普遍支援的。但在Core失信香港共識後,反對隔離見證的人增多,主要原因包括:

1)SegWit改變底層資料結構。隔離見證將簽名與原始交易剝離,改變了比特幣底層架構:交易和區塊的結構。

2)SegWit強化開發中心化。隔離見證修改了大量的程式碼,使後續開發更加複雜而依賴於Core,降低了開發的去中心化;

3)SegWit更新不可逆。隔離見證型別交易一旦上鍊,整個系統就不能再廢除隔離見證了,因為,這會導致所有隔離見證交易的資金丟失。

4)增加51%攻擊風險。由於隔離見證交易在非隔離見證版本中是人人可花費的交易,隨著隔離見證交易增多,發動51%攻擊掠走隔離見證交易資金的潛在收益越來越大。

5)改變比特幣發展方向。配合控制區塊容量和實施閃電網路,Core推行隔離見證的目的是去除比特幣主鏈的支付功能,使比特幣的目標由貨幣變為結算網路。

6)錯失牛市發展時機。當時牛市已經啟動,區塊擴容可以馬上擴大容量,適應牛市市場需求,而透過隔離見證加閃電網路擴大容量則至少要“18個月”以上的時間。
(https://www.jinse.com/news/bitcoin/14804.html)

社羣的分歧點除了擴容和隔離見證之外,還有硬分叉。Core反對區塊擴容的另一個理由是,直接提高區塊容量上限需要硬分叉升級,即升級後的版本與之前版本不相容,如果部分節點不升級將會導致區塊鏈分叉成兩個鏈。Core(尤其是Gregory Maxwell)認為這太危險,而隔離見證則透過軟分叉升級來實現,更安全。

支援區塊擴容的都支援硬分叉,因為這確實是必須的。但支援隔離見證的人也有很多支援硬分叉實現,因為隔離見證的程式碼規模本來就大,而軟分叉為了相容之前版本,又需要增加更多程式碼、更大複雜性。而且,長期來看,不斷進行軟分叉升級,會導致系統程式碼越來越複雜,技術債越來越重。

Bitcoin Unlimited崛起之後,一個更加嚴峻的分歧無法迴避了:由於Core和堅定擴容派都不再妥協,能否接受比特幣的分裂?這個問題跟擴容和硬分叉緊密聯絡,如果Core不妥協,擴容和硬分叉將會導致分裂。絕大多數社羣成員是害怕分裂的,害怕由此帶來的幣價崩盤。

但是,擴容一方接受分裂的聲音也逐漸增強。2016 年6月Meni Rosenfeld發表文章《我是如何克服分叉恐懼愛上分叉的》(https://fieryspinningsword.com/2015/08/25/how-i-learned-to-stop-worrying-and-love-the-fork/),8月Andrew Hinkes在鏈上擴容會議上借鑑以太坊分叉分析了比特幣分叉的可能性(http://www.onchainscaling.com),12月劉昌用發文認為矛盾的實質是世界貨幣和結算網路兩條路線之爭,難以調和,分叉各自探索是可行的解決方案,兩個方向探索總體成功的概率更大。(https://www.8btc.com/article/113497)

到了2017年初,比特幣牛市剛剛啟動,在比特幣網路交易擁堵,手續費增長10倍的情況下,擴容與分叉問題變得十分尖銳,期盼、恐慌、焦慮、憤怒等各種情緒瀰漫社羣。

此時,全球比特幣社羣圍繞:1)是否支援區塊擴容;2)是否支援隔離見證;3)是否支援硬分叉升級;4)是否信任Core;5)能否接受比特幣分裂等這五個關鍵點,形成了複雜的格局。大體形成三個陣營:

1)Core及其堅定支持者。都支援隔離見證。其中極少數核心成員堅定反對區塊擴容,Luke Dashjr甚至主張縮小區塊到0.5或0.3M。不過,多數人仍希望擴容,只是堅定支援Core的所有決定;

2)堅定擴容派。支援BU,不信任Core,堅持硬分叉區塊擴容,甚至不怕分叉。對於SegWit的意見並不一致,多數人在區塊擴容的前提下願意接受SegWit,少數人堅決反對SegWit。

3)統一中立派。他們支援區塊擴容,部分支援硬分叉升級,大多支援隔離見證,不完全信任Core,也不完全信任BU。關鍵的是,他們堅信比特幣只能有一條鏈,比特幣無論如何決不能分裂!

2017年初Bitcoin Core和Bitcoin Unlimited的競爭白熱化,透過區塊投票,支援BU擴容和支援隔離見證的算力都未能達到30%。

面對僵局,隔離見證支持者Shaolin Fry提出更加激進的SegWit實施方案——“使用者軟分叉啟用”(UASF),並於2017年3月12日形成正式提案BIP148。該提案建議開發者在新版本中設定隔離見證啟用日期,節點更新至該新版本,無需算力投票,到期自動啟用隔離見證。

UASF的關鍵是繞過礦工,算力不再有決定權。Shaolin Fry明確反對礦工(算力)決定共識規則,他對UASF的進一步修改中提出10月1日(後提前到8月1日https://www.8btc.com/article/124483)礦工將被要要求啟用SegWit,否則挖礦無法獲得區塊獎勵。(https://www.8btc.com/article/121626)(https://www.8btc.com/article/120365)繆永權是UASF堅定的支持者和宣揚者。(https://www.8btc.com/article/139051)

位元大陸吳忌寒堅決反對UASF,他認為沒有算力支援的UASF將會導致分裂。隨後,2017年3月螞蟻礦池將全部算力切換至BU,BU支援率超過30%。(https://www.8btc.com/article/120552)BU在社羣的支援率也快速提高。Core及其堅定支持者不再是多數派。

Gregory Maxwell並不贊成UASF,認為風險太大。(https://www.8btc.com/article/125814)但UASF對於希望繞過膠著的算力投票,儘快部署SegWit的Core支持者而言,這是一個很有吸引力的選項。3月24日著名的Bitfury礦池出塊標記支援UASF(https://www.8btc.com/article/122659)。不過,更多礦業保持中立,包括當時在中國影響較大的吳剛的好比特幣(現幣信)和之前的世界第一大礦池魚池。

然而,Core的最大優勢在於連續的開發經驗和技術實力,這是BU所缺乏的。並且,BU為擴容設計了複雜的彈性擴容,並加入Xthin等新的特性,增加了開發的複雜性。著名比特幣技術專家,《精通比特幣》作者AndreasAntonopoulos警告BU的共識系統和硬分叉存在風險,(https://www.8btc.com/article/122522)他寧願支援Bitcoin Classic。(https://www.8btc.com/article/122765)

最終導致BU和擴容派慘敗的正是BU的技術問題。

2017年2月2日BU的一個bug導致Bitcoin.com挖了一個孤塊。由於Bug很快解決,沒有更多孤塊,負面影響不大。但接下來,3月14日的一個bug被人利用展開攻擊,導致780個節點中的410個掉線,24小時後恢復;4月24日再次有70%BU節點因記憶體洩露而崩潰;5月8日再次受到攻擊,又有大約70%的BU節點掉線。(https://en.bitcoinwiki.org/wiki/Bitcoin_Unlimited)

這三次系統大面積故障,讓幾乎所有人失去了對BU的信心。社羣情緒急轉,大批中立派轉向支援Core。魚池在4月份開始投票支援SegWit,使SegWit算力支援也突破30%。堅定擴容派再次失去可以抗衡的比特幣開發版本,再度陷入困境。

八、紐約共識:最後的妥協

2017年3月牛市啟動,密碼貨幣交易活躍,比特幣的擁堵程度和手續費飆升。

正常情況下,為保證一筆交易在10分鐘左右確認,比特幣儲存未確認交易的記憶體池體積應在1M以內,但3月份記憶體池體積已經達到74M,5月底達到157M,在12月擁堵的最高峰達到285M(https://btc.com/stats/unconfirmed-tx)。也就是說,3月份一筆新的交易平均要等待74個10分鐘,即12小時確認,5月底要等待24小時確認,而12月份則平均要等2天2夜!

2016年1月區塊未滿時的交易費僅為月平均每筆0.58元。由於擁堵,2017年3月每筆交易費上漲到6.60元;6月上漲到19.81元;12月最高峰達到224元每筆!(https://btc.com/stats)這還沒有包括礦池定向打包一筆交易,收取的最高達上千元的“加速費”。曾經接受比特幣支付的Dell、微軟、Steam等紛紛放棄比特幣支付。

面對擁堵和高手續費,市場中的交易者,尤其是套利交易者紛紛轉向採用ETH、XRP和LTC進行轉賬。

從2017年3月到6月,ETH的價格從13美元飆升至385美元,翻了近30倍;XRP三個月翻了近53倍;LTC也翻了7.5倍;同期BTC只增長1倍。(https://bitinfocharts.com/zh/comparison/price-btc-eth-ltc-xrp.html)BTC市值佔比從3月初的85%驟降至6月中旬的39%,而ETH此時則達到最高的31%。(https://coinmarketcap.com/charts/)

有些人將2017年BTC市場的失利歸咎於擴容一方,尤其是歸咎於BCH的出現。但是,2017年6月,Bitcoin Unlimited已經失敗,BCH還沒有出現。比特幣市場絕對優勢的喪失完全是擴容失敗造成的,是擁堵和高交易費趕走了使用者。

擴容,刻不容緩!

為了打破僵局,重倉比特幣的數字貨幣集團(DCG)創始人Barry Silbert在這個關鍵時刻站了出來,他跟業內的主要公司、開發者代表展開一系列一對一的溝通,斡旋和軟化各方立場,計劃5月份在紐約召開一次共識大會。

Blockstream的CEO AdamBack也答應參會當面磋商。但是Adam在臨出行前被“另一個合夥人嚴厲的阻止”,宣佈拒絕參加紐約會議,改由4月份才從比特幣中國(BTCC)轉投Blockstream的Samson Mow(繆永權)參會。而繆永權在業界聲譽不佳,曾因在BTCC艱難時刻轉投Blockstream,散佈Purse收了吳忌寒30萬美元(https://m.8btc.com/article/124131),被吳剛當眾質問。因此,一些重要企業聲稱,如果Samson Mow參會,他們將退出會議,為此,主持人Barry拒絕Samson參會。紐約會議在沒有Blockstream和Core出席的情況下召開。

2017年5月21日紐約會議召開,來自22個國家,涵蓋礦業、交易所、錢包、瀏覽器全產業鏈的58個公司代表參加了這次會議。(https://www.lieyunwang.com/archives/416445)作為參會者,吳忌寒在一年後的王峰十問中詳細介紹了紐約會議詳情。(https://www.huoxing24.com/newsdetail/2018061517234807956.html)

紐約會議討論的焦點在於:SegWit啟用是否應該繫結硬分叉擴容,讓兩者同時進行。

為兼顧Core立場,Barry有意代表了不在場的Blockstream一方,希望大家可以同意先啟用SegWit,把擴容的事情放一放。但是現場的大多數企業要求繫結在一起。例如Bitpay、Blockchain.info等都指出,目前的比特幣擴容形勢已經刻不容緩。如果不能繫結在一起擴容,他們的使用者就會被迫持續支付高額的手續費,他們必須支援其他密碼貨幣,如以太坊。還有企業說,如果今天不能達成條件彼此繫結的有效協議,就立刻退場。他們說,Core已經拒絕執行香港共識,我們為什麼要在紐約重複制定一個香港共識?

Bitfury的代表也參加了這次會談。Bitfury是一貫支援小區塊立場的,但是令人驚訝的是,Bitfury的代表異常堅定地支援繫結一起擴容。那位代表認為,如果這麼多企業一起達成共識,少數Core的極端小區塊主義者,做不了什麼,比特幣擴容一定可以成功。

最後,在場的代表形成了共識,準備實施SegWit+2M繫結擴容的方案,也就是後來廣為人知的SegWit2X。然而,一個微小的技術細節再次改變了事態的發展。

代表們在5月21日達成紐約共識(SegWit2X),並決定在算力投票位元組的第4位,即bit-4標記支援SegWit2X。22日Barry將共識形成文件,並徵集更多支援和簽名,所以未參會的主要開發者和企業也得知了共識協議內容。

然而,22日晚上,在共識協議向公眾公佈之前,Core開發者James Hillard搶先提交了一個BIP91建議,該建議透過算力投票同意降低Core提出的無區塊擴容的SegWit實施的原定95%的投票閾值,降低到80%,並可以根據情況再調整。關鍵是,算力投票的標記也設定為bit-4!(https://github.com/bitcoin/bips/blob/master/bip-0091.mediawiki)

更重要的是,紐約共識約定的SegWit軟分叉和2M擴容硬分叉的實施是有時間順序的,先實施SegWit軟分叉,兩個月後再硬分叉擴容至2M。BIP91跟紐約共識的前半部分一樣,都是啟用SegWit軟分叉,但BIP91沒有後面的2M硬分叉擴容。藉助相同的投票位,一些Blockstream的支持者就可以先假意按紐約共識投票,等SegWit實施後再宣稱自己支援的是BIP91,而不是紐約共識,進而反對2M硬分叉擴容。後來,一些紐約共識簽署者,比如魚池也的確這樣做了,魚池王純甚至公開聲稱,簽署紐約共識就是為了“騙炮”!

用各種手段阻止擴容是Blockstream一直在做的事情,但為什麼被香港共識欺騙的礦工仍然支援Blockstream呢?很重要的原因應該是Bitcoin Unlimited技術上的失敗。

為了技術上的安全,很多人更願意Core和Blocksteam繼續主導比特幣的發展。比如後來離開位元大陸的技術核心潘志彪,在直播中明確表示贊同擴容,但BU技術太差,所以還是支援Core。這是當時較普遍的觀點。至於BTC與BCH分裂之後,很多人又逐漸接受Core的小區塊和結算網路邏輯,不再主張擴容,那是後話了。

在Bitcoin Unlimited崩潰之後的紐約共識時期,比特幣社羣情緒正處在劇烈的變化中,其中一些人更加堅定支援區塊擴容並不再相信妥協,一些人更加堅定支援Core和SegWit,但是大多數人正在厭倦擴容之爭,希望儘快結束紛爭,堅決反對分裂,保持比特幣的統一,保護來之不易的大牛市。

在這種變化中,紐約共識一沒有Core參加、二缺乏技術優勢、三2M擴容無保障且仍可能導致分裂,這個共識十分脆弱,現在回頭看註定是要失敗的。

九、分叉的陰影

比特幣分裂、BCH誕生的直接原因是紐約共識的脆弱性,且沒有更可行的共識擴容方案了。但根本原因則是從擴容爭論形成後不斷擴大的社羣分裂,而社羣分裂背後是對比特幣發展方向的重大分歧。[11]

Gavin在2011年將比特幣開發管理權分給另外4個開發者,又在2014年退出開發管理專注開發,但在2015年挺身推進擴容,這表明他跟Core已經產生重大分歧。

隨著區塊實際容量不斷接近1M,2015年底兩次擴容會議無果而終之後,Core的拖延戰術逐漸被識破。Roger等堅定的擴容支持者建立了獨立的r/btc論壇,並在2016年6月、8月、9月、11月召開了一系列獨立於Core的擴容會議,詳細內容參見網站http://www.onchainscaling.com。David R. Allen和Alice在這些會議中起到重要的協調和組織作用,他們後來也是BCH國外社羣的重要協調者。

在這些會議上,Bitcoin XT、BitcoinClassic、Bitcoin Unlimited、BitcoinABC等開發團隊進行了連續的溝通、討論和協作,以推進擴容,其中Bitcoin Unlimited的影響較大。2016年6月的第一次會議參加者有RogerVer, Jeff Garzik, Emin Gun Sirer, Peter Rizun, Andrew Clifford and AmaurySechet等人。2016年11月30日的會議有吳忌寒參加。

2017年2月onchainscaling.com轉向新網站thefutureofbitcoin.com,該網站繼承原來的擴容方向,但有更廣闊的視野。可以說從跟Core的擴容分歧深入到了發展方向的分歧。

在這幾次會議上,有多人提出分叉或分裂可能是更好的解決問題方式。中國社羣對這些會議瞭解很少。不過,2016年12月劉昌用的《擴容之爭和比特幣的政治經濟前景》(https://www.8btc.com/article/113497),在分析了技術、經濟、政治和意識形態分歧之後,認為雙方分歧的根源是方向和路線之爭,分叉是更好的解決方式。劉昌用強調“一個去中心化組織要想永不分裂,跟一箇中心化組織要想千秋萬代一樣幼稚”。江卓爾也贊同此觀點。這跟國外擴容會議的演進不謀而合。

關鍵詞:     

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;