作者:kevin He,Bitlayer?聯合創始人
關于比特幣下一次升級的話題一直不絕于耳,然而到目前(DEC-2024)為止,社區對于要不要升級 / 升級要解決的問題 / 要帶來的功能等話題并還沒有達成一致,基本上是各執一詞的情況,像極了某種政治僵局。
在這種僵局下,呈現了很多有趣的現象:
一部分社區成員積極推動升級,出于信息不對稱或者商業利益,某些成員言必稱某些 opcode,一些項目會依賴某些「可能會出現」的 opcode。
相當多務實的生態開發者基于不做協議升級的前提,做了大量的密碼學和工程工作,來拓展比特幣的潛力。
倡導緩慢升級或者反對升級的聲音也不在少數。
這些現象的出現,說明升級的話題在比特幣社區相當熱門,但是也體現了相當部分的社區成員對于一次比特幣升級完整過程并不了解,同時也缺乏對于創新密碼學工具對發揮比特幣潛力的作用。本文的核心寫作目的正是打破這種信息不對稱,讓所有人的信息在同一水平線上,進而做更深入的討論。
本文將對比特幣的升級做相關定義,通過回溯歷史來歸納某些規律,進而分析當前的升級提案和潛在的替代方案,最后為讀者總結若干 takeaway。意圖通過這些信息呈現,讓讀者掌握比特幣升級的概念 / 歷史 / 進展,為讀者對比特幣升級話題進行進一步的討論奠定基礎,為最終社區共識的形成做鋪墊。
本文努力呈現事實,同時作者作為比特幣生態開發者,期望比特幣能有更多的可能性,因此作者會表達對于一些話題的明確的觀點,請注意分辨。
比特幣白皮書定義了一個協議,由數以萬計遵循比特幣協議的節點組成了比特幣區塊鏈網絡。
協議的實現(通常稱為客戶端)有很多個版本,根據 bitnodes 數據源顯示,市占比最大的客戶端是 Bitcoin Core,因此 Bitcoin-Core 的代碼維護者(下稱 Bitcoin-Core-Devs)在比特幣生具備相當重要的影響力。
what-why-1
比特幣節點軟件有多個模塊組成,比特幣的相關升級提案由 BIP(Bitcoin Improvement Proposal) 來定義,人們為 BIP 做了若干分類。
通常情況下,當人們討論比特幣升級,一般是指「共識協議升級」,下文同理,由于共識協議升級需要全網絡的大部分的節點形成一致的意見(否則就可能會導致分叉),因此需要特別的慎重。如下圖所示,比特幣系統中的共識協議相關的模塊和 BIP 種共識層有關的提案,值得特別關注。
what-why-2
實際上,根據比特幣 github 倉庫的統計,修改非常活躍,由于大部分的變更都與共識協議無關,因此也沒有引起人們的廣泛關注。
Bitcoin-core-github-stats
根據 BIP-123 的定義,共識協議的升級主要分為軟分叉(soft fork)與硬分叉(hard fork)。
另外,還有一個不是那么直覺的方式來詮釋和對比,也很有趣:
Soft fork:增加 / 加強規則(簡單想象一下,增加了一個新功能,例如支持 taproot 地址)
Hard fork:移除 / 放松規則(簡單想象一下,移除了一個限制,例如移除了區塊獎勵的限制)
前兩次成功的共識協議升級(Taproot/SegWit),均使用軟分叉的方式,在不出現巨大的社區分裂的情況下,本文集中討論 soft fork(軟分叉),即是兼容老版本軟件的情況下進行升級。
BIP 提案提交之后,經過的流程大概如下圖:
bip-state,來源:https://river.com/learn/what-is-a-bitcoin-improvement-proposal-bip/
通常一個軟分叉提案會聚合多個 BIP,例如 taproot 就包含了 3 個 BIP:
Schnorr Signature: BIP-340
Taproot: BIP-341
Tapscript: BIP-342
回顧一下 Taproot 的升級的時間表:
Taproot-timeline,Source: Kraken Intelligence, GitHub, CoinDesk, https://www.argoblockchain.com/articles/bitcoin-taproot-upgrade-explained
Taproot 軟分叉的階段里程碑包括:
對應的 BIP 被提出,實現方案通過 review
Bitcoin-Core 代碼維護者發起升級 github pull request
Bitcoin-Core 代碼維護者審核和合并 github pull request,決定激活方式
新版本 Bitcoin-Core 代碼發布
礦工鏈上投票方式來批準 BIP 的激活區塊高度
區塊高度到達約定高度,完成升級
要注意的是,這個過程是回看歷史總結出來的,實際上對這個里程碑也不存在成文的共識。
在整個過程中,Bitcoin Development Mailing List 起到了凝結各方共識的關鍵作用。
如文章開頭所述,對于升級當前社區主要是有三類聲音:
積極推動派:提出了大量的提議,下面會進行分析。
務實建設派:基于現有協議實現 Fraud Proof(BitVM 及其擴展),函數加密(通過 Bitcoin PIPEs 實現的契約和 zk 證明)和哈希碰撞(通過 ColliderScript 實現的契約)等。
維持不變派:他們認為升級應該非常緩慢穩妥(10 年為周期)的 TeamSlowAndSteady,和除非出現量子攻擊不要升級的 Ossifiers(參考)
作者做了一下更新與不更新的利弊分析:
作為一個務實的比特幣生態開發者,作者認為在現有協議框架下,通過密碼學或者工程創新,充分挖掘比特幣的潛力是必不可少的,同時從「可持續性」與「適應性」等角度來看,在充分評估影響范圍和安全風險的情況下,根據需要來持續升級,是可取的。
比特幣歷史上的香港共識(簽署于 2016 年 2 月的比特幣圓桌活動,參考)主要參與方是:
Bitcoin-Core-Devs
礦池
用戶和生態開發者(主要是交易所 / 芯片廠商等)
隨著比特幣的采用率的快速提升,比特幣升級的利益相關方也從最早簡單的三權分立逐步發展演變,進入了列王紛爭局面,參考報告 Analyzing Bitcoin Consensus: Risks in Protocol Upgrades。
stakeholders
這里面幾個角色值得重點介紹一下:
Economic Nodes:主要是指主流的 CEX 交易所 / 支付機構 / 托管服務商等,他們的在 soft fork 種的態度決定哪種是合法的比特幣,會對采用率有重要影響。
Investors:在比特幣策略(EFT/ 機構儲備 / 國家儲備等)在全球盛行的大背景下,投資者這個角色本身變得更加復雜。
User&Ecosystem Developer:在 Taproot 升級之后,比特幣生態蓬勃發展,出現了 Ordinals 等資產協議,也涌現了一大批原生應用 / 擴容協議。
對于這些角色,有一些有趣的結論:
不同的利益相關方在不同的階段發揮不同作用:例如 Ecosystem Developer 對于提案有比較大的積極性,Protocol Developer 經常行使對于 BIP 審核權限,礦池和經濟節點對于激活有比較大的影響力
不同的 Ecosystem Developer 傾向提出和支持與自己商業利益相關的提案
根據公開資料,從比特幣網絡啟動以來,發生過多次 soft fork 升級。
soft forks,數據來源:https://blog.bitmex.com/a-complete-history-of-bitcoins-consensus-forks-2022-update/、https://www.drivechain.info/media/slides/mit-2023.pdf
從上圖中可以總結出一些有趣的結論:
比特幣的協議出現了某種僵化,隨著時間推移, softfork 的頻次降低
升級的共識達成需要的時間越來越長
分析過往的 soft fork 包含的 BIP,可以總結出有如下的關注方面:
根據前面的各方面列舉的事實和分析,我們嘗試定義一個好的升級提案:
堅持比特幣作為支付系統的核心定位:比特幣是有獨特定位的
應用潛力 / 帶來風險之間取得優雅的平衡:使得大部分人都喜歡,沒有人強烈反對
合適的升級規模:不能太簡單(不值得大動干戈),也不能太復雜(推動很困難)
合理的時機:需要有強烈的需求,解決特定的問題。例如在 SegWit 升級階段,擴容是強需求
作者收集了大部分活躍的提案,嘗為他們打上關注方面標簽,同時放到四象限中,便于讀者進行可視化理解。
對于歸類的需要注意:
四個關注方面不完全相互隔離,例如有利于增強可編程性的 BIP 實際上某種程度可能也會有助于可擴展性。
一個提案可能會有多方面的關注,例如 OP_CAT 本身是增強可編程性,但是實際更多人推動是因為它有助于實現 validity rollup。
對于一個提案的關注哪些方面這個話題,就需要某種的「共識」(政治本身),要注意這里并沒有唯一的定義,因為不同的參與者會有不同的角度
第二個 diagram 不是坐標系,根據標簽進行歸類劃分,圓圈屬性(大小 / 位置 / 顏色等)不具有特殊意義
proposal category-2
proposal category-1
從上圖可以看到,社區對于升級要解決的問題有一定的共識,即圍繞支付系統所需要的功能擴展,可以歸類為如下 2 大類:
可編程性:使得 UTXO 的更強的編程能力,例如 covenant/vault/ 交易自省 / 條件支付 /script 增強等
擴展性:對于 L2 的擴展,整體方案又分為鏈上驗證和鏈下驗證兩大類,都有一些積極主推的提案
作者認為,比特幣社區對于下一次升級陷入共識的迷宮,原因如下:
僵化:接近 $2T FDV 的軟件系統,相當部分的利益相關方傾向于保持穩定,沒有哪一方愿意承擔事故責任
利益相關方高度分化: 不同利益相關的訴求不一樣,在不同的階段能發揮的作用不一樣;政府也成了利益相關者
治理機制不完善:比特幣作為最早的區塊鏈,缺乏非常完善的治理的機制;社區對于軟分叉激活方式也沒法達成共識
Protocol Developer 角色本身是動態變化的:即便他們也的確會否決一些提案,但無法用簡單的守舊 / 追新來形容
缺乏緊迫性:區塊鏈基礎設施發展日趨完善,對于比特幣的升級沒有非常強的需求
本文通過介紹比特幣升級的基礎概念,對歷史升級進行了深入分析,最后展望了下一次升級的活躍提案,歸納出當前存在的共識之迷的原因。
經過回顧和展望,相信讀者已經對于當前升級所處的狀態有一定了解,最后總結若干 takeaway。
務實建設同時穩妥推進升級,軟分叉更可取
利益相關高度分化,社區傾向于保守
必須在堅持比特幣核心價值定位的前提下談升級
擴展性只是其中一個升級的關注方面
需要一個更好的時機,好的升級提案會快速獲得共識
社區需要探索更好的治理機制
本文調研 / 寫作 / 審校過程中,得到了大量的幫助,包括考慮各種因素不愿意署名社區成員,在這里一并致謝。值得注意的是:考慮到文中觀點部分帶有個人偏好,下列感謝列表不代表他們完全同意文中的內容,本文也無意將這些社區的熱心人卷入到任何的爭執之中。