本文努力呈現事實,同時作者作為比特幣生態開發者,期望比特幣能有更多的可能性,因此作者會表達對於一些主題的明確的觀點,請注意分辨。

作者:Kevin He,共同創辦人 @BitlayerLabs

前言

關於比特幣下一次升級的話題一直不絕於耳,然而到目前(DEC-2024)為止,社區對於要不要升級/升級要解決的問題/要帶來的功能等話題並還沒有達成一致,基本上是各執一詞的情況,像極了某種政治僵局。

  在這種僵局下,呈現了許多有趣的現象:

  1. 部分社群成員積極推動升級,出於資訊不對稱或商業利益,某些成員言必稱某些 opcode,有些專案會依賴某些「可能會出現」的 opcode。
  2. 相當多務實的生態開發者基於不做協議升級的前提,做了大量的密碼學和工程工作,來拓展比特幣的潛力。
  3.   倡導緩慢升級或反對升級的聲音也不在少數。

這些現象的出現,說明昇級的話題在比特幣社群中相當熱門,但是也體現了相當部分的社群成員對於一次比特幣升級完整過程並不了解,同時也缺乏對於創新密碼學工具對發揮比特幣潛力的作用。本文的核心寫作目的正是打破這種資訊不對稱,讓所有人的資訊在同一水平線上,進而做更深入的討論。

本文將對比特幣的升級做相關定義,透過回溯歷史來歸納某些規律,進而分析目前的升級提案和潛在的替代方案,最後為讀者總結若干 takeaway。意圖透過這些資訊呈現,讓讀者掌握比特幣升級的概念/歷史/進展,為讀者對比特幣升級話題進行進一步的討論奠定基礎,為最終社區共識的形成做鋪墊。

本文努力呈現事實,同時作者作為比特幣生態開發者,期望比特幣能有更多的可能性,因此作者會表達對於一些主題的明確的觀點,請注意分辨。

  升級簡介:What and Why

  什麼是比特幣升級

比特幣白皮書定義了一個協議,由數以萬計遵循比特幣協議的節點組成了比特幣區塊鏈網路。

  協定的實作(通常稱為客戶端)有很多個版本,根據

https://bitnodes.io/nodes/ 資料來源顯示,市佔比最大的客戶端是 Bitcoin Core,因此 Bitcoin-Core 的程式碼維護者(下稱 Bitcoin-Core-Devs)在比特幣生具備相當重要的影響力。

what-why-1
  什麼-為什麼-1

比特幣節點軟體有多個模組組成,比特幣的相關升級提案由 BIP(Bitcoin Improvement Proposal) 來定義,人們為 BIP 做了若干分類。

通常情況下,當人們討論比特幣升級,一般是指 “共識協議升級”,下文同理,由於共識協議升級需要全網絡的大部分的節點形成一致的意見(否則就可能會導致分叉),因此需要特別的慎重。如下圖所示,與比特幣系統中的共識協議相關的模組和 BIP 種共識層有關的提案,值得特別關注。

what-why-2
  什麼-為什麼-2

實際上,根據比特幣 github 倉庫的 統計,修改非常活躍,由於大部分的變更都與共識協議無關,因此也沒有引起人們的廣泛關注。

Bitcoin-core-github-stats
Bitcoin-core-github-stats

  共識協議升級類型

根據 [BIP-123]https://github.com/bitcoin/bips/blob/master/bip-0123.mediawiki) 的定義,共識協議的升級主要分為軟分叉(soft fork)與硬分叉(hard fork)。

特性Soft ForkHard Fork
  是否相容舊節點
  是否需要全網更新不一定
  範例SegWit/TaprootBitcoin XT/Bitcoin Cash
  • 另外,還有一個不是那麼直覺的方式來詮釋和對比,也很有趣:Soft fork:增加/加強規則(簡單想像一下,增加了一個新功能,例如支持 taproot 地址)Hard fork:移除/放鬆規則(簡單想像一下,移除了一個限制,例如移除了區塊獎勵的限制)

 BIP 和軟分叉的流程

前兩次成功的共識協議升級(Taproot/SegWit),均使用軟分叉的方式,在不出現巨大的社區分裂的情況下,本文集中討論 soft fork(軟分叉),即是兼容舊版本軟體的情況下進行升級。

 BIP 提案提交後,經過的流程大概如下圖:

bip-state
bip-state

來源:https://river.com/learn/what-is-a-bitcoin-improvement-proposal-bip/

通常一個軟分叉提案會聚合多個 BIP,例如 taproot 就包含了 3 個 BIP:

  1. Schnorr Signature: BIP-340
  2. Taproot: BIP-341
  3. Tapscript: BIP-342

  回顧 Taproot 的升級的時間表:

Taproot-timeline
  主根時間線

資料來源:Kraken Intelligence、GitHub、CoinDesk、https://www.argoblockchain.com/articles/bitcoin-taproot-upgrade-explained

 Taproot 軟分叉的階段里程碑包括:

  1. 對應的 BIP 被提出,實現方案透過 review
  2. Bitcoin-Core 程式碼維護者發起升級 github pull request
  3. Bitcoin-Core 程式碼維護者審核和合併 github pull request,決定啟動方式
  4.   新版本 Bitcoin-Core 程式碼發布
  5.   礦工鏈上投票方式來批准 BIP 的活化區塊高度
  6.   區塊高度到達約定高度,完成升級

