鏈上擴展與鏈外擴展:Bitcoin 可程式性的未來

作者:jolestar,Rooch Network創辦人來源:X,@jolestar

Bitcoin 的可程式性擴展方案可分為兩個大的方向:鏈上擴展和鏈外擴展。

Bitcoin 鏈上擴展

這個方向一直受限於Bitcoin 腳本的程式性。 Bitvm 這樣的方案嘗試透過Taproot 樹來模擬電路,實現圖靈完備的計算。但Bitcoin L1 更大的限制在於Bitcoin 腳本是無狀態的。無論計算多複雜,對狀態的所有權都只能表達為時間鎖、哈希鎖、私鑰鎖,無法表達出“狀態鎖”,而這是實現複雜應用的前提。

假設把Bitcoin 的腳本替換成一個圖靈完備的虛擬機,其他條件不變,請設計出一個計數器,任何用戶發送交易都可以讓它加一,這時就會理解這個限制。

這個計數器場景有什麼用呢?在典型的打銘文場景下,需要一個計數器來計算資產的總量。如果鏈上能表達計數器,就不會有打廢銘文的情況了。

用通俗的比喻來解釋「狀態鎖」:如果把Bitcoin 腳本理解成一個對UTXO 的智慧鎖,這個智慧鎖可以透過密碼解鎖,可以透過指紋解鎖,但它內部不能記錄腳本執行後的結果,所以無法實現解鎖幾次後就不能再解鎖的功能。

所以鏈上擴充如果能配合一次性簽章設計出仲裁和挑戰機制,就已經非常有突破性了。

Bitcoin 鏈外擴展

既然鏈上擴展有瓶頸,那隻能尋求鏈外擴展。為了避免L2/側鏈,on-chain/off-chain 的歧義,統稱為鏈外擴展。

鏈外擴展需要在幾個選項之間取捨:

  1. 用什麼智慧合約以及虛擬機器。

  2. 智能合約裡如何讀寫Bitcoin 上的狀態(數據以及資產)。

  3. 交易寫到哪裡去,如何保證可用性。

例如,在AVM 的方案裡:

  1. 選Bitcoin Script。

  2. 透過增加新的OP code 來實現。

  3. 交易寫回Bitcoin L1。

而EVM 側鏈方案一般是:

  1. 用EVM。

  2. 透過橋跨資產過去。

  3. 以獨立的共識網保證。

文章提到了RoochNetwork,詳細介紹其方案如下:

  • 智慧合約以及虛擬機器:用Move 以及MoveVM。

  • 智能合約裡如何讀寫Bitcoin 上的狀態:在L2 執行Bitcoin L1 的所有交易,將Bitcoin 的狀態(UTXO/Inscription 等)表達為Move Object。

這樣有幾個好處:

  1. 智能合約中可以讀取到所有Bitcoin 上的狀態(UTXO/Inscription 等),還包括交易和區塊頭。

  2. L2 的狀態可以透過Object 的動態字段,綁定到Bitcoin 的狀態(原子綁定),所有權歸Bitcoin 資產的擁有者。舉幾個典型場景:L1 的狀態表達地塊,L2 上蓋房子;L1 的狀態表達域名,解析記錄在L2。

  3. 透過在L2 的智能合約中產生Bitcoin Script 以及Bitcoin 交易,為交易提供可程式化。

如何保證可用性

RoochNetwork 的交易可用性依賴第三方DA。因為Rooch 的方案中,L2 會包含所有L1 的交易,所以不能再寫回L1,只需要把L2 狀態樹的根定期寫回Bitcoin 即可。這樣也保證L2 的交易成本夠低,可以給更複雜的應用提供基礎設施。

總結

Bitcoin 生態期待可程式化的擴展方案很久,有各種路線和方案的嘗試。 Bitcoin L1 的可編程性有限,但它的優勢是所有狀態都是全局的,不存在合約間的割裂。所以無論任何擴展方案,只要方案在Bitcoin 上寫了數據,就可以和其他方案進行結合,優勢互補,最終會湧現出不一樣的生態。

Total
0
Shares
Related Posts