header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

解析AVM:基於模擬虛擬機器上的比特幣智能合約

閱讀本文需 11 分鐘
AVM 讓 Atomicals 協議能夠執行各種任務,而不僅僅是先前簡單的代幣發行機制,為未來比特幣生態發展大規模的應用和系統架構打下了基礎。
原文標題:《AVM:基於模擬虛擬機器上的比特幣智能合約》
原文來源:Bitcoin Square


就在本週,@atomicalsxyz 發布了最新的AVM 虛擬機白皮書,相信大家還記得去年的$ATOM 以及跨年時候打的$quark 等ARC-20 代幣,而Atomicals 協議這次的AVM 白皮書具體講了什麼,對於後續的比特幣生態有什麼影響呢,下面我們就來分析協議和白皮書的內容。


一、背景


隨著比特幣生態系的發展,如Segwit、Taproot 、Schnorr、MAST 和Taproot Scripts 等技術的更新推出,促使了新的應用的產生。在此基礎上誕生了許多比特幣的代幣發行方式,也促進了比特幣生態的持續發展。


Ordinals 協議的誕生與比特幣網路上的 satoshi(聰)的概念密切相關。該協議引入了序數(Ordinals)和銘文(Inscriptions)的概念。序數是為每個聰依照其開採順序分配一個唯一編號,無論聰在不同錢包間如何轉移,其序數標識始終保持不變。銘文(Inscriptions)則是透過在聰上刻錄訊息來實現的。結合 SegWit 和 Taproot,Ordinals 協議允許在比特幣區塊鏈上為每個聰刻錄一個小於 4 MB 的文件,即銘文。隨著比特幣生態的發展,Ordinals 創辦人 Casey 建議使用 Runes 作為 BRC-20 的替代方案。相較於 BRC-20,Runes 減少了伺服器共識層,變得更加簡單,同時不依賴鏈下數據,也不需要原生代幣,非常適合比特幣的原生 UTXO 模型。


而我們要介紹的Atomicals 協議的誕生也是機緣巧合,最開始創始人Arthur 在Ordinals 協議剛發布的時候想在其基礎上開發一個DID項目,但在過程中發現了有些局限性,隨後在2023 年5 月在推特上發不了關於協議的構思推文,隨後在去年9 月份正式上線。對於Atomicals 中的ARC-20 概念,其實並不是很多人理解的銘文協議,它更像是一種染色幣,它將比特幣的最小單位sat 作為基本“原子”,其獨特之處在於每個代幣單位至少由一個聰單位支持,並根據使用未花費交易輸出UTXO 架構發送和接收比特幣的相同規則進行操作。


在追蹤歷史交易記錄和計算當前的ARC-20 資產餘額時,人們僅需檢查與ARC-20 代幣相關的比特幣UTXO,無需從鏈下存儲模組中檢索額外資料。這一點是 ARC-20 與 BRC-20 協定之間的主要區別,因為 BRC-20 協定通常依賴鏈下索引器和鏈下儲存層。 ARC-20 協定顯著降低了索引伺服器成本,提高了去中心化程度,且其轉帳安全性依賴於 BTC 網絡,不產生冗餘交易,同時保持與 BTC 相同的原子性,適合開發多種原生應用程式。 Atomicals 協議不僅僅是想只做資產發行,而是如何為資產提供更豐富的使用場景,以增強其流動性,並在功能性上進行更多拓展。


二、 AVM 是什麼


比特幣最初設計為一種點對點的電子現金系統,具備一定的Script 腳本資料儲存能力和基本的OP Codes 操作碼,迄今為止,比特幣上的所有覆蓋協議都是基於固定或預定義的狀態機。所有覆蓋協議基本上共享兩種狀態機:一種用於訊號傳遞以創建數位資產,另一種用於管理這些數位資產的轉移。狀態機規則本質上是不可更改的,並且硬編碼在各自的覆蓋協議索引器中——應用開發者無法自訂數位資產的行為。


