如何看待最近被熱議的比特幣新提案OP_CAT?儘管其目前還沒有被正式Merge到Bitcoin Core程式碼中,但已經在BTC社群引發了廣泛的討論。那麼,OP_CAT操作碼到底解決什麼問題呢?若被引入會為BTC的可編程能力帶來哪些提升?會對BTC生態後續市場演變產生哪些影響?接下來,簡單談談我的理解:
1)OP_CAT是一個全新的操作碼提案,被開發者戲稱為處於BIP420和BIP347的量子糾纏疊加狀態,具體哪個EIP不重要,只要搞清楚這只是一個還在被討論並沒正式納入的提案足夠了。簡單來說,OP_CAT可以實現多個UTXO解鎖腳本位元組字串的組合連接處理,可以提升BTC主網的可編程特性,程式擴充性以及鏈上驗證計算複雜性;
2)和Covenant契約作為比特幣腳本擴展提案類似,OP_CAT目標也是要提升比特幣腳本的擴展能力,區別是,Covenant目標讓比特幣交易實現更複雜的可編程性,以支持複雜的智能合約和應用場景。相較之下,OP_CAT較好落地一些,目標要簡化複雜腳本的建置與執行,以提高鏈上驗證的效率。
通俗理解:OP_CAT提供了組合腳本片段的能力,在其引入前,每一個UTXO腳本都是獨立執行的,有了OP_CAT後我們可以把一個複雜的執行邏輯拆分成一連串組合的簡單腳本片段,並被儲存於不同的UTXO中,由不同的交易創建,需要完整執行時,全節點用OP_CAT指令把這些腳本片段依序拼接起來執行觸發。
3)有了這種組合能力,理論上可以讓比特幣上出現許多複雜的執行邏輯:例如,
1.多重簽章加時間鎖,可跨多個主體多個UTXO及時間鎖設定較為複雜的執行解鎖條件;
2、遞歸和循環,可以讓多個腳本位元組字串之間構成遞歸和條件執行,一直循環直到滿足某個終止條件;
3.模組化應用,常見腳本邏輯可以被擷取出來,在多個程式執行片段中重複使用。 Alice把託管在平台C的錢向Bob轉賬,必須三個主體同時簽名,若C平台超出簽名時間,Alice和Bob則可以一同簽名來取回資金;若Bob長時間沒有簽名獲取轉賬,Alice可以撤回交易;若Bob認為Alice的資金來源有問題可以拒收等等。這只是一個簡單的例子,實際上可以利用腳本片段之間的組合來實現更複雜更顆粒化的控制;
4)先前,BitVM把複雜操作在鏈結下執行,只在鏈上實現關鍵驗證結算的範式,讓大家對BTC的可編程和圖靈完備計算迸發了極大的想像力。 OP_CAT在BTC主網上「遞歸」組合執行算是另一個想像力的補充,而且OP_CAT對加速BitVM的落地和降低鏈上驗證成本等都大有裨益。
如何理解呢?原本BitVM要執行,需要把鏈下的程式封裝成一個獨立的可共單一UTXO執行的腳本片段,鏈下建置成本較大,將這些片段都在鏈上執行拼湊,也會需要更複雜的TaprootTree結構,意味著BitVM一段程式執行下來鏈上交互驗證的成本會相對較高。當OP_CAT被引入後,BitVM鏈下封裝的片段就不需要每個都能完整獨立執行,鏈上可以在UTXO解鎖條件累計到一定程度後進行一次匯總併更新狀態,顯然,腳本片段的組合可大大減少鏈上驗證交互所需的次數和成本。
總之,OP_CAT被熱議包含著大家對於比特幣進一步增強可編程性的期待,其若真正落地,對BitVM的落地,各類BTC layer2跨鏈資產解決方案的安全性提升,以及UTXO同構綁定鏈的生態拓展和主網的同頻發展,甚至譬如閃電網路、RGB客戶端驗證等潛在可延展市場的進展都會起催化作用。理論上任何BTC可程式能力的提升對其延展生態的刺激作用會立竿見影,畢竟大家都試圖在沙漠裡建綠洲,如果有一天沙子變成水泥地板了,那大樓蓋起來豈不是要方便很多了。
只是,它會被真正Merge通過嗎?想想已經被提出多年但未被採納的Covenant提案,用OP_CAT新提案來腦補一些市場想像空間也挺好。