金色財經
編譯:陶朱,金色財經;作者:Kyrian Alex,CoinTelegraph
最近,隨著比特幣開發和協議討論的復興,所謂的「契約」(covenants)概念再次受到關注。契約可以實現並促進一系列應用,包括新型的無需信任且可擴展的二層網路、具有更複雜支出邏輯的完全非託管金庫,以及更高效的支付通道。然而,實現此功能的大多數途徑都需要對比特幣的共識規則進行軟分叉,而這一過程很可能在社區內引發爭論。
隨著共識客戶端近期分化為Core節點和Knots節點,就此類變更達成一致的可能性變得更小。儘管Knots節點近期推動了他們自己的軟分叉(即BIP-110),但他們傾向於協議僵化,並且似乎不太支持在底層實現擴展解決方案。比特幣核心(Bitcoin Core)近期引發的爭議,無論是在技術層面還是治理層面,都降低了比特幣近期實現契約的可能性。
邁克爾·塞勒等知名人士也曾公開倡導協議僵化,將那些熱情高漲、資金雄厚的開發者視為協議的最大威脅。儘管如此,一些最低限度的契約實施或許是實現信任最小化的二層網路最保守的途徑,這能讓下十億用戶享有數據自保的權利。如果未來主網費用再次飆升,並且垃圾郵件問題得到解決,那麼圍繞這些提案的討論很可能會再次升溫。本文將為讀者理解契約奠定基礎。後續文章將深入探討各個提案。
要理解契約提案,首先需要掌握比特幣交易的基本驗證流程。比特幣的鎖定條件是用一種基於棧的非圖靈完備語言——比特幣腳本(Bitcoin Script)來表達的。比特幣交易的發送者通過創建所謂的鎖定腳本(也稱為 scriptPubKey)來指定支出條件。當資金接收者之後想要花費這些比特幣時,他們必須提供滿足這些條件的相應解鎖腳本(也稱為 scriptSig)。比特幣的腳本語言可以表達各種驗證條件,例如驗證公鑰簽名、強制執行時間鎖、驗證哈希原像,以及將支出條件與命題邏輯結合起來。擁有正確解鎖腳本的實體可以將比特幣轉移到任意位置,即用任意 scriptPubKey 來綁定比特幣。但是,在提供正確的 scriptSig 之後,它無法限制資金的去向。
契約旨在實現的正是這一功能。契約允許用戶對未來如何使用比特幣施加限制。該概念最早由 Gregory Maxwell 於 2013 年提出,旨在提升比特幣的可擴展性和靈活性。隨後,Möser、Eyal 和 Sirer 在 2016 年對其進行了推廣。Maxwell 最初提議使用 zk-SNARKs 來限制支出。此後,相關討論湧現出大量不同的提案,其中一些提案甚至可能繞過軟分叉的必要性。
契約提案的關鍵區別在於基本契約(或預計算契約)和通用契約(或遞歸契約)。原則上,基本契約僅對後續交易施加限制。然而,通過將受限地址鏈接起來,基本契約也可用於預先定義有限的交易序列。雖然此允許的交易序列可以任意長或複雜,但必須事先指定。
通用契約可以直接在比特幣腳本中表達遞歸支出規則。這使得支出條件可以無限期地重複應用。例如,如果 Alice 向 Bob 發送 1 個比特幣,基本契約可以確保 Bob 只能將資金髮送到特定地址,或者將其受限一定次數。然而,在通用契約下,價值 1 個比特幣的 UTXO 在 Bob 將其發送給 Steve 時,以及 Steve 將其進一步轉賬時,都將保持相同的支出限制,而無需任何預定義的終點。雖然通用契約能提供更大的靈活性,但它們面臨着巨大的技術難題,並受到社區的批評。它們的實施還需要對協議進行重大更新。
各種實施方案和討論塑造了我們對契約如何增強比特幣功能的理解。為了清晰地探討這一主題,有必要將擬議的變更分為四類:
完全實現契約功能的操作碼。它們直接對比特幣交易施加支出限制。這包括 OP_CHECKTEMPLATEVERIFY 和 SIGHASH_ANYPREVOUT。
作為輔助工具的操作碼。這些操作碼擴展了比特幣腳本或數據處理的表達能力,但除非與其他操作碼結合使用,否則它們本身並不實現契約功能。我們將討論 OP_CHECKSIGFROMSTACK 和 OP_CAT。
用於特定應用的操作碼。我們將考慮 OP_VAULT、OP_UNVAULT 和 OP_EVICT。
無需軟分叉即可近似實現契約行為的提案。這些提案依賴於現有共識規則或信任最小化基礎設施中的密碼學構造,而不是新的操作碼。我們將討論 ColliderScript、Bitcoin PIPE 和基於前端的契約。
在下一篇文章中,我們將開始討論第一類契約提案,首先介紹 OP_CHECKTEMPLATEVERIFY——迄今為止最受歡迎的提案之一。
來源:金色財經
發佈者對本文章的內容承擔全部責任
在投資加密貨幣前,請務必深入研究,理解相關風險,並謹慎評估自己的風險承受能力。不要因為短期高回報的誘惑而忽視潛在的重大損失。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與加密貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
上一篇
下一篇