然而,由於 UTXO 模型和預定義狀態轉換規則的限制,這種無狀態模型只能處理 BTC 單一資產的有限管理。為了在比特幣網路上新增如 BRC20、ARC20、Runes 等資產,需要更複雜的動態「狀態機」模型來記錄這些資產的儲存、交易和狀態變化。其中一種方法是採用外部協定和Layer 2 解決方案,例如我們先前文章中提到的Nervos Network、RGB、閃電網路等,是在鏈下建立「狀態機」模型;而另一種方法是直接擴展Script 腳本功能,增加新的操作碼或儲存空間,例如Covenant 和OP_CAT 等BIP 提案。然而問題是第一種方式在短時間內難以達成共識,而第二種方式又存在不確定性。


AVM 虛擬機器則提供了介於兩者之間的解決方案,直接在比特幣主網上建立虛擬機器執行環境,以特殊處理方式實現複雜資產的創建和轉移,並允許應用程式開發者完全自訂和定義其數位資產的任意規則。基本想法是允許開發者將智慧合約程式碼放置在交易的資料段中,以便所有相關方都可以執行。透過將程式碼儲存在區塊鏈上,不同的相關方可以透過以相同方式執行邏輯來輕鬆同步狀態。


三、工作原理


我們都知道智能合約程式語言應至少具備以下關鍵屬性:可預測的運作時間、圖靈完備性以及在資源受限系統上的高效執行的能力。從上述要求來看,比特幣腳本非常適合作為定義數位資產創建和轉移規則的指令集。智慧合約程式碼儲存在比特幣交易中,覆蓋協議索引器執行這些程式碼以進行各種方法呼叫和狀態轉換。所有相關方執行相同的邏輯並達成相同的狀態轉換,從而形成一種自發性的共識。


透過模擬比特幣虛擬機器及其腳本解釋器來創建和執行各種覆蓋數位資產的智慧合約。比特幣區塊鏈作為時間戳記和資料提供者,將智慧合約程式儲存在鏈上,但這些程式的執行由覆蓋協議索引器在沙盒運行時中進行。覆蓋協定索引器節點由應用程式開發人員、服務提供者和使用者共同操作,從而形成新興的共識:


1、比特幣腳本模擬:比特幣指令集,透過雙堆疊PDA 實現了圖靈完備屬性;


2、沙盒運作環境:整個模擬器處於受控的隔離環境中,使得沙盒中的執行和以外的執行互不干擾;


3、狀態雜湊:可以讓參與者驗證其索引器的狀態是否正確同步,防止了狀態不一致潛在的攻擊性。


簡單來說,AVM 就是直接利用當前BTC 的有限的儲存空間和OP Codes 處理框架,透過在每筆BTC 主網交易中引入一種特殊的編碼和解碼方式,也就是沙盒環境,這個沙盒是比特幣腳本解釋器的精簡版本,具有一些顯著的差異,例如直接接受執行鎖定腳本(scriptPubKey)和解鎖腳本(scriptSig),以及各種其他資料如代幣狀態和受保護記憶體快照,而這個環境可以獨立完成一整套資產的儲存、交易記錄等,進而實現複雜的智慧合約處理以及狀態同步和驗證。


四、未來發展


那在未來AVM 有那些可能的發展呢,它提供了一個能夠處理智慧合約和dApp 的高階執行環境,配備用於增強效能的自訂指令集,同時可以降低Gas 費,優化狀態轉換功能以增加並行處理能力,從而提高吞吐量和可擴展性。同時,AVM 實現了互通性和跨鏈通訊。簡單來說 AVM 讓 Atomicals 協議能夠執行各種任務,而不僅僅是之前簡單的代幣發行機制。在滿足了發行資產、管理資產等需求的基礎後,才可以真正的將比特幣生態發展起來,也會有更大規模的應用和系統架構的實現。


儘管AVM 有許多局限性,例如只能操作ARC20 資產,以及在主網出塊速度和費率下的一層智能合約的可用性仍是未知數,此外,儘管比特幣腳本語言設計用於資源受限的環境,複雜智能合約仍可能消耗大量計算資源,在執行效率方面仍有疑慮。但它的出現依然令人興奮,期待更進一步的技術創新突破。


原文連結


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交