作者:kevin He,Bitlayer 共同創辦人
前言
關於比特幣下一次升級的話題一直不絕於耳,然而到目前(DEC-2024)為止,社區對於要不要升級/ 升級要解決的問題/ 要帶來的功能等話題並還沒有達成一致,基本上是各執一詞的情況,像極了某種政治僵局。
在這種僵局下,呈現了許多有趣的現象:
-
部分社群成員積極推動升級,出於資訊不對稱或商業利益,某些成員言必稱某些opcode,有些專案會依賴某些「可能會出現」的opcode。
-
相當多務實的生態開發者基於不做協議升級的前提,做了大量的密碼學和工程工作,來拓展比特幣的潛力。
-
倡導緩慢升級或反對升級的聲音也不在少數。
這些現象的出現,說明昇級的話題在比特幣社群中相當熱門,但是也體現了相當部分的社群成員對於一次比特幣升級完整過程並不了解,同時也缺乏對於創新密碼學工具對發揮比特幣潛力的作用。本文的核心寫作目的正是打破這種資訊不對稱,讓所有人的資訊在同一水平線上,進而做更深入的討論。
本文將對比特幣的升級做相關定義,透過回溯歷史來歸納某些規律,進而分析目前的升級提案和潛在的替代方案,最後為讀者總結若干takeaway。意圖透過這些資訊呈現,讓讀者掌握比特幣升級的概念/ 歷史/ 進展,為讀者對比特幣升級話題進行進一步的討論奠定基礎,為最終社區共識的形成做鋪墊。
本文努力呈現事實,同時作者作為比特幣生態開發者,期望比特幣能有更多的可能性,因此作者會表達對於一些主題的明確的觀點,請注意分辨。
升級簡介:What and Why
什麼是比特幣升級
比特幣白皮書定義了一個協議,由數以萬計遵循比特幣協議的節點組成了比特幣區塊鏈網路。
協定的實作(通常稱為客戶端)有許多版本,根據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:移除/ 放鬆規則(簡單想像一下,移除了一個限制,例如移除了區塊獎勵的限制)
BIP 和軟分叉的流程
前兩次成功的共識協議升級(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 注意方面
分析過往的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
本文透過介紹比特幣升級的基礎概念,對歷史升級進行了深入分析,最後展望了下一次升級的活躍提案,歸納出當前存在的共識之迷的原因。
經過回顧與展望,相信讀者已經對於目前升級所處的狀態有一定了解,最後總結若干takeaway。
-
務實建設同時穩健推進升級,軟分叉較可取
-
利益相關高度分化,社區傾向保守
-
必須在堅持比特幣核心價值定位的前提下談升級
-
擴展性只是其中一個升級的關注方面
-
需要一個更好的時機,好的升級提案會快速獲得共識
-
社區需要探索更好的治理機制
致謝
本文研究/ 寫作/ 審校過程中,得到了大量的幫助,包括考慮各種因素不願意署名社區成員,在這裡一併致謝。值得注意的是:考慮到文中觀點部分帶有個人偏好,下列感謝清單不代表他們完全同意文中的內容,本文也無意將這些社群的熱心人捲入任何的爭執之中。