原作者:浩天
如何理解@atomicalsxyz最近發表的AVM虛擬機器白皮書?簡單來說: 它是一種模擬比特幣虛擬機器的方式,讓原本無狀態的比特幣主網實現承載智慧合約系統的能力,進而完成除BTC資產之外的更複雜資產的狀態記錄和處理能力,類似於圖靈完備的智能合約。 接下來分享我的理解:
1)比特幣最初被設計為一個點對點的電子現金系統,具有一定的腳本資料儲存能力、一些基本的OP Code以及一套基於UTXO時間鎖和支出條件的資產驗證邏輯。
因此,比特幣網路在記錄和傳輸BTC資產時可以實現無狀態的資產管理。由於UTXO極簡模型和預先定義的狀態轉換規則的限制,這種無狀態模型只能處理單一BTC資產的有限管理。
如果你嘗試為比特幣網路添加新的資產,例如 BRC 20、ARC 20、Runes 等,你將需要一個更複雜的動態狀態機模型來記錄這些資產的儲存、交易、狀態變化等。如何實現這項目標?
一種方法是使用外部協定和第 2 層解決方案在鏈下建立狀態機模型來擴展處理。目前優秀的二層擴充解決方案如@NervosNetwork @RoochNetwork,甚至RGB、Lightning Network等Native解決方案都屬於這一類。
另一種方式是直接擴展Script的功能,增加新的操作或儲存空間來處理複雜資產的建立和轉移。像 Covenant 和 OP_CAT 這樣依賴 BIP 提案標準通過的解決方案就屬於這一類。
上述兩種方式要麼過於主動,短時間內難以達成共識,要麼過於被動,具有很大的不確定性。 AVM虛擬機器提供了介於兩者之間的特殊處理方案,直接在比特幣主網上建置虛擬機器執行環境。
2)如何做? AVM的主要工作原理包括三個部分:
1.比特幣腳本模擬其實就是比特幣指令集,透過雙堆疊PDA(Pushable Storage Automaton)達到圖靈完備性;
2.沙箱運作環境:整個模擬器處於受控、隔離的環境中,使得沙箱內的執行不會幹擾沙箱外的執行;
3. 狀態雜湊允許參與者驗證其索引器的狀態是否正確同步,防止因狀態不一致而導致的潛在攻擊。
簡單來說:AVM透過在每筆BTC主網交易中引入特殊的編碼和解碼方法(沙箱環境),直接利用BTC目前有限的儲存空間和OP Codes處理框架。
此沙箱自備索引器、沙箱解析器(指令集)、全域資料庫等,可獨立完成整套資產的儲存、交易狀態記錄等管理。相當於在BTC主網中內建了一個動態狀態機,可以實現複雜的智慧合約處理以及狀態同步和驗證。
3)有了AVM虛擬機,比特幣主網理論上可以具備基本的智能合約運作功能,讓比特幣管理多種複雜資產以及落地複雜狀態邏輯DApp成為可能,相當於賦予了比特幣網路一定的自建能力生態功能。
這當然是一個巨大的進步,至少是與RGB、閃電網路以及各種優秀的第二層協定處理解決方案同等程度的BTC擴容創新。在Native方面甚至比其他解決方案還要好。
然而,AVM 依賴 Bitcoin Script 進行程式碼儲存和 OP Code 進行交易執行,因此一般會受到 BTC 主網效能的限制,例如區塊儲存空間大小、輸出速度等。
想像一下,一個基於 AVM 建構的 DeFi 專案每分鐘只能處理 7 筆交易,並且在兩次狀態轉換之間需要等待 10 分鐘。即使這樣的智能合約理論上是完整的,但它仍然受到限制。而且,依靠Bitcoin Script腳本指令集開發複雜的合約功能,比用以太坊Solidity等語言開發智能合約更加複雜和困難。
而且,AVM白皮書僅闡明了Make Senses內建虛擬機器的執行方式。實際如何部署到應用程式環境線上,如何穩定運行,目前還不得而知。
多於
總的來說,我傾向於將AVM的開發和實作視為基於BTC主網Script腳本擴充功能的有益且主動的探索。它確實可以推動一些更簡單的智能合約在BTC主網上的實施。同時,比特幣主網可以在第二層生態系統以及BitVM等鏈上鏈下聯合生態系統的建設中發揮更大的作用和價值。
然而,與其他BTC擴容解決方案一樣,AVM也有優點和缺點。也要靠落地後的生態建設來擴大其正統號召力。建議保持理性、謹慎、樂觀的心態。
本文來自網路:如何理解AVM:讓BTC實現動態狀態機的圖靈完整的虛擬機器?
相關:硬幣被盜事件頻繁。關於加密資產的保護,我們需要了解哪些知識?
如何辨識假錢包位址?為什麼冷錢包仍然存在被駭客攻擊的風險?這些攻擊是如何發生的?什麼樣的人容易成為駭客攻擊的目標?如何避免此類問題呢?近期,Web3頻頻發生被盜幣事件,尤其是備受關注的1155 WBTC被盜事件,引起了公眾的廣泛關注。加密資產的保護也成為大家關注的焦點。針對此事件,PoPP與OneKey共同舉辦了一次Space,與社群分享鏈上安全問題,內容豐富實用,為缺乏防範意識的新手上了一堂科普課。來賓:PoPP CTO:Neo OneKey 生態負責人:Cavin 主持人:JY 本空間主要討論以下問題: 1. 如何辨識…