編譯:GaryMa 吳說區塊鏈
根據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)有效,而不僅僅是當前交易的哈希。它從資料棧中獲取簽名、公鑰和訊息,檢查簽名是否匹配。
由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.coindesk.com/tech/2025/03/17/developer-consensus-may-be-converging-on-a-bitcoin-soft-fork-proposal-blockspace
https://www.quantumcats.xyz/bip-land
https://github.com/bitcoin/bips