比特幣社群正在推動底層軟體的變更,可能迎來四年來首次由用戶主導的軟分叉。這一變更主要涉及兩個重要的比特幣改進提案(BIP-119 和 BIP-348),旨在引入新的腳本功能——Covenants。這將為比特幣的智能合約能力和安全性帶來顯著提升。
(前情提要: 貝萊德:比特幣不是風險資產,數位黃金定位將日漸明朗)
(背景補充: 追尋比特幣之神:一位記者對中本聰十五年的漫長調查)
據Blockspace 報導,比特幣基層社群在開始推動比特幣底層軟體的變更,這是超四年以來少有的事(此前可能重大的底層變更都由核心開發者群體主導推動)。
這次正在湧現基層支援的是兩個比特幣改進提案(BIP),即 BIP-119(CTV) 和 BIP-348(CSFS)。這兩個提案提出了新的比特幣指令碼編寫方式,將使比特幣能夠實現 「契約」(Covenants)的功能。這兩個提案可能會在比特幣下一次軟分叉中實施。
為了避免有些讀者暫時無法理解比特幣的 Covenants 以及這些具體的 BIP 方案的關係,這裡我們理清一下:
簡單來講,Covenants 是比特幣網路中的一個功能概念,而文中提及的兩個 BIP 是為了實現這個功能概念的不同實現方案。
什麼是比特幣的 Covenants?
定義:
Covenants 是比特幣協議中提議的機制,允許在交易中設定條件或限制,規定比特幣如何被花費或轉移。這些條件可以跨越多個交易,限制未來的支出方式,從而增強比特幣的指令碼功能。
作用:
- 提高比特幣的智慧合約能力,支援更復雜的應用(如貸款、去中心化交易所、保險庫)。
- 增強安全性,防止資金被盜或誤用。
- 優化網路效能,如減少交易費用或提高隱私。
這裡我們大概就能清楚,Covenants 是一個概念,而本文提及的 BIP-119(CTV)和 BIP-348(CSFS),是 Covenants 這個功能概念的具體實現。
當前狀態:
比特幣主網當前並未正式整合任何 Covenants 相關功能,儘管相關討論和提案(如 BIP-119)已推進多年。
BIP 119:OP_CHECKTEMPLATEVERIFY (CTV)
一個提議的比特幣操作碼,允許交易輸出指定一個 「模板」(Template),要求後續花費交易的輸出必須匹配該模板。
由前比特幣核心貢獻者 Jeremy Rubin 提出,已經存在了超過五年。它通過限制資金只能按預定義方式花費,實現了 「狀態攜帶」 的功能。
應用場景包括:
- 建立批量支付(Batch Payments),減少交易費用。 構建去中心化交易所(DEX)或貸款協議。
- 實現 Vaults(保險庫),保護資金免受盜竊。
- CTV 是 Covenants 的一種輕量級實現,專注於輸出格式限制,而不涉及複雜邏輯。
BIP 348:OP_CHECKSIGFROMSTACK (CSFS)
一個提議的比特幣操作碼,允許驗證一個簽名是否對任意訊息(Message)有效,而不僅僅是當前交易的hash。它從資料棧中獲取簽名、公鑰和訊息,檢查簽名是否匹配。
由 Jeremy Rubin 與 Brandon Black 在 2024 年 11 月正式提出。
OP_CSFS 是實現更靈活 Covenants 的強大工具,因為它允許對交易輸入進行 「自省」(Introspection),即檢查簽名交易的完整內容或狀態。
具體應用:
- Covenants 實現:OP_CSFS 可用於建立複雜的條件邏輯,確保資金只能按特定規則花費。例如,驗證者可以檢查交易輸入是否符合預設模板或限制。
- 安全增強:支援 Vaults 和去中心化協議,通過簽名驗證防止盜竊或未授權支出。
- 擴展套件性:與其他操作碼(如 OP_CAT)結合,可構建更復雜的智慧合約。
而提到了比特幣的 Covenants 以及 BIP-119(CTV)BIP-348(CSFS)這兩組提案,那麼肯定是少不了 OP_CAT 的。
BIP 347:OP_CAT
歷史:
早期存在:OP_CAT 是比特幣原始指令碼語言的一部分,由中本聰(Satoshi Nakamoto)在 2009 年比特幣推出時包含在內。它最初被設計為增強指令碼的靈活性,支援更復雜的邏輯。
移除原因(2010 年):
- OP_CAT 在 2010 年被移除(禁用),原因是為了防止潛在的安全漏洞和資源濫用。
- 具體問題:如果不加限制,OP_CAT 可以被惡意使用者用來生成無限長的資料(通過遞迴呼叫),導致 「拒絕服務攻擊」(DoS Attack),因為比特幣節點需要處理這些資料,增加計算和儲存開銷。
- 當時比特幣指令碼語言被簡化,保留了最基本的功能,確保協議的輕量化、安全性和去中心化。
定義與作用:
OP_CAT 是一個比特幣指令碼語言(Script)的操作碼(Opcode),它不是直接的 Covenant 實現,但它是構建複雜 Covenant 邏輯的潛在工具。相比於上述兩個操作碼,OP_CAT 更通用,適合資料操作,但需要與其他操作碼結合才能實現複雜功能。
現狀:
比特幣社群近年來重新討論 OP_CAT 的迴歸,此前以較為社群玩性符號的 BIP-420 提案的形式出現,不過目前以 BIP-347 編號正式合並到 bitcoin/bips 倉庫。
進展如何
據 Coindesk 訊息,在過去的幾周內,許多西方比特幣開發者在 Twitter 上紛紛表達了對 CTV 和 CSFS 的支援 — — 這無疑是一個強烈訊號,表明至少在社交媒體圈內,部分比特幣社群正朝著接受這些變更的方向邁進。
此外,開發者普遍認為這兩個提案的定義較為 「狹窄」。通俗來說,這意味著一旦啟用,被使用者意外濫用的可能性較低。比特幣開發者社群歷來對比特幣的變更持謹慎態度。例如,儘管 BIP 119 已經擱置近五年,但在不久前,CTV 還曾被視為過於激進,不宜啟用。
這兩個提案的共同發起者 Jeremy Rubin 早前為推廣 CTV 所進行的活動曾遭到強烈反對 — — 尤其是來自一些擁有大量追隨者的比特幣意見領袖,如 Adam Back 和 Jimmy Song 的批評。種種批評最終演變為比特幣社群中廣泛的不滿,迫使 Rubin 最終淡出了比特幣領域。
那麼,究竟是什麼促成了這種變化?近期對 OP_CAT 操作碼的倡導,似乎拓寬了被認為 「可接受」 的比特幣提案的範圍,將 CTV 與 CSFS 框定為相對 「保守」 的選項。值得注意的是,大多數支援 OP_CAT 的人士也同樣支援 BIP 119 和 BIP 348(以及大多數其他提案)。
接下來我們可以期待什麼?首先,討論還將持續。預計開發者將在幾場技術會議上進一步探討這些提案,例如計劃於 4 月舉行的 OPNEXT、7 月的 BTC++ 以及 10 月的 TABConf。一旦開發者初步達成共識,軟分叉的實際啟用便將移交給礦工、社群和投資者進行最終確認。
如何跟進 BIPs 在社群的討論進展 / 軟發叉的流程?
答案是很難!
比特幣的技術社群通常會就這些提案進行深入討論。但這是一個看似晦澀且迴圈往復的討論流程。
簡單來說,比特幣軟分叉的流程需要大致估計比特幣各利益相關方的支援程度,這包括開發者、託管者、投資者以及礦工。而最直觀的支援指標通常來自礦工,因為他們能通過在所挖區塊中發出訊號來表明對程式碼庫變更的認可。通常,Bitcoin Core 要求在一段時間內 95% 的區塊發出支援訊號,之後才會將更新鎖定以待啟用。
然而,對於 「廣泛支援」 到底應如何定義,目前尚無定論,比特幣共識始終處於不斷演變之中。礦工之所以成為重要的訊號提供者,僅僅因為他們在比特幣網路中是一個 「可計數」 的實體。換句話說,由於比特幣的去中心化結構,很難從 「肉眼可見」 的角度衡量總體共識。
不過,一家以比特幣 NFT 聞名的開發公司 Taproot Wizards 以 OP_CAT 為例,用流程圖表的方式揭祕比特幣軟分叉的漫長而複雜的過程,有興趣的讀者可以 https://www.quantumcats.xyz/bip-land 自行檢視,這裡我們儘量概括一下:
BIPs 提案生命週期 | 比特幣軟分叉的漫長而複雜的過程
1. 提案最初在比特幣開發者的郵件列表中被提出和討論。
2. 進入更大的社群範圍討論,進入了提案功能的優缺點的長期討論困境,若無法進一步推進,就止步於此了。
3. 基層社群在 Github 上為提案撰寫 BIP 草稿。
4. 開發者著手相關程式碼實現,得無長期審計 Bug 才能繼續往下走。
5. 經過比特幣倉庫 BIP 編輯者的稽核和社群初步認可,分配正式 BIP 編號。
6. 進入 Signet 測試網路。Signet 是一種比特幣的測試網路,允許開發者在不影響主網的情況下,對新功能或程式碼變更進行試驗。(可能大部分新功能就永久擱置在這一步驟了)
7. 可能進入 Liquid 側鏈進行試驗。
8. 向 Bitcoin Core 提交 PR。
9. 進入比特幣核心程式碼審查和提案合並流程,高度不確定。只有在避開了大部分反對意見並滿足技術要求(無嚴重 Bug)時,提案才有機會進入合並階段;關鍵開發者(如 Pieter Wuille)的意見往往至關重要,得到認可或否決會極大影響提案命運。
10. 若程式碼稽核沒問題,等待比特幣倉庫維護者將 PR 合並入主專案。目前有五個維護者:Michael Ford (fanquake)、Hennadii Stepanov(hebasto)、Andrew Chow(achow101)、 Gloria Zhao(glozow)、Ryan Ofsky(ryanofsky)。
11. 繼續是比特幣開發者和礦工等不同群體間潛在的爭議與討論。
12. 選擇啟用機制:
a. 礦工主導軟分叉(MASF):由礦工通過訊號(通常 95% 閾值)啟用新規則,如 BIP-9 或 BIP-8 的預設模式。較為穩定,但需協調廣泛共識和測試,因此需要時間較長;
b. 使用者主導軟分叉(UASF):由節點運營商(使用者)強制啟用新規則(如 BIP-8 的 「Lockinontimeout: True」),繞過礦工阻力,有潛在的鏈分叉風險和社群分歧。
結語
吳說此前曾報導,Bitcoin.org 域名維護者 Cobra 警告稱,2025 年比特幣網路可能迎來由比特幣核心外的匿名開發者發起的使用者主導軟分叉(UASF),說得其實就是本文提及的 BIP 119 的潛在變更。Cobra 認為,這些改進可能引發 「固化派」 與 「改進派」 之間的分歧,由基層社群主導,並由非比特幣核心開發者推動。
據瞭解,UASF(使用者主導軟分叉) 是一種由比特幣使用者發起的協議升級方式,通過升級節點軟體強制執行協議更新,即使礦工或其他方不支援,因此也意味著鏈分叉風險。當然目前也不必杞人憂天,畢竟很多仍懸而未決。例如,未來的軟分叉是否只會包含 CTV 和 CSFS?是否會將經常與這組操作碼一起討論的 OP_CAT 納入考慮?軟分叉的實際啟用過程將如何展開?其他利益相關者(例如比特幣礦工)是否會予以足夠重視?
畢竟只要 BIPs 的共識足夠大,由基層社群推動的提案也一樣能夠以礦工主導軟分叉(MASF)的形式進行。而且即使是 UASF,歷史上也有成功案例。UASF 在 2017 年的 SegWit 升級中發揮了關鍵作用,使用者成功推動軟分叉,避免了硬分叉,促進了比特幣擴容。
參考連結:
https://www.quantumcats.xyz/bip-land
https://github.com/bitcoin/bips