要注意的是,這個過程是回看歷史總結出來的,實際上對這個里程碑也不存在成文的共識。

在整個過程中, Bitcoin Development Mailing List 扮演了凝結各方共識的關鍵角色。

  為什麼要升級

如文章開頭所述,對於升級當前社區主要是有三類聲音:

  1.   積極推動派:提出了大量的提議,下面會進行分析。
  2. 務實建設派:基於現有協議實現 Fraud Proof(BitVM 及其擴展),函數加密(透過 Bitcoin PIPEs 實現的契約和 zk 證明)和哈希碰撞(透過 ColliderScript 實現的契約)等。
  3. 維持不變派:他們認為升級應該非常緩慢穩妥(10 年為週期)的 TeamSlowAndSteady,和除非出現量子攻擊不要升級的 Ossifiers(參考)

  作者做了更新與不更新的優缺點分析:

Consensus ChangePros  缺點
Change技術進步、增強安全性、擴展用例分叉風險,複雜性增加
Unchanged穩定與信任,避免分裂風險,最小化攻擊面技術停滯,缺乏因應新需求的彈性

作為一個務實的比特幣生態開發者,作者認為在現有協議框架下,透過密碼學或工程創新,充分挖掘比特幣的潛力是必不可少的,同時從「永續性」與「適應性」等角度來看,在充分評估影響範圍和安全風險的情況下,根據需要來持續升級,是可取的。

  升級深入

  升級的利害關係人

比特幣歷史上的香港共識(簽署於 2016 年 2 月的比特幣圓桌活動, 參考)主要參與者是:

  1. Bitcoin-Core-Devs
  2.   礦池
  3.   用戶和生態開發者(主要是交易所/晶片廠商等)

隨著比特幣的採用率的快速提升,比特幣升級的利益相關者也從最早簡單的三權分立逐步發展演變,進入了列王紛爭局面,參考報告 Analyzing Bitcoin Consensus: Risks in Protocol Upgrades。

stakeholders
stakeholders

  這裡面幾個角色值得重點介紹一下:

  1. Economic Nodes:主要指主流的 CEX 交易所/支付機構/託管服務商等,他們的在 soft fork 種的態度決定哪種是合法的比特幣,會對採用率有重要影響。
  2. Investors:在比特幣策略(EFT/機構儲備/國家儲備等)在全球盛行的大背景下,投資者這個角色本身變得更加複雜。
  3. User&Ecosystem Developer:在 Taproot 升級後,比特幣生態蓬勃發展,出現了 Ordinals 等資產協議,也湧現了一大批原生應用/擴容協議。

  對於這些角色,有一些有趣的結論:

  1. 不同的利害關係人在不同的階段發揮不同作用:例如 Ecosystem Developer 對於提案有比較大的積極性,Protocol Developer 經常行使對於 BIP 審核權限,礦池和經濟節點對於啟動有比較大的影響力
  2. 不同的 Ecosystem Developer 傾向提出並支持與自己商業利益相關的提案

  升級的歷史和總結

根公開資料,從比特幣網路啟動以來,發生過多次 soft fork 升級。

soft forks
soft forks

  資料來源:

https://blog.bitmex.com/a-complete-history-of-bitcoins-consensus-forks-2022-update/
https://www.drivechain.info/media/slides/mit-2023.pdf

  從上圖可以總結出一些有趣的結論:

  1. 比特幣的協議出現了某種僵化,隨著時間推移, softfork 的頻率降低
  2.   升級的共識達成所需的時間越來越長

 Soft Fork 注意方面

分析過往的 soft fork 所包含的 BIP,可以總結出有以下的關注面向:

  注意方面案例
  擴展性(scalability)SegWit/Schnorr
  隱私(privacy)Taproot/MAST/P2SH
  可程式性(programability)CLTV/Tapscript
安全性(security)  停用操作碼

  何為好的升級提案

根據前面的各方面列舉的事實和分析,我們試著定義一個好的升級提案:

  1. 堅持比特幣作為支付系統的核心定位:比特幣是有獨特定位的
  2. 應用潛力/帶來風險之間取得優雅的平衡:使得大部分人都喜歡,沒有人強烈反對
  3. 合適的升級規模:不能太簡單(不值得大動乾戈),也不能太複雜(推動很困難)
  4. 合理的時機:需要有強烈的需求,解決特定的問題。例如在 SegWit 升級階段,擴容是強需求

  升級展望

  提案歸類

