原文作者:Haotian
如何理解@atomicalsxyz 最新發布的 AVM 虛擬機器白皮書? 簡單而言:它是一種透過模擬比特幣虛擬機,讓原本「無狀態」比特幣主網實現搭載智慧合約系統的能力,進而可以完成BTC 資產之外更複雜資產的狀態記錄和處理能力,類似圖靈完備智能合約。接下來,分享下我的理解:
1)比特幣原本設計為一套點對點的電子現金系統,有一定 Script 腳本資料儲存能力,同時有一些基本的 OP Codes 操作碼,也有一套基於 UTXO 時間鎖和花費條件的驗證資產邏輯。
因此,比特幣網路在記錄並傳輸 BTC 資產時能夠實現「無狀態」下的資產管理。由於 UTXO 極簡模型和預定義狀態轉換規則的限定,這種無狀態模型只能處理 BTC 單一資產的有限管理。
若嘗試在比特幣網路上新增資產,例如 BRC 20、ARC 20、Runes 等資產,就需要有一套更複雜的動態「狀態機」模型來記錄這些資產的儲存、交易、狀態變化等。如何實現呢?
一種方式時採用外部協定和layer 2 二層解決方案在鏈下建構「狀態機」模型來延展處理,像是@NervosNetwork @RoochNetwork 等目前優秀的二層擴充方案,甚至是RGB、閃電網路等Native 解決方案都屬於此類;
另一種方式是直接擴展 Script 腳本的功能,以增加新的操作嗎或存儲空間來處理複雜資產的創建和轉移,像 Covenant 和 OP_CAT 等依賴 BIP 提案標準被通過的方案都屬於這種;
以上兩種方式要么過於“主動”,短時間內難達成共識統一,要么過於“被動”,存在極大的不確定性。 AVM 虛擬機器給出的是介於兩者之間,直接在比特幣主網上建立虛擬機器執行環境的特殊處理方案。
2)如何做呢? AVM 主要工作原理包含三部分:
1.比特幣腳本模擬,其實就是比特幣指令集,透過雙堆疊 PDA(可壓入儲存自動機)實現了圖靈完備屬性;
2、沙盒運作環境,整個模擬機處於一個受控的隔離環境中,使得沙盒中的執行和之外的執行互不干擾;
3.狀態哈希,可以讓參與者驗證其索引器的狀態是否正確同步,防止了狀態不一致潛在的攻擊性。
簡單理解:AVM 直接利用目前 BTC 有限的儲存空間和 OP Codes 處理框架,透過在每筆 BTC 主網交易中引入一種特殊的編碼和解碼方式(沙盒環境)。
這款沙盒自備索引器、沙盒解析器(指令集),全球Database(資料庫)等等,可以獨立完成一整套資產的儲存、交易狀態記錄等管理,等同於在BTC 主網內建了一個動態的“狀態機”,繼而就可以實現複雜的智能合約處理以及狀態同步和驗證。
3)有了AVM 虛擬機理論上可以讓比特幣主網具備基礎智能合約操作功能,讓比特幣具備管理多重複雜資產以及複雜狀態邏輯DApp 落地的可能性,相當於讓比特幣網路具備了一定的自建構生態功能。
這當然算是一次偉大的進步,至少和 RGB、閃電網路以及各類優秀二層協定處理方案算同等級的 BTC 擴充能力創新。甚至在 Native 方面還要優於其他方案。
不過,AVM 要依賴比特幣 Script 腳本做編碼儲存、同時依賴 OP Codes 做交易執行,因此它整體受限於 BTC 的主網效能,例如:區塊儲存空間大小、出快速度等。
試想,一個基於 AVM 構建的 DeFi 項目,每分鐘只能處理 7 筆交易,兩個狀態轉換之間需要等待十分鐘,這樣的智能合約即使理論上完備,依然被束縛住了手腳。而且依賴比特幣 Script 腳本指令集來開發複雜的合約功能,要比以太坊 Solidity 等語言開發智能合約更複雜、更困難。
況且,AVM 的白皮書只是理清楚了一種 Make Sense 的內建虛擬機執行方式,其實際部署上線到應用環境如何運轉、如何穩定運行等問題依然是未知數。
以上
整體來說,我傾向於將AVM 的開發落地視為一種基於BTC 主網Script 腳本擴展的有益主動探索,確實能帶動一些較簡約的智能合約在BTC 主網落地,同時可比特幣主網能在二層生態建構以及BitVM 等鏈上和鏈下組合生態中發揮更大的佔比作用和價值。
但,和其他各類 BTC 擴展解決方案一樣,AVM 同樣也有優缺點,也得憑藉落地後的生態建構情況來給自己擴大「正統性」吸引力,建議保持理性謹慎樂觀態度。