在比特幣上發展代幣、NFT 和 DeFi 的過程其實比表面上看起來要復雜得多。比如,在以太坊虛擬機(EVM)以及其他智能合約平台上,智能合約具有圖靈完備性,這意味著只需部署一個自定義合約就可以新增功能或選項。但在比特幣上,開發者則必須小心翼翼地在不引發硬分叉的前提下進行創新,只能在現有協議功能的限制内操作。如我們在前文中提到的,比特幣之所以具有獨特的重要性和價值,其中一個關鍵因素就是它對「原始性」的堅持,主鏈在時間推移中幾乎沒有經歷太多改動。
盡管如此,比特幣是第一個獲得廣泛採用的區塊鏈,許多後續在更靈活區塊鏈上實現的技術,最早的萌芽其實都出現在比特幣上。事實上,NFT 最初是以「彩色幣」(Colored Coins)的形式出現在比特幣上;狀態通道(State Channels)的概念在設計上與當今的 L1-L2 架構頗為相似;而原子交換(Atomic Swaps)為現代的跨鏈橋打下了基礎。我們在前文《從比特幣出發:DeFi 的真實起源》中已部分介紹過這些發展。但若要真正理解比特幣作為 Botanix 及其他比特幣鏈的基礎設施所具備的無與倫比的價值,我們需要更深入了解這些早期創新如何為今日生態鋪路。盡管比特幣本身相對「簡潔」,但它實際上是 Web3 領域中最復雜、最迷人的生態之一,擁有最豐富的歷史。
2009 年比特幣上綫時就内置了一套腳本語言,這不僅僅能實現簡單的支付,還從一開始就支持如多重簽名(multi-sig)和時間鎖(time-lock)等更復雜的操作。中本聰甚至描述過,使用 nLockTime 和序列號(sequence number)的未確認交易可以在雙方之間多次更新用於高頻交易,只有最終狀態會被寫入鏈上。
比特幣腳本(Bitcoin Script)是一種非常有趣的機制:一方面,它是圖靈不完備的,限制了其功能性;但另一方面,它也因此保持了簡潔和安全。因此,在比特幣上構建任何復雜功能時,開發者都必須在 Script 所提供的框架内進行設計。它包含了大量命令(Opcode),用於編程各種動作,這些操作最終都會寫入交易數據中。
Bitcoin Script 是比特幣定義幣的支出條件所使用的腳本語言本體。你可以將 Script 理解為一份食譜 —— 一整套烘焙蛋糕的步驟。而 Opcodes(操作碼)就是這套語言的構建模塊 —— 它們是程序員編寫腳本時使用的基本指令,例如「攪拌」「加熱」等。為了更清楚地理解 Script 的功能,我們簡要回顧一下最常見的幾種腳本類型:
P2PK(Pay To Public Key) —— 這是最原始的 BTC 轉賬方式,後來被 P2PKH 替代。它由幾個 Opcode 構成,例如:OP_DATA_65 OP_CHECKSIG OP_DATA_33 OP_CHECKSIG。
P2PKH(Pay To Public Key Hash) —— 腳本形式為:OP_DUP OP_HASH160 OP_DATA_20 OP_EQUALVERIFY OP_CHECKSIG。由於使用 32 字節的公鑰哈希以優化交易大小,比起 64 字節的 P2PK,這種腳本更節省空間,因此很快成為主流。交易數據越小,費用越低 —— 這在比特幣使用和手續費增加的背景下尤其重要。
存儲任意數據 —— 這類腳本通常鎖定的聰數量極小,主要用於存儲 ASCII 文本、鏈接或腳本。例如:OP_0 OP_DATA_20 # 20 字節自定義數據。此外還有標準化的方式使用 OP_RETURN 存儲數據。例如,比特幣彩色幣協議(NFT 前身)就通過 OP_RETURN 嵌入代幣元數據。
NCC Group 的一份研究中匯總了 156 種不同的 Script 模式,對這些腳本結構做了詳細分析。
那麼,我們是否可以嘗試使用 Script 在比特幣上組織類似 DeFi 的機制呢?下一步讓我們繼續探討。
借貸機制:
正如我們前文所述,操作碼(opcodes)可以組合使用,從而構建出一係列小的指令鏈,進而實現更復雜的行為。例如,開發者可以通過組合操作碼來構造具有借貸合約功能的復雜腳本。這可以通過時間鎖和多簽組合來實現:
OP_CHECKSEQUENCEVERIFY (CSV):用於相對時間鎖(例如,在某筆交易之後鎖定資金 X 個區塊);
OP_CHECKLOCKTIMEVERIFY (CLTV):用於絕對時間鎖(例如,貸款在某個具體區塊高度或時間戳時到期);
OP_CHECKMULTISIG(或多個 OP_CHECKSIG 配合 OP_ADD):要求多方共同簽署;
條件邏輯操作碼 OP_IF / OP_ELSE:定義不同的支出路徑(例如還款 vs 違約)。
這些工具可以實現「帶超時功能的雙邊託管合約」。舉個例子:假設 Alice 提供 BTC 作為抵押,而 Bob 綫下借給她穩定幣。他們希望通過合約設置如下規則:如果 Alice 到期未還款,Bob 將獲得她的 BTC;若按時還款,則 BTC 將解鎖返還給 Alice。為此,他們可以使用一個 2-of-2 的多簽輸出(Alice 和 Bob 都需要簽名才能動用資金)。然後,他們可以設定腳本邏輯:如果到達某個區塊高度之後仍未還款,只有 Bob 可以單獨動用這筆資金。
不過,這裡仍存在一個重大難點:比特幣本身無法自動計算利息、監控抵押率或強制執行清算。任何利息支付都必須通過鏈下方式完成,或是借助預簽名交易來實現(這在實踐中相當復雜)。如果貸款期間 BTC 價格下跌,比特幣腳本本身無法得知,也就無法自動觸發清算。要實現這種功能,必須借助預言機或鏈下協議。在沒有預言機的前提下,合約只能基於最終到期時間來做判斷。
因此,在比特幣一層上直接實現無需信任的 BTC 抵押穩定幣借貸非常困難。目前的實踐方式通常依賴可信第三方,或是借助其他鏈上的原子交換機制來間接實現。
AMM 功能:
如前文所述,借貸和質押機制在理論上可以通過 Bitcoin Script 實現,但在實際操作中效率較低。然而,我們仍可以探討是否有可能在比特幣上構建類似自動做市商(AMM)的更復雜機制。比特幣腳本中包含了如 OP_ADD、OP_SUB 和 OP_MUL 等數學操作碼(盡管其中一些已被禁用),也有類似 OP_LESSTHAN 的比較操作碼。從理論上講,這些功能可以用來實現價格計算邏輯。
在理論上,開發者可以構造一個腳本,内置固定價格或一組預定義的可接受價格點,但無法做到每次交易後動態調整價格。原因在於比特幣採用 UTXO 模型,每筆交易都會生成新的 UTXO 和腳本,因此每個可能狀態都必須預先計算,或者每次交易後都需重新部署一個合約。
另一個 AMM 實現的關鍵因素是資産交換能力。理論上,比特幣支持原子交換(Atomic Swaps),可構建為訂單簿形式而非流動性池。類似 AMM 的行為也可以通過構建一係列 HTLC(哈希時間鎖定合約)或在不同價格點發佈掛單來模擬,從而形成一個靜態的自動做市係統(類似一條收益曲綫)。但維護這樣的係統非常繁瑣,每次交易後都需手動更新腳本並重新發佈 UTXO,鏈上成本極高。
因此,雖然理論上可以構建 AMM,但實際還面臨一個更大的問題:比特幣主網上只存在 BTC 一種原生資産。雖然如 Omni 協議提供了代幣機制,但這些資産存在於交易的元數據中,無法被腳本識別和處理。因此,通過 Bitcoin Script 無法實現真正的資産對資産交換或流動性池維護。此外,比特幣的 UTXO 模型也不支持單個合約同時持有多方資金並更新部分餘額——每次狀態變化都需要新的交易和多方簽名。
擴展 Script 功能:
上述幾點解釋了為什麼比特幣會定期進行重大更新以提升其功能。其中一項重要更新是 Taproot,它通過軟分叉的方式引入,但極大地改變了 Script(腳本)的設計方式。
Taproot 的 OP_SUCCESS 機制:
隨著 Taproot 升級(BIP 342)的引入,許多此前被禁用或保留的操作碼(opcode)在 Tapscript(即 SegWit v1 腳本)中被轉變為 OP_SUCCESS 操作碼。OP_SUCCESS 表示:只要執行該操作碼,腳本就會立即成功終止。這種設計使得通過軟分叉添加新操作碼變得更加簡單和安全。具體而言,在 Tapscript 中,若操作碼的值位於特定範圍内(例如:0x50、0x62、0x7E–0x81、0x83–0x86、0x89–0x8a、0x8d–0x8e、0x95–0x99、0xbb–0xfe),就會被視為 OP_SUCCESSx。一旦遇到這些操作碼,腳本會無條件判定為成功,忽略其他邏輯。
這種機制取代了舊有的 OP_NOP(空操作碼)升級方式,帶來了更高的安全性與靈活性。未來的軟分叉可以重新定義某個 OP_SUCCESS 操作碼的行為,而老版本節點仍會將其視為「腳本成功」,從而避免因版本不一致導致的無效交易。總結而言,所有未被列為「可用」的操作碼,要麼是保留未用,要麼在 Taproot 中已轉為始終返回成功的 OP_SUCCESS。
另一個重要方面 是操作碼可以通過 BIP(比特幣改進提案)流程提出,目前已經有一些功能強大的提案正在審議或已被拒絕。其中一些提案如果被採納,將顯著拓展比特幣的功能,使其能夠執行更復雜的操作:
OP_CAT(連接操作符): 用於增強比特幣腳本中對數據組合和處理的能力,極大提升表達能力。OP_CAT 原本在早期比特幣中就存在(2010 年被禁用),其作用是從棧中取出兩個字節串並連接後再推入棧中。這種簡單卻強大的操作可用於動態構建消息、在腳本中計算 Merkle 樹哈希等復雜邏輯。該提案建議限制連接後結果不超過 520 字節(即最大棧元素限制)。
OP_CHECKSIGFROMSTACK / OP_CHECKSIGFROMSTACKVERIFY(簡稱 OP_CSFS): 這一操作碼可實現基於預言機的腳本驗證。例如,一個腳本可以驗證一個外部條件(如價格或事件結果)的簽名信息是否來自特定預言機。盡管執行邏輯簡單,但 OP_CSFS 能為比特幣解鎖全新的能力。例如:預言機簽署一條消息「BTC 在 X 時間點跌破 $20,000」,借貸腳本通過 OP_CSFS 驗證此簽名,從而允許出借方清算抵押品——這一過程無需第三方保管私鑰。此外,借款人還款後,預言機或出借人可簽名「已收到還款」,腳本驗證後將抵押物返還。若無 OP_CSFS,這類基於外部條件的自動合約要麼無法實現,要麼只能通過預言機作為聯合簽名人來完成,存在更高的信任風險。
OP_CHECKTEMPLATEVERIFY(簡稱 OP_CTV): 此操作碼允許用戶預先設定其比特幣的未來使用方式,例如:只能轉賬到某一組特定地址,或在滿足特定手續費條件下才能花費。OP_CTV 可用於構建批量交易、通道工廠、以及其它基於「契約」(covenant)機制的高級用例,從而確保某些預定義規則被強制執行。
最主要的原因可能是:比特幣開發者社區對於保持比特幣的原始形態極為謹慎。
一方面,引入新功能確實可以增強比特幣的可用性和擴展性;但另一方面,比特幣本身就是一個設計為「慢」的網絡,而這種「慢」,在某種程度上也被視為其「原汁原味」的特性。例如,以 OP_CSFS 應用於清算機制為例,速度是其中的關鍵因素。如果市場崩盤、BTC 價格劇烈下跌,就可能出現一個悖論:
首先,區塊鏈負載飙升,網絡速度進一步下降;
其次,比特幣網絡中的交易處理速度會大幅滯後,價格早已脫離當前市場水平,而中心化和去中心化交易所(CEX 與 DEX)卻早已迅速反應。
極有可能,在鏈上清算交易完成前,價格已經反彈。
因此,比特幣本身運行緩慢、在高負載時交易費用極高,使得原生實現 DeFi 相關機制在主網上的嘗試基本失去意義。
正因為如此,開發者們逐步得出一個更為合理的結論:應當在比特幣之上構建擴展層。這其實就是 Rollup 思想的前身——即「原型支付通道」(proto-payment channel)的概念:通過支持鏈下的多筆微交易,最終壓縮成一筆鏈上結算交易。
早在 2011 年 4 月,Bitcoin 的第一個代碼分支 Namecoin 被推出,它通過比特幣技術實現了去中心化的域名注冊(DNS 「.bit」)。
Namecoin 的案例——在鏈上存儲「名稱-值」對——首次展示了:比特幣設計不僅可用於貨幣交易,也可以用於其他資産,盡管可能需要獨立的區塊鏈結構。這些理念為後續的資産代幣化、去中心化交易、以及比特幣的鏈下擴展創新奠定了基礎。
穩定幣已成為任何 Web3 生態係統中的關鍵組成部分,即便是那些與 DeFi 沒有直接關係的係統也不例外。它們讓用戶得以規避波動性風險,在轉賬時無需擔心資産價格的變動。如前所述,比特幣網絡始終在功能簡潔性與可記錄數據量之間尋找平衡。有趣的是,比特幣上最早的資産發行嘗試,是通過「彩色幣」(Colored Coins)的開發實現的,這種方式在某種程度上類似於 NFT。
早在 2012 年,J.R. Willett 就提出了在比特幣上發行新資産的設想,並提出了「彩色幣」概念。他隨後幫助創建了 Mastercoin 協議(後更名為 Omni),為在比特幣上實現資産代幣化(包括錨定法幣的代幣)奠定了基礎。
由於標準的比特幣 Script 腳本中並沒有直接的「token」操作碼,開發者只能借助 OP_RETURN 將代幣元數據嵌入到交易輸出中(OP_RETURN 會使輸出變為不可花費,並附帶數據)。在 OP_RETURN 標準化之前,甚至連多重簽名腳本都曾被「曲綫救國」地用來編碼數據。
比特幣腳本本身無法強制執行任何代幣規則——規則由鏈下軟件維護,這些軟件負責解析比特幣交易。
像 Colored Coins、Omni Layer(原 Mastercoin)、Counterparty 和 Open Assets 等協議,都是通過「為某些 satoshi 或 UTXO 上色」的方式來表示代幣。例如,Open Assets 協議會使用包含元數據的 OP_RETURN 輸出,其中指明了代幣數量和資産 ID。
從本質上說,比特幣區塊鏈本身並不知道「代幣」的存在——它僅僅是處理數據。代幣的有效性(例如供應量、歸屬權)由外部錢包解析 OP_RETURN 數據後自行追蹤。
值得注意的是,OP_RETURN 有數據大小限制。比特幣核心客戶端的標準策略規定:每個 OP_RETURN 輸出最多只能包含 80 字節的任意數據。超過 80 字節的數據將被視為「非標準交易」,不會被默認轉發。在理論上,一筆交易可以包含多個 OP_RETURN 輸出,以增加附帶數據量(每個最多 80 字節),但為了防止垃圾交易,比特幣當前的標準中繼策略一般只允許每筆交易含有一個 OP_RETURN 輸出。
這種「在比特幣交易中嵌入元數據」的能力,使得 2012 年的 Mastercoin 協議得以誕生,後來更名為 Omni。Omni Layer 對早期 Tether 的運行起到了關鍵作用,成為第一批 USDT 轉賬的底層傳輸協議。
在 2010 年代中期的一段時間裡,基於比特幣(Omni)的 USDT 是市場上最主要的穩定幣,尤其在 Bitfinex 等交易所中被廣泛使用。Omni 交易實質上是標準的比特幣交易,外加附加的元數據。Omni 後續還發展出多個不同實現類別,形成了自己的技術演進路綫。
内容來源:PANews
更多精彩內容,請登陸
財華香港網 (https://www.finet.hk/)
現代電視 (http://www.fintv.com)