比特幣的下一個重大升級是什么?對OP_CAT和OP_CTV的評估
但正如之前的 SegWit 和 Taproot 升級所示,開發(fā)者仍然愿意優(yōu)化比特幣的編程語言和網(wǎng)絡(luò)參數(shù)。
比特幣的編程語言——Bitcoin Script,無法使交易攜帶全局狀態(tài),并且具有自省能力,這限制了其表達能力。
目前有兩個主要提案,OP_CAT(BIP 347) 和 OP_CTV(BIP 119),它們旨在增強比特幣交易的可編程性,使交易輸出具備更多的支出條件。這些提案可能會極大增強 Bitcoin Script 的功能,使其更加靈活。
OP_CAT 和 OP_CTV 最有潛力的應(yīng)用場景包括:在比特幣第一層(L1)和第二層(L2)之間建立無需信任的跨鏈橋改進高級自托管保險庫解決方案以及閃電網(wǎng)絡(luò)的改進。
軟分叉升級的治理過程涉及多個比特幣利益相關(guān)方。在協(xié)議構(gòu)思和技術(shù)審查的早期階段,媒體影響者和核心開發(fā)者擁有最大的影響力。
Galaxy Research 預(yù)測,比特幣核心開發(fā)者將在 2025 年就 OP_CAT 或 OP_CTV 達成共識,但由于激活過程較為復(fù)雜,實際實施可能需要 1-2 年。
1、引言
比特幣協(xié)議的變更需要多個利益相關(guān)方的討論與協(xié)作,包括但不限于協(xié)議開發(fā)者、全節(jié)點、終端用戶和礦工。實現(xiàn)協(xié)議升級的共識過程復(fù)雜且充滿爭議。例如,2015-2017 年的“區(qū)塊大小之爭” 讓比特幣社區(qū)分 裂,一方希望調(diào)整區(qū)塊大小,另一方則反對。多年的爭論最終導(dǎo)致了區(qū)塊鏈的永久性分叉,并誕生了一個新的加密貨幣——比特幣現(xiàn)金(Bitcoin Cash),它是比特幣的一個分叉版本。
鑒于達成協(xié)議變更共識的難度,比特幣的重大升級較為罕見。比特幣協(xié)議開發(fā)者拒絕有爭議的升級,并且時間實施那些得到更廣泛比特幣社區(qū)支持的升級需要花費數(shù)年,這已有很長的歷史。這凸顯了開發(fā)者對比特幣開發(fā)采取保守態(tài)度的承諾,以促進可預(yù)測性、網(wǎng)絡(luò)保真度和向后兼容性。
盡管比特幣的共識變更較為罕見,但比特幣開發(fā)者已表現(xiàn)出對比特幣腳本和網(wǎng)絡(luò)參數(shù)優(yōu)化的開放態(tài)度。區(qū)塊大小之爭中誕生的隔離見證(SegWit)升級實際上增加了區(qū)塊大小限制,允許區(qū)塊中包含更多交易。SegWit還通過將交易數(shù)據(jù)的計量單位從字節(jié)(bytes)改為虛擬字節(jié)(vbytes),優(yōu)化了交易數(shù)據(jù)的格式。這一轉(zhuǎn)變,加上將簽名數(shù)據(jù)移至見證字段,使得一個比特幣區(qū)塊可以包含多達4m權(quán)重單位的交易數(shù)據(jù)(約4MB)。比特幣的最后一個軟分叉是2021年的Taproot升級,它引入了一種名為Tapscript的更新版腳本語言。這個新版本的比特幣腳本包含了新的簽名方案(Schnorr簽名),改進了密鑰聚合,將多個公鑰和簽名合并為一個簽名密鑰。Schnorr簽名的密鑰聚合減少了需要多個簽名的交易數(shù)據(jù)量,同時提高了閃電網(wǎng)絡(luò)(比特幣最大的P2P支付層,建立在比特幣基礎(chǔ)層之上)上交易的隱私性。對SegWit和Taproot的簡要概述表明,盡管比特幣開發(fā)者對比特幣的共識變更持謹(jǐn)慎態(tài)度,但這并不意味著比特幣的技術(shù)特性不會發(fā)生變化。
在SegWit和Taproot之后,比特幣開發(fā)者現(xiàn)在正在探索提高比特幣的交易可編程性,以在交易中添加額外的智能合約邏輯。比特幣智能合約涉及支出條件的使用,即限制和控制未花費交易輸出(UTXO)未來如何被花費的能力,更復(fù)雜和嚴(yán)格的支出約束被稱為“covenants”(“限制條款”或“契約”)。本文將首先回顧比特幣腳本及其如何與比特幣的UTXO會計模型配合使用。隨后,我們將分析兩個待定的操作碼OP_CTV和OP_CAT,以強調(diào)這些操作碼如何有可能改進比特幣腳本,使其包含強大的功能,從而實現(xiàn)高效的交易可編程性。最后,本文強調(diào)了交易可編程性對比特幣基礎(chǔ)設(shè)施(如橋接和托管)的重要性,并展望了OP_CAT和OP_CTV達成共識的可能性,以及將這些操作碼實施到下一個軟分叉升級中的路徑。
2、比特幣腳本與UTXO模型
比特幣使用一種原生腳本語言來構(gòu)建交易,稱為“比特幣腳本”。腳本由一組指令組成,定義了交易的接收者如何花費正在發(fā)送的比特幣,也稱為“支出條件”。比特幣腳本由186個操作碼組成,這些操作碼作為命令函數(shù)運行。這些操作碼用于創(chuàng)建關(guān)于比特幣資產(chǎn)如何在網(wǎng)絡(luò)上花費和轉(zhuǎn)移的官方規(guī)則。例如,Pay-to-PubKey Hash交易包含4個操作碼,這些操作碼對比特幣交易強制執(zhí)行支出條件,其中比特幣被花費到一個哈希公鑰,并且只能使用與花費者相關(guān)的正確公鑰和私鑰進行花費。
比特幣腳本專為比特幣的未花費交易輸出(UTXO模型)設(shè)計,該模型使用輸入和輸出。每個比特幣交易至少包括1個輸入和1個輸出,盡管大多數(shù)簡單交易至少包括1個輸入和2個輸出(輸入端的一部分BTC用于資助交易,一部分發(fā)送給接收者,剩余部分在輸出端返回給花費者)。UTXO是尚未花費的比特幣部分,可以在未來的交易中發(fā)送。一旦UTXO被用作交易的輸入,它們就不再是輸出。因此,當(dāng)用戶花費比特幣時,UTXO會不斷被創(chuàng)建和銷毀。以下是一個簡化的UTXO模型示例:
*如果Alice的錢包中有一個價值1 BTC的UTXO,并且她向Bob發(fā)送了0.5 BTC,Alice的輸入將是1 BTC。*她的輸出將是0.49 BTC(返回給Alice)和0.5 BTC(發(fā)送給Bob)。0.01 BTC的差額代表支付給交易費用的BTC(此交易費用將根據(jù)網(wǎng)絡(luò)擁堵情況而變化)。*在此交易結(jié)束時,Alice將有一個新的UTXO集,代表她剩余的0.49 BTC。在第1步中,Alice使用她價值1 BTC的UTXO作為交易的第一個輸入,銷毀了UTXO。在第2步中,Alice創(chuàng)建了兩個新的UTXO,價值0.5 BTC和0.49 BTC,一個作為她的找零返回給她,另一個支付給Bob。在第3步中,Alice現(xiàn)在有一個新的UTXO,價值0.49 BTC。需要注意的是,如果Alice需要支付Bob 0.5 BTC,Alice也可以在第1步中使用多個UTXO,總和為0.5 BTC;如果輸入UTXO均沒有完全之出給接收者,Alice現(xiàn)在可能會收到2個新的UTXO,而不是1個。UTXO模型是比特幣網(wǎng)絡(luò)的一個關(guān)鍵特性,在交易處理和驗證中起著至關(guān)重要的作用。
上面的UTXO示例完全使用比特幣腳本構(gòu)建。每個UTXO都包含一個鎖定腳本,其中包括UTXO被花費的一組條件。當(dāng)用戶通過提供與相應(yīng)公鑰關(guān)聯(lián)的正確私鑰簽名來證明輸入(被花費的UTXO)的所有權(quán)時,UTXO的鎖定腳本將被解鎖。此信息稱為“腳本簽名”,當(dāng)輸入中包含正確的腳本簽名時,支出條件得到滿足,比特幣可以被花費?;氐紸lice和Bob的UTXO示例,在第1步中,Alice必須在其輸入中提供她的私鑰簽名以花費她的UTXO。隨后,Bob在花費他新收到的0.5 BTC之前必須提供相同的信息。
比特幣的腳本語言可以包含更復(fù)雜的支出條件,例如需要多個簽名或在特定區(qū)塊高度解鎖比特幣。然而,比特幣腳本并非通用的,缺乏像以太坊原生編程語言Solidity那樣的表達能力。因此,使用比特幣腳本為橋接和托管解決方案編程智能合約邏輯極具挑戰(zhàn)性。
3、截至2025年比特幣腳本面臨的障礙
盡管比特幣腳本在過去16年中證明了其對用戶的實用性和對雙花攻擊的抵御能力,但該腳本語言缺乏通用功能,如表達性和存儲全局狀態(tài)的能力。比特幣腳本不具備表現(xiàn)力,因為它是一種基于堆棧的編程語言,無法對大數(shù)進行乘法和算術(shù)運算。比特幣腳本只能對32位大小的值進行非平凡(non-trivial)計算。因此,比特幣腳本將大于32位的堆棧元素彼此隔離。這種32位的限制隔離了使用加密函數(shù)、乘法和除法的計算密集型命令,這些命令需要比當(dāng)前操作碼集更大的腳本大小。雖然可以使用多個操作碼模擬算術(shù)和乘法,但這需要許多堆棧元素,而比特幣腳本的堆棧大小限制為1000個元素。因此,在交易輸出上創(chuàng)建超出當(dāng)前操作的復(fù)雜支出條件具有挑戰(zhàn)性。
比特幣腳本的最大限制是該語言無法讀取/寫入和存儲交易數(shù)據(jù),因為它只能讀取花費者提供的輸入。如果編程語言無法存儲全局狀態(tài),腳本就無法獨立驗證應(yīng)用程序或橋上的賬戶余額。比特幣腳本邏輯無法訪問全局狀態(tài),因為任何狀態(tài)數(shù)據(jù)都必須適合單個交易。因此,幾乎不可能開發(fā)通用功能或在L2網(wǎng)絡(luò)和比特幣基礎(chǔ)層之間構(gòu)建無信任橋接。
自2020年以來,克服比特幣腳本限制的舉措一直在進行中。多年來,開發(fā)者之間似乎已經(jīng)達成共識,即提高比特幣腳本表達性的唯一途徑是執(zhí)行軟分叉升級,實施新的操作碼以實現(xiàn)covenants。雖然比特幣社區(qū)的一部分人認(rèn)為這些升級對比特幣網(wǎng)絡(luò)構(gòu)成風(fēng)險,但另一部分人認(rèn)為比特幣需要更多的可編程性功能來擴展比特幣的用例。盡管在哪個操作碼最適合提高比特幣交易可編程性方面尚未取得實質(zhì)性進展,但covenants的倡導(dǎo)者現(xiàn)在大多同意OP_CTV和OP_CAT是增強比特幣交易可編程性的主要比特幣改進提案(BIPs)。我們了解到,在比特幣上實施covenants的解決方案不止兩種,但本文僅描述OP_CTV和OP_CAT這兩個最突出的提案。
4、BIP 119(OP_CTV)
比特幣改進提案119(BIP 119),也稱為CHECK-TEMPLATE-VERIFY(CTV),是由比特幣核心開發(fā)者Jeremy Rubin于2020年1月提出的提案。該提案引入了一個新的操作碼OP_CTV,該操作碼可以在比特幣交易的輸出上實施一般支出條件,即covenants。下面來做一個簡單的背景介紹。“CHECK_TEMPLATE_VERIFY”中的模板部分指的是編寫比特幣腳本時必須遵循的交易格式。CHECK-TEMPLATE-VERIFY是一種新功能,它使交易輸出的鎖定腳本能夠承諾存儲在鎖定腳本中的支出條件作為哈希,也稱為承諾哈希。因此,只有在滿足承諾哈希中詳細說明的條件時,交易輸出才能被解鎖。一旦在鏈上廣播,與交易相關(guān)的承諾哈希是不可變的。OP_CTV的好處是交易發(fā)送者可以對接收者施加支出條件,這是對比特幣腳本當(dāng)前規(guī)則的重大改變,當(dāng)前規(guī)則只能構(gòu)造發(fā)送者的支出條件。
Covenants契約主要有兩種類型。一般契約可以復(fù)制并應(yīng)用于多個UTXO。Covenants在UTXO被花費后不會過期。另一方面,預(yù)計算契約也可以復(fù)制,但只能在有限的、預(yù)定義的次數(shù)內(nèi)使用。預(yù)計算契約的邏輯必須由發(fā)送者提前指定,并且與一般契約的不同之處在于支出條件不能無限復(fù)制。一般契約,也稱為遞歸契約,可能會對UTXO的可替代性構(gòu)成風(fēng)險,這就是為什么BIP 119的倡導(dǎo)者通常只關(guān)注使用預(yù)計算契約的OP_CTV用例,以及為什么BIP 119不支持一般契約。例如,如果啟用一般契約,托管人或比特幣交易所可能能夠處理帶有永久性支出條件的提款,這些比特幣可能永遠擺脫不了受到政府或其他權(quán)威機構(gòu)審查的可能性。
5、使用BIP 119部署Covenants
以金庫方案為例,以下關(guān)于OP_CTV功能如何實現(xiàn)covenants:
Alice希望在未來10年內(nèi)將她價值1 BTC的UTXO中的0.8 BTC花費給Bob和Charlie(每人0.4 BTC)。Alice還希望將她的找零約0.2 BTC發(fā)送到一個新的金庫,該金庫將BTC再鎖定10年。
步驟1:Alice將她價值1 BTC的UTXO花費給Bob和Charlie,并在鎖定腳本中詳細說明Bob和Charlie可以在525k個區(qū)塊后花費BTC,也就是大約10年后。Alice還包含了詳細說明她的找零輸出約0.2 BTC將發(fā)送到她擁有的金庫地址的指令,該地址將鎖定她的UTXO 525k個區(qū)塊,即大約10年后。
步驟2:Bob和Charlie在525k個區(qū)塊后花費他們各自價值0.4 BTC的UTXO。Alice設(shè)置的鎖定腳本將根據(jù)當(dāng)前區(qū)塊高度檢查承諾哈希,如果滿足條件,Bob和Charlie可以花費他們的新UTXO。
在步驟2中,Bob和Charlie花費他們的UTXO后,比特幣腳本的一部分,也稱為“鎖定腳本”,將檢查支出條件的履行情況,確保在釋放BTC之前滿足所有條件。此操作通常稱為使用正確的腳本簽名“解鎖”比特幣輸出。如果條件未滿足,鎖定腳本將不會啟動BTC的轉(zhuǎn)移。
步驟3:在Charlie和Bob滿足鎖定腳本中的承諾哈希后,返回給Alice作為找零的UTXO(約0.2 BTC)被用作具有指定金庫腳本公鑰的地址的輸入。金庫腳本公鑰包括一個哈希,允許Alice在525k個區(qū)塊后解鎖金庫以花費她價值約0.2 BTC的UTXO。使用金庫方案的好處是,Alice可以在哈希中添加詳細的安全措施,例如秘密恢復(fù)地址,以防有人竊取她的私鑰并嘗試在525k個區(qū)塊時間鎖之前解鎖UTXO。
如果沒有covenants,在前面的示例中,Alice需要創(chuàng)建一個預(yù)簽名交易,以對她花費給Bob和Charlie的BTC強制執(zhí)行未來的支出條件。預(yù)簽名交易可以是單個或多個交易,由發(fā)送者的私鑰提前簽名,但實際上并未廣播到網(wǎng)絡(luò)進行確認(rèn)和執(zhí)行。預(yù)簽名交易不可擴展,因為它們要求用戶存儲多個交易的數(shù)據(jù),直到它們在鏈上執(zhí)行。此外,預(yù)簽名交易要求在資金可以花費時所有簽名方之間的互動性。然而,通過OP_CTV使用承諾哈希實現(xiàn)covenants,減輕了用戶存儲預(yù)簽名交易數(shù)據(jù)并依賴與交易相關(guān)的所有方之間的互動性的需求。
廣義上講,此功能可用于創(chuàng)建一系列復(fù)雜、高度安全和彈性的托管和安全設(shè)計,有助于改進自托管或托管設(shè)置,創(chuàng)建創(chuàng)新的新法定人數(shù)(quorum)或業(yè)務(wù)賬戶設(shè)置,或創(chuàng)建更自主的執(zhí)行方案,具有更高的透明度和可靠性。
6、BIP 347(OP_CAT)
BIP 347是另一個比特幣改進提案,由Ethan Heilman和Armin Sabouri于2023年10月編寫,該提案也可以在比特幣交易的輸出上實現(xiàn)預(yù)計算的支出條件。該提案建議將OP_CAT操作碼添加到比特幣的腳本語言中,該功能允許比特幣開發(fā)者在堆棧中將兩個數(shù)據(jù)點“連接”在一起,并將這些值放在堆棧的頂部。我們來看簡單的背景介紹。“連接”(concatenating)是將兩個或多個代碼字符串組合成一個更大的字節(jié)或數(shù)據(jù)字符串的過程。比特幣腳本是一種基于堆棧的編程語言,按順序計算每個代碼字符串。對于由5行代碼組成的堆棧,比特幣腳本將首先計算第1行,最后計算第5行。不幸的是,比特幣的腳本語言不包含允許開發(fā)者在整個堆棧中合并多個代碼字符串的操作碼。目前,比特幣腳本缺乏算術(shù)和乘法 功能,抑制了壓縮比特幣腳本的能力,這限制了大型腳本(大于32位)和小型腳本(小于32位)在單個堆棧中的交互。如果沒有通過“連接”壓縮腳本并允許大型腳本與小型腳本通信的能力,交易輸出上的復(fù)雜支出條件是不可行的。
至關(guān)重要的是,堆棧頂部的比特幣腳本的連接元素可以模擬算術(shù)和乘法 功能,從而實現(xiàn)復(fù)雜腳本,而無需編寫更容易出錯的長數(shù)據(jù)密集型腳本。此外,OP_CAT的連接功能允許開發(fā)者使用Merkle樹和Tapscript中的其他哈希數(shù)據(jù)結(jié)構(gòu)生成支出條件,Tapscript是用于啟用新交易類型的原生腳本語言,作為2021年11月激活的Taproot升級的一部分。
值得注意的是,中本聰禁用了OP_CAT以及其他使比特幣腳本能夠在腳本內(nèi)直接執(zhí)行復(fù)雜數(shù)學(xué)操作的操作碼。中本聰本人刪除了OP_CAT,因為該操作碼在當(dāng)時比特幣腳本限制為2000字節(jié)時,結(jié)合OP_DUP可以構(gòu)建數(shù)據(jù)密集型腳本。這種規(guī)模的腳本可能會增加比特幣節(jié)點的計算資源負擔(dān)并使其過載。然而,Taproot升級在2021年引入了Taproot腳本的大小限制(520字節(jié)),因此OP_CAT不再為節(jié)點操作者引入過多的計算開銷。
7、使用BIP 347(OP_CAT)部署Covenants
2021年的Taproot升級將Schnorr簽名引入比特幣腳本語言。Schnorr簽名支持公鑰和私鑰聚合,使得多方可以通過單一簽名共同簽署一筆交易。將Schnorr簽名中包含的驗證操作碼與OP_CAT結(jié)合,可以創(chuàng)建一種非遞歸契約,生成交易哈希。通過OP_CAT,用戶可以約束交易的某些部分,例如發(fā)送地址或發(fā)送金額,作為解鎖腳本的要求,交易哈希則作為解鎖的關(guān)鍵。
以金庫方案為例,以下是OP_CAT功能如何實現(xiàn)Covenants的總體概述。本示例的技術(shù)細節(jié)超出了本文范圍。
Alice希望創(chuàng)建一個在100個區(qū)塊后解鎖其UTXO的金庫:
*步驟1:Alice將其UTXO花費到一個金庫地址,并在見證字段中包含金庫解鎖腳本的支出條件細節(jié),包括區(qū)塊高度。
*步驟2:在Alice的交易過程中,OP_CAT將見證字段中的金庫解鎖指令連接起來,并對它們進行兩次哈希運算以獲取sighash/txhash。
*步驟3:在100個區(qū)塊確認(rèn)后,Alice通過廣播金庫UTXO的支出交易來啟動花費其金庫比特幣的過程。為了驗證Alice是否滿足所有支出條件,她的錢包在后臺執(zhí)行CheckSig操作碼。此操作執(zhí)行兩個關(guān)鍵驗證:驗證初始設(shè)置交易(步驟1)中的交易哈希,并將其與當(dāng)前支出交易(步驟3)進行比較。CheckSig函數(shù)重建設(shè)置交易的組件,并驗證當(dāng)前交易的公鑰簽名,以確保所有金庫支出條件均已滿足。
*步驟4:在Alice交易的公鑰通過CheckSig驗證后(CheckSig重建了存儲在見證字段中的支出條件),Alice可以自由花費她的UTXO。
上述示例展示了OP_CAT本身無法在交易上實施支出條件,而是OP_CAT與比特幣腳本中的其他操作碼結(jié)合可以簡化腳本編寫,從而實現(xiàn)covenants。OP_CAT的唯一功能是將堆棧頂部的兩個元素連接起來。
盡管OP_CAT可以與CheckSig一起用于創(chuàng)建covenants,但僅添加OP_CAT并不會為比特幣腳本帶來類似Solidity的功能。這一限制同樣適用于僅添加OP_CTV。即使使用OP_CAT,比特幣交易也只能進行最小程度的內(nèi)?。╥ntrospection),這意味著交易無法完全訪問先前交易的元素或狀態(tài)。因此,OP_CAT只能支持Taproot交易輸出的細粒度covenants。OP_CAT無法修復(fù)Taproot輸出的葉子節(jié)點或驗證使用的內(nèi)部密鑰。Taproot葉子節(jié)點是提交到Taproot輸出的單個支出條件或腳本??梢詫⑺鼈円暈榛ㄙM比特幣的不同“路徑”或方式——每個葉子節(jié)點代表一種可能的花費方式。比特幣Taproot交易中的內(nèi)部密鑰是用于最有效支出路徑的主要公鑰。當(dāng)使用內(nèi)部密鑰花費UTXO時,你只需在鏈上提供簽名,無需揭示任何腳本或Merkle路徑。
需要注意的是,這些限制可以通過其他操作碼提案(如OP_TWEAK_VERIFY和OP_INTERNALKEY)解決??傮w而言,OP_CAT可以被視為生成交易輸出上復(fù)雜支出條件的主要構(gòu)建塊,然而,包括CheckSig在內(nèi)的其他構(gòu)建塊對于推進比特幣交易可編程性的發(fā)展至關(guān)重要。
8、Covenants可帶給比特幣的關(guān)鍵特性
(1)無信任橋接與單邊退出
Starkware(以太坊上Starknet zk-rollup的創(chuàng)建者)發(fā)布了一份報告,強調(diào)了OP_CAT如何支持創(chuàng)建STARK驗證器和Merkle驗證器,以實現(xiàn)無信任的比特幣橋接。無信任橋接通過遞歸契約系統(tǒng)構(gòu)建,該系統(tǒng)通過記錄在Merkle樹中的交易鏈來維護橋接狀態(tài)。該機制的核心是存儲在不可花費的OP_RETURN輸出中的橋接持久狀態(tài),其中包含代表賬戶余額的Merkle樹的根哈希。OP_CAT covenant要求每筆新的存款或取款交易都包含反映當(dāng)前橋接狀態(tài)的有效狀態(tài)轉(zhuǎn)換。用戶通過專門的存款和取款covenants與橋接交互,這些covenants使用Merkle樹將多筆交易聚合為批次以進行高效驗證。然后,該Merkle樹的根合并到主橋接契約中,該契約驗證并處理每筆存款或取款。在取款期間,契約通過確保取款地址與葉子交易中第一個輸入的地址匹配來驗證所有權(quán)。該設(shè)計利用Merkle證明在比特幣腳本中進行高效的狀態(tài)更新,創(chuàng)建了一個無信任系統(tǒng),其中橋接的狀態(tài)和規(guī)則完全通過由OP_CAT創(chuàng)建的鏈上契約邏輯強制執(zhí)行,而不需要第三方信任。至關(guān)重要的是,對于驗證端系統(tǒng)狀態(tài)轉(zhuǎn)換的無信任比特幣橋接,比特幣腳本需要驗證證明。OP_CAT通過將哈希數(shù)據(jù)連接在一起,在比特幣腳本中構(gòu)建STARK驗證器的能力,使得UTXO鎖定腳本能夠驗證端系統(tǒng)狀態(tài)轉(zhuǎn)換的zk-proof(零知識證明)。
Taproot Wizard團隊創(chuàng)新了一種新的無信任橋接框架,將OP_CAT與BitVM結(jié)合。BitVM通過允許在比特幣上分割和執(zhí)行任意計算,實現(xiàn)了圖靈完備的表達能力。BitVM將利用比特幣腳本的任意計算的運行時分割到比特幣上的多個交易中。如果沒有covenants,鎖定比特幣的BitVM橋接需要預(yù)簽名交易來設(shè)置橋接。OP_CAT從先前交易中攜帶數(shù)據(jù)的能力使得BitVM橋接能夠在沒有預(yù)簽名交易的情況下鎖定和解鎖比特幣。OP_CAT可以通過一種稱為“CAT on the stack”的技巧從先前交易中攜帶數(shù)據(jù)。該技巧涉及在堆棧上連接哈希數(shù)據(jù)以構(gòu)建Merkle樹根,OP_CAT可以驗證該根。因此,CatVM橋接確保來自先前交易、存款和取款的特定交易數(shù)據(jù)必須包含在下一筆交易中,以保證在成功取款后Merkle根被延續(xù)。CAT on the stack技巧還確保在一個用戶取款后,剩余的橋接比特幣可以由任何符合條件的用戶取款。
(2)高級金庫托管
比特幣金庫是一種新的托管解決方案,包含諸如恢復(fù)路徑等安全功能,允許用戶在私鑰泄露的情況下將其比特幣提取到一個秘密地址。BIP 345,正式名稱為OP_VAULT,是一項待定的比特幣改進提案,利用OP_CTV來增強比特幣托管的安全參數(shù)。需要注意的是,OP_CAT也可以用于創(chuàng)建比特幣金庫的支出條件,而無需預(yù)簽名交易。比特幣核心開發(fā)者James O’Beirne于2023年1月提出了OP_VAULT,以縮小OP_CTV的用例范圍。OP_VAULT依賴OP_CTV為金庫比特幣創(chuàng)建支出條件,而無需存款人預(yù)先簽署多筆交易。Covenants允許金庫具有時間延遲,當(dāng)任何人在原始時間鎖之前嘗試花費金庫比特幣時,時間延遲將被觸發(fā),通常這是試圖竊取資金的攻擊者。
(3)Non-Equivocation合約
Non-Equivocation合約于2015年被引入比特幣網(wǎng)絡(luò),是比特幣交易輸出,如果簽名者雙花,則會泄露簽名密鑰。在實踐中,用戶鎖定原生比特幣,作為可罰沒的保證金。該保證金允許用戶在基礎(chǔ)層上執(zhí)行0確認(rèn)交易,這些交易稍后在區(qū)塊中被挖出。0確認(rèn)交易是由比特幣共識規(guī)則驗證和保護的即時比特幣交易。如果0確認(rèn)交易的發(fā)送者在交易被挖出之前花費了輸入,則對手方可以從泄露的簽名密鑰中罰沒其比特幣保證金。
(4)閃電網(wǎng)絡(luò)的改進
OP_CAT可以啟用通道工廠(Channel Factories),允許用戶在不首先在比特幣基礎(chǔ)層上廣播通道開放交易的情況下打開閃電通道。例如,如果Alice希望創(chuàng)建2個閃電通道(一個與Bob,另一個與Charlie),Alice將廣播與Bob和Charlie的通道開放交易(2筆交易)。通道開放交易要求雙方將比特幣存入2/2的多重簽名地址。通過通道工廠,Bob和Charlie可以在不廣播新的通道開放交易的情況下彼此打開單獨的通道。因此,原始通道開放交易中的所有參與者可以彼此創(chuàng)建獨立的通道。
OP_CTV可以創(chuàng)建共享UTXO,其中一個UTXO代表多個用戶。使用CTV的共享UTXO可以使多個用戶通過一筆鏈上交易打開多個閃電通道。通常,每個閃電通道需要一筆鏈上交易。因此,如果許多用戶打開閃電通道,這可能會使內(nèi)存池充滿待處理的交易并增加交易費用。雖然目前這不是問題,但通道開放需要擴展以支持閃電網(wǎng)絡(luò)吸引數(shù)百萬活躍用戶。
9、OP_CAT和OP_CTV相關(guān)風(fēng)險
所有比特幣軟分叉都包含技術(shù)風(fēng)險,例如新操作碼的錯誤或未預(yù)見的用例。盡管前者很少見,但后者在銘文(inscriptions)的創(chuàng)建中暴露出來。銘文涉及在交易的見證字段中輸入任意數(shù)據(jù),這已被用于在比特幣上創(chuàng)建新代幣和NFT集合。SegWit和Taproot升級共同使用戶能夠?qū)D像和文本數(shù)據(jù)作為字符串?dāng)?shù)據(jù)輸入到見證字段中。雖然數(shù)字藝術(shù)和可替代代幣的創(chuàng)建并不是激活SegWit或Taproot的重點,但多年后,聰明的開發(fā)者發(fā)現(xiàn)了如何將這些升級用于其他目的。Galaxy Research在我們的Ordinals報告中強調(diào)了這一觀點,并指出通過SegWit和Taproot意外創(chuàng)建的銘文可能對未來比特幣升級產(chǎn)生負面影響,因為社區(qū)對這些新用例的驚訝可能會使其更加猶豫是否支持新的軟分叉。
盡管對比特幣升級能力的看跌情緒存在,但OP_CAT和OP_CTV已經(jīng)過大量測試和研究。對covenants的最初批評是,政府可能會強制應(yīng)用程序強制執(zhí)行僅允許一組批準(zhǔn)地址花費比特幣的支出條件。這一批評是無效的,因為支出條件的條件由擁有資金的用戶決定。用戶可以創(chuàng)建限制未來支出到特定地址的交易,但這些限制不能由第三方外部強制執(zhí)行,并且在鎖定資金被花費后不能永久延續(xù)。因此,政府無法強制執(zhí)行自托管金庫應(yīng)用程序或bridge如何花費資金。盡管托管人和比特幣交易所仍然可以限制用戶如何花費資金,但他們無法在沒有執(zhí)行一般契約能力的情況下為取款資金添加永久支出條件,而OP_CTV不允許一般契約。
總體而言,OP_CAT和OP_CTV是簡單的操作碼,每個操作碼都能很好地執(zhí)行一項功能。OP_CAT將堆棧頂部的兩個元素連接起來,而OP_CTV可以在鎖定腳本中對支出條件進行哈希。這些操作碼的一些用例(如無信任橋接的開發(fā))仍需要進一步研究和實戰(zhàn)測試,因為橋接極易受到bug和黑客攻擊的影響。
10、下一軟分叉升級的Covenants部署路徑
確定比特幣利益相關(guān)者對未來協(xié)議升級的共識是一個復(fù)雜的過程,隨著提案的生命周期——也稱為BIP(比特幣改進提案)過程——而演變。BCAP關(guān)于比特幣升級歷史的報告詳細描述了這些利益相關(guān)者的角色如下:
*經(jīng)濟節(jié)點:交易所、托管人、商家、支付提供商
*投資者:巨鯨、MicroStrategy、ETF提供商、Galaxy
*媒體紅人:CoinDesk、比特幣雜志、X名人、播客
*礦商:Bitmain、MicroBT、Riot、Marathon、大型私人礦商
*協(xié)議開發(fā)者:比特幣核心開發(fā)者
*應(yīng)用開發(fā)者:L2項目
在整個比特幣改進提案(BIP)的生命周期中,不同的利益相關(guān)者行使不同程度的影響力,他們的相對影響在實施軟分叉的共識構(gòu)建過程中發(fā)生變化。以下是各利益相關(guān)者影響力等級的詳細劃分,按1-10排名。截至2024年3月,OP_CAT和OP_CTV處于協(xié)議構(gòu)思階段。在此階段,媒體人物的影響力最大,因為他們可以左右公眾意見并創(chuàng)造敘事。例如,Taproot Wizards是一支由知名比特幣紅人組成的團隊,他們利用其龐大的社交媒體粉絲群向比特幣社區(qū)宣傳OP_CAT的好處。Taproot Wizards團隊一直在制作關(guān)于OP_CAT的教育內(nèi)容和研究,以推動比特幣腳本需要新操作碼以增強交易可編程性的敘事。因此,Taproot Wizards為OP_CAT培養(yǎng)了一大批支持者,他們正在推動核心開發(fā)者審查OP_CAT BIP草案。
在協(xié)議構(gòu)思階段,比特幣核心開發(fā)者的影響力排名第二,因為BIP編輯負責(zé)審查待定BIP的草案,最重要的是,他們是唯一可以將BIP合并到比特幣核心GitHub存儲庫的實體。如果沒有比特幣核心開發(fā)者的支持,BIP將不可避免地被擱置并最終被拒絕。比特幣核心開發(fā)者還負責(zé)維護比特幣代碼庫并確保其不包含任何錯誤。在比特幣核心開發(fā)者之間達成共識是一個困難的過程,因為核心開發(fā)者之間的意識形態(tài)觀點可能不同,并且每個核心開發(fā)者在決策過程中的影響力也因其貢獻和背景而異。
OP_CAT和OP_CTV BIP正處于媒體紅人、用戶和應(yīng)用開發(fā)者利用其影響力說服比特幣核心開發(fā)者這些共識變更將提高比特幣交易可編程性的階段。共識之旅的下一階段將需要技術(shù)名人、應(yīng)用開發(fā)者和核心開發(fā)者進行具體研究,詳細說明OP_CAT和OP_CTV的所有潛在風(fēng)險。如果沒有具體的研究和與核心開發(fā)者的公開對話,將不會有更廣泛的核心開發(fā)者社區(qū)對OP_CAT和OP_CTV形成集體觀點。
一旦在核心開發(fā)者之間達成共識,OP_CAT和OP_CTV將需要指定一名主要維護者,以促進將BIP實施到比特幣核心存儲庫的最后步驟。在OP_CAT和OP_CTV的BIP合并到比特幣核心存儲庫后,必須決定激活方法。一旦選擇了激活方法,信號期就開始了,礦商、投資者和經(jīng)濟節(jié)點的影響力最大。截至2024年3月,礦商、Microstrategy等大型投資者以及Coinbase等經(jīng)濟節(jié)點對OP_CAT和OP_CTV還沒有發(fā)表公開看法。在BIP實施之前,這些利益相關(guān)者需要進一步了解OP_CAT和OP_CTV的風(fēng)險和好處。
11、BIP激活方法
如果比特幣核心開發(fā)者同意將OP_CAT或OP_CTV包含到下一個軟分叉升級中,社區(qū)需要就BIP的激活方法達成一致。激活方法允許礦工發(fā)出他們對升級的準(zhǔn)備信號。
廣義上講,有兩種方法可以在比特幣上執(zhí)行代碼更改。首先,可以通過軟分叉執(zhí)行代碼更改。軟分叉是向后兼容的升級,允許比特幣節(jié)點操作者在即使不升級其客戶端軟件的情況下也能安全地在比特幣網(wǎng)絡(luò)上運行。軟分叉向后兼容的另一個好處是,任何不同意Bitcoin Core(主要比特幣客戶端)方向的人都可以選擇運行排除新BIP激活的舊版本客戶端軟件,但仍可以連接到規(guī)范的比特幣區(qū)塊鏈。軟分叉通過創(chuàng)建比現(xiàn)有規(guī)則集更有限的新條件來添加功能,因此適合現(xiàn)有規(guī)則。
當(dāng)軟分叉由用戶(而非礦商)激活時,就被稱為用戶激活軟分叉(UASF)。比特幣上最著名的UASF示例幾乎發(fā)生在2017年8月1日的“區(qū)塊大小之爭”期間,以幫助加快SegWit升級的采用。在區(qū)塊大小之爭期間,比特幣用戶升級了他們的節(jié)點以支持SegWit升級,并隨后威脅要拒絕來自未升級節(jié)點的區(qū)塊。通過這樣做,鼓勵未升級其比特幣客戶端軟件的礦工采用Segwit,以使其區(qū)塊更廣泛地傳播并增加他們獲得區(qū)塊獎勵的機會。雖然UASF在區(qū)塊大小戰(zhàn)爭期間從未發(fā)生,但潛在UASF的威脅影響了礦工采用SegWit。
第二種實施代碼更改的方法是通過硬分叉,這是一種向后不兼容的升級,會在升級和未升級節(jié)點之間永久分 裂共識。比特幣核心開發(fā)者從未實施過硬分叉,因為社區(qū)重視協(xié)議代碼的固化和向后兼容性。如果少數(shù)用戶執(zhí)行硬分叉升級(例如更改區(qū)塊大小),比特幣可能會發(fā)生鏈分 裂。這就是比特幣現(xiàn)金在2017年創(chuàng)建的方式,當(dāng)時比特幣社區(qū)的一部分人不同意Segwit升級,而是希望通過激活向后不兼容的代碼更改來單純增加區(qū)塊大小,從而從比特幣協(xié)議中分叉出來。
除了硬分叉和軟分叉激活之間的區(qū)別外,還有不同的方法可以在分叉發(fā)生之前衡量社區(qū)對升級的情緒。以下是比特幣社區(qū)提出的各種過程類型BIP的概述,以更好地支持軟分叉升級的激活:
*BIP 9:BIP 9提供了一個框架,供礦工通過修改比特幣區(qū)塊頭中的版本位字段來發(fā)出他們對軟分叉升級的支持信號。一旦信號期結(jié)束,比特幣社區(qū)可以評估支持升級的礦工百分比,并按礦工算力加權(quán)投票。如果超過某個支持閾值,升級可以在“flag day”繼續(xù)進行激活,這只是一個指定的區(qū)塊高度用于升級激活。
*BIP 8:長期比特幣核心開發(fā)者Luke Dashjr(自2011年以來一直從事比特幣開發(fā)工作)于2017年2月提出了BIP 8作為BIP 9的繼任者。BIP 8建議使用區(qū)塊高度而非算力來確定批準(zhǔn)提案的信號期持續(xù)時間。BIP 8還引入了一個新的鏈上激活軟分叉參數(shù),稱為“LOT”。如果該參數(shù)設(shè)置為“TRUE”,則需要在最終期間發(fā)出信號,確保軟分叉在超時高度鎖定。從這里開始,升級在預(yù)定義的flag day由節(jié)點激活,無論礦工是否發(fā)出信號。BIP 8試圖減少礦工對社區(qū)希望的提案激活的干擾,并迫使礦工考慮在升級的LOT參數(shù)設(shè)置為TRUE的情況下由于未從升級節(jié)點接收區(qū)塊而導(dǎo)致的收入損失的后果。
*Speedy Trial:比特幣核心開發(fā)者AJ Townes和Andrew Chow于2021年4月引入了一種稱為“Speedy Trial”的BIP 8版本。Speedy Trial試圖加速礦工發(fā)出激活準(zhǔn)備信號的時間表。這種方法意味著一旦在指定期間內(nèi)大多數(shù)挖出塊發(fā)出準(zhǔn)備信號,就會激活提案。Speedy Trial的功能類似于BIP 9激活部署,但激活窗口更短。最近,Taproot升級通過Speedy Trial在比特幣上激活。該試驗要求在兩周內(nèi)90%的挖出塊發(fā)出準(zhǔn)備信號,然后Taproot才能在網(wǎng)絡(luò)上激活。試驗于2021年6月12日結(jié)束。在達到90%礦工支持的閾值后,網(wǎng)絡(luò)隨后進入五個月的等待期,以留給礦工和節(jié)點時間升級其軟件。Taproot隨后于2021年11月15日正式在比特幣上激活。
*現(xiàn)代軟分叉激活:這是一種結(jié)合BIP 9和BIP 8不同屬性的升級激活方法。它由Bitcoin Core最多產(chǎn)的貢獻者之一Matt Corallo于2020年1月提出。該方法包括三個步驟。第一步是BIP 9中概述的礦工激活軟分叉。如果礦工未能激活升級,Corallo概述的現(xiàn)代軟分叉激活過程將默認(rèn)為第二步,即開發(fā)者和更廣泛的比特幣社區(qū)重新考慮代碼更改的六個月等待期。六個月后,如果開發(fā)者和用戶希望繼續(xù)升級,他們可以啟動第三步,這本質(zhì)上等同于將LOT參數(shù)設(shè)置為TRUE的BIP 8。
以上就是比特幣的下一個重大升級是什么?對OP_CAT和OP_CTV的評估的詳細內(nèi)容,更多關(guān)于Covenants可帶給比特幣的關(guān)鍵特性的資料請關(guān)注腳本之家其它相關(guān)文章!
你可能感興趣的文章
-
速讀Metaplanet計劃未來18個月購入9.1萬枚比特幣(BTC)
日本Metaplanet計劃到2026年持有10萬枚比特幣,將其目標(biāo)從2.1萬枚上調(diào),并發(fā)行股份以加速其比特幣儲備戰(zhàn)略,更多詳細資訊請看下面正文 …
2025-06-06 -
比特幣站回10.4萬美元 6月份預(yù)計漲至15萬
美國最新非農(nóng)就業(yè)數(shù)據(jù)增長高于預(yù)期,但仍是今年二月以來最低,比特幣價格波動不大,更多詳細資訊請看下面正文…
2025-06-06 -
比特幣和以太坊有什么區(qū)別?投資者該如何選擇?
比特幣和以太坊有什么區(qū)別?比特幣和以太坊是世界上最受歡迎的兩種加密貨幣,都是基于區(qū)塊鏈技術(shù)的, 盡管如此,它們還是有很多不同之處, 這些是什么? 以太坊或比特幣加密…
2025-06-06 -
比特幣十年走勢回顧:為什么比特幣能大漲超過40000%?
十年前一顆比特幣美元價格為$237.06,目前一顆比特幣美元價格為109,915,漲幅462,65%,若把時間拉長到十五年,漲幅更驚人,比特幣過去十五年漲幅達2700 萬倍!換算為2,700,0…
2025-06-06 -
比特幣和黃金哪個適合未來十年的投資?一文分析
比特幣和黃金哪個適合未來十年的投資?幾個世紀(jì)以來,黃金一直是世界上最常用的價值儲存手段,更是動蕩時代的穩(wěn)定象征,但如今,號稱「數(shù)位黃金」的比特幣正在挑戰(zhàn)這個地位,…
2025-06-06 -
速讀Twenty One CEO Jack Mallers:比特幣儲備證明已上線!比黃金儲備
美國比特幣企業(yè)Twenty One執(zhí)行長Jack Mallers公布了五個錢包地址,宣布公司的比特幣儲備證明(Proof of Reserves)已上線,公開透明,歡迎大家隨時查驗。…
2025-06-05 -
速讀獨立礦工在比特幣(BTC)挖礦難度創(chuàng)新高之際,成功斬獲33萬美元區(qū)
一位比特幣礦工盡管網(wǎng)絡(luò)難度飆升至創(chuàng)紀(jì)錄的126.98萬億,仍成功獲得了33萬美元的區(qū)塊獎勵,更多詳細資訊請看下面正文 …
2025-06-05 -
比特幣閃電網(wǎng)絡(luò)是什么?比特幣閃電網(wǎng)絡(luò)進行小額支付詳細教學(xué)
比特幣作為去中心化支付系統(tǒng)提供了許多優(yōu)勢,它可以在沒有中介的情況下在全球范圍內(nèi)轉(zhuǎn)移資金,現(xiàn)在比特幣閃電網(wǎng)絡(luò)正變得越來越流行,下面我們就來聊聊為什么需要閃電網(wǎng)絡(luò)以及…
2025-06-05 -
比特幣主導(dǎo)地位是指什么?如何利用比特幣主導(dǎo)地位預(yù)測市場走勢?
在加密貨幣的世界里,除了比特幣的價格,還有更多值得關(guān)注的因素,本文將深入解析比特幣主導(dǎo)地位的概念、運作方式、重要性,以及如何利用它來預(yù)測市場走勢,需要的可以了解…
2025-06-05 -
Bitwise分析:配置10%的比特幣會怎么樣
比特幣是一種高度波動的資產(chǎn),以最常見的波動率衡量標(biāo)準(zhǔn)來看,其波動率約為標(biāo)準(zhǔn)普爾 500 指數(shù)的三到四倍,更多詳細資訊請看下面正文…
2025-06-04