作者收集了大部分活躍的提案,嚐為他們打上關注方面標籤,同時放到四象限中,便於讀者進行視覺化理解。

  對於歸類的需要注意:

  1. 四個關注方面不完全相互隔離,例如有利於增強可編程性的 BIP 實際上某種程度可能也會有助於可擴展性。
  2. 一個提案可能會有多方面的關注,例如 OP_CAT 本身是增強可編程性,但是實際更多人推動是因為它有助於實現 validity rollup。
  3. 對於一個提案的關注哪些面向這個主題,就需要某種的「共識」(政治本身),要注意這裡並沒有唯一的定義,因為不同的參與者會有不同的角度
  4. 第二個 diagram 不是座標系,依照標籤歸類劃分,圓圈屬性(大小/位置/顏色等)不具有特殊意義
proposal category-2
  提案類別-2
proposal category-1
  提案類別-1

  社區呼聲

從上圖可以看到,社群對於升級要解決的問題有一定的共識,也就是圍繞支付系統所需的功能擴展,可以歸類為如下 2 大類:

  1. 可程式性:使得 UTXO 的更強的程式設計能力,例如 covenant/vault/交易自省/條件支付/script 增強等
  2. 擴展性:對於 L2 的擴展,整體方案又分為鏈上驗證和鏈下驗證兩大類,都有一些積極主推的提案

  共識之謎

作者認為,比特幣社群對於下一次升級陷入共識的迷宮,原因如下:

  1. 僵化:接近 $2T FDV 的軟體系統,相當部分的利害關係人傾向於保持穩定,沒有哪一方願意承擔事故責任
  2. 利害關係人高度分化: 不同利害關係人的訴求不一樣,在不同的階段能發揮的作用不一樣;政府也成了利害關係人
  3. 治理機制不完全:比特幣作為最早的區塊鏈,缺乏非常完善的治理的機制;社群對於軟分叉活化方式也沒辦法達成共識
  4. Protocol Developer 角色本身是動態變化的:即便他們也的確會否決一些提案,但無法用簡單的守舊/追新來形容
  5. 缺乏緊迫性:區塊鏈基礎設施發展日趨完善,對於比特幣的升級沒有非常強的需求

  總結&Takeaway

本文透過介紹比特幣升級的基礎概念,對歷史升級進行了深入分析,最後展望了下一次升級的活躍提案,歸納出當前存在的共識之迷的原因。

經過回顧與展望,相信讀者已經對於目前升級所處的狀態有一定了解,最後總結若干 takeaway。

  1.   務實建設同時穩健推進升級,軟分叉較可取
  2.   利益相關高度分化,社區傾向保守
  3.   必須在堅持比特幣核心價值定位的前提下談升級
  4.   擴展性只是其中一個升級的關注方面
  5.   需要一個更好的時機,好的升級提案會快速獲得共識
  6.   社區需要探索更好的治理機制

  致謝

在本文研究/寫作/審校過程中,得到了大量的幫助,包括考慮各種因素不願意署名社群成員,在這裡一併致謝。

值得注意的是:考慮到文中觀點部分帶有個人偏好,下列感謝清單不代表他們完全同意文中的內容,本文也無意將這些社群的熱心人捲入任何的爭執之中。

  •   協同編輯和審稿(字母排序)

Adrien Lacombe

Bob Bodily

  比特層研究團隊

Domo

Jeffrey Hu

  紅色的

Ren Zhang

Scott Odell

Super Testnet

  威爾·福克斯利

  •   提供了回饋和幫助(字母排序)

Ajian

Andrew Fenton

Ben77

David Tse

Eli Ben-Sasson

Mi Zeng

  未來工作

在整個過程中,作者發現還有很多問題值得深入,例如某些功能的解決方案/某些特定的提案的研究/某些觀點的數據支撐等。作者將會在後續的系列文章中進行闡述。

  參考文獻

https://bitcoinops.org/

https://groups.google.com/g/bitcoindev

https://github.com/TABConf/6.tabconf.com

https://petertodd.org/2024/covenant-dependent-layer-2-review

https://blog.bitmex.com/a-complete-history-of-bitcoins-consensus-forks-2022-update/

https://blog.bitmex.com/bitcoins-consensus-forks/

https://github.com/bitcoin/bips/blob/master/bip-0123.mediawiki

https://river.com/learn/what-is-a-bitcoin-improvement-proposal-bip/

https://bitnodes.io/nodes/

https://github.com/bitcoin/bitcoin/pulse/monthly

https://river.com/learn/what-is-a-bitcoin-improvement-proposal-bip/

https://trustmachines.co/learn/bitcoin-taproot-upgrade-basic-breakdown/

https://www.argoblockchain.com/articles/bitcoin-taproot-upgrade-explained

https://medium.com/@bitcoinroundtable/bitcoin-roundtable-consensus-266d475a61ff

https://github.com/bitcoin-cap/bcap

https://newsletter.blockspacemedia.com/p/four-takeaways-from-op-next

https://blog.bitfinex.com/education/is-ossification-good-or-bad-for-bitcoin/

https://arxiv.org/abs/2305.04079

https://www.allocin.it/uploads/placeholder-bitcoin.pdf

https://eprint.iacr.org/2024/1802

https://en.bitcoin.it/wiki/Covenants_support

免責聲明:作為區塊鏈資訊平台,本站所發布文章僅代表作者及來賓個人觀點,與 Web3Caff 立場無關。文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。