在比特幣上發展代幣、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、0xx–0x),就會被視為xCC,0x95–0x99.一旦遇到這些操作碼,腳本會無條件判定為成功,忽略其他邏輯。
這種機制取代了舊有的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 年,JR 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 後續也發展出多個不同實現類別,形成了自己的技術演進路線。