【轉】AVM白皮書解讀
請注意:本文爲根據個人認知和邏輯推理所寫,不一定正確,僅供參考。
要理解AVM,重點是下面三張圖,我們來逐張分析:
圖1:AVM要【做什麼】
1️⃣
開發者可以自定義資產的“創建規則”和“”轉移規則,這些規則(或者可以說成是合約)是通過包含在鏈上數據的形式來存儲和體現的。
2️⃣
創建的資產包含了“狀態”,狀態會根據操作而進行更新,引入“狀態”對於拓展是非常重要的。
3️⃣
從這個維度來看,AVM其實可以理解爲“一層資產協議”(在白皮書中叫Overlayer Protocol)的超集,它可以爲開發者提供足夠自定義的方式來在BTC主網上創建資產及相關體系。
圖2:AVM要【怎麼做】
我們從上到下,從左往右來看:
1️⃣
左側爲BTC主網,裏面包含了我們的合約數據、狀態數據等;
2️⃣
中間部分爲基於Indexer的編程部分,我們可以調用智能合約代碼(左),代碼可以是通過高級語言編譯而成的(上),當執行合約(右)之後,相關的數據(包含token數據,狀態數據)在本地進行存儲(下)
3️⃣
具體執行的函數形式包含兩類:一類是Btc原有的op-code,比如op_add,op_mul等,這裏還出現了還未被通過的op_cat,另一類是開發者可以自定義的op-code,比如op_ft_balance(FT資產餘額)。理論上來說,會有一個官方庫,開發者可以在官方庫的基礎上繼承然後開發新的函數。
4️⃣
在註腳當中提示的是關於op-code的解釋,其中對於自定義的op-code,提出的Two Stack PDA我不是特別明白爲什麼是圖靈完備的,有懂的大神可以在評論區指教一下。
圖3:AVM如何【形成共識】
因爲每個客戶端的是在鏈下運行的,如何形成共識呢?白皮書上給出的答案是state hash的上鍊,那麼大家就可以檢查state是不是正確的、同步的。
理解了以上幾點,我們可以整理一下對於AVM的認知:
1️⃣
AVM提供了一個爲開發者靈活制定資產規則的平臺;
2️⃣
通過原生及自定義的op-code,其可以實現很多功能,但要注意這些功能跟我們理解的比如EVM系的智能合約還是不同的,相對來說拓展性是需要時間開發的;
3️⃣
AVM是基於indexer的編程,原則上未來有可能兼容有indexer的資產協議,並且可以實現這類資產的原生存取,可能會給這類資產提供除了多籤/同構綁定之外另外一種跨鍊形式,不過不同資產協議之間感覺要深度綁定從生態角度上來說有難度;
4️⃣
AVM的影響暫時不應高估,因爲它是基於BTC主網的,基於主網能做的事情有限(受制於主網的性能);不過也不應低估,它在理論上可以實現主網的合約能力,這對於BTC生態來說是有重要的積極意義的。未來是否可以與閃電網絡進行結合也是一個可以探索的方向。
#avm #atomicals #Quark 原文鏈接:https://x.com/DaPangDunCrypto/status/1796099325170495990