如何理解AVM:一種讓BTC實現動態“狀態機”的圖靈完備虛擬機?
發表於 2024-05-28 15:53 作者: 鏈上觀
來源:鏈上觀
如何理解 @atomicalsxyz 最新發布的AVM虛擬機白皮書? 簡單而言:它是一種通過模擬比特幣虛擬機,讓原本“無狀態”比特幣主網實現搭載智能合約系統的能力,進而可以完成BTC資產之外更復雜資產的狀態記錄和處理能力,類似於圖靈完備智能合約。接下來,分享下我的理解:
1)比特幣原本設計爲一套點對點的電子現金系統,有一定Script腳本數據存儲能力,同時有一些基本的OP Codes操作碼,也有一套基於UTXO時間鎖和花費條件的驗證資產邏輯。
因此,比特幣網絡在記錄並傳輸BTC資產時能夠實現“無狀態”下的資產管理。由於UTXO極簡模型和預定義狀態轉化規則的限定,這種無狀態模型只能處理BTC單個資產的有限管理。
若嘗試在比特幣網絡上新增資產,比如BRC20、ARC20、Runes等資產,就需要有一套更復雜的動態“狀態機”模型來記錄這些資產的存儲、交易、狀態變化等。如何實現呢?
一種方式時採用外部協議和layer2 二層解決方案在鏈下構建“狀態機”模型來延展處理,像 @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同樣也有優缺點,也得憑借落地後的生態構建情況來給自己擴大“正統性”吸引力,建議保持理性謹慎樂觀態度。
標題:如何理解AVM:一種讓BTC實現動態“狀態機”的圖靈完備虛擬機?
地址:https://www.coinsdeep.com/article/128519.html
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。