AVMを理解する方法:BTCが動的「ステートマシン」を実現するチューリング完全な仮想マシンとは?
著者:Haotian
@atomicalsxyz の最新リリースである AVM 仮想マシンのホワイトペーパーをどのように理解すればよいでしょうか? 簡単に言えば、これはビットコイン仮想マシンをシミュレーションすることによって、元々「無状態」であったビットコインメインネットがスマートコントラクトシステムを搭載する能力を実現し、BTC 資産以外のより複雑な資産の状態記録と処理能力を達成するものです。これはチューリング完全なスマートコントラクトに似ています。次に、私の理解を共有します:
1)ビットコインは元々、ピアツーピアの電子現金システムとして設計されており、一定のスクリプトデータストレージ能力を持ち、いくつかの基本的な OP コード操作コードと、UTXO タイムロックと支出条件に基づく資産検証ロジックを持っています。
したがって、ビットコインネットワークは BTC 資産を記録し、伝送する際に「無状態」での資産管理を実現できます。UTXO の極めてシンプルなモデルと事前定義された状態変換ルールの制約により、この無状態モデルは BTC 単一資産の限られた管理しか処理できません。
ビットコインネットワーク上で新しい資産、例えば BRC20、ARC20、Runes などを追加しようとすると、これらの資産のストレージ、取引、状態変化などを記録するために、より複雑な動的「状態機械」モデルが必要です。どう実現するのでしょうか?
一つの方法は、外部プロトコルと Layer2 ソリューションを使用して、オフチェーンで「状態機械」モデルを構築し、処理を拡張することです。@NervosNetwork や @RoochNetwork などの現在の優れた Layer2 拡張ソリューション、さらには RGB やライトニングネットワークなどのネイティブソリューションもこのカテゴリに属します。
もう一つの方法は、スクリプトの機能を直接拡張し、新しい操作やストレージスペースを追加して複雑な資産の作成と移転を処理することです。Covenant や OP_CAT など、BIP 提案標準に基づいて承認されたソリューションがこのタイプに該当します。
これらの二つの方法は、いずれも「積極的すぎる」ため、短期間で合意を得るのが難しいか、あるいは「受動的すぎる」ため、大きな不確実性を抱えています。AVM 仮想マシンは、両者の間に位置する特別な処理ソリューションを提供し、ビットコインメインネット上に仮想マシン実行環境を構築します。
2)どうやって実現するのでしょうか?AVM の主な動作原理は三つの部分から成り立っています:
ビットコインスクリプトのシミュレーション、実際にはビットコイン命令セットであり、二重スタック PDA(プッシュダウンオートマトン)を通じてチューリング完全な属性を実現しています;
サンドボックス実行環境、全体のシミュレーターは制御された隔離環境にあり、サンドボックス内の実行と外部の実行は相互に干渉しません;
状態ハッシュ、参加者がインデクサーの状態が正しく同期されているかを検証できるようにし、状態不一致による潜在的な攻撃を防ぎます。
簡単に理解すると、AVM は現在の BTC の限られたストレージスペースと OP コード処理フレームワークを直接利用し、各 BTC メインネット取引に特別なエンコーディングとデコーディング方式(サンドボックス環境)を導入します。
このサンドボックスはインデクサー、サンドボックスパーサー(命令セット)、グローバルデータベースなどを備えており、資産のストレージ、取引状態記録などの管理を独立して完了でき、BTC メインネット内に動的な「状態機械」を内蔵したことに等しく、複雑なスマートコントラクト処理や状態の同期と検証を実現できます。
3)AVM 仮想マシンがあれば、理論的にはビットコインメインネットが基本的なスマートコントラクト操作機能を持つことができ、ビットコインが複数の複雑な資産や複雑な状態ロジック DApp の実現可能性を持つことになります。これはビットコインネットワークに一定の自己構築エコシステム機能を持たせることに相当します。
これは確かに大きな進歩であり、少なくとも RGB、ライトニングネットワーク、さまざまな優れた Layer2 プロトコル処理ソリューションと同等の BTC 拡張能力の革新と見なされます。ネイティブの観点からは、他のソリューションよりも優れている場合もあります。
しかし、AVM はビットコインスクリプトをエンコーディングストレージに依存し、同時に OP コードを取引実行に依存するため、全体として BTC のメインネット性能に制約されます。例えば:ブロックストレージスペースの大きさ、ブロック生成速度などです。
想像してみてください、AVM に基づいて構築された DeFi プロジェクトは、1 分間に 7 件の取引しか処理できず、二つの状態変化の間に 10 分待たなければならない場合、そのようなスマートコントラクトは理論的には完備していても、依然として手足を縛られています。また、ビットコインスクリプト命令セットに依存して複雑な契約機能を開発することは、イーサリアムの Solidity などの言語でスマートコントラクトを開発するよりも複雑で、難易度が高いです。
さらに、AVM のホワイトペーパーは、ある意味で意味のある内蔵仮想マシン実行方式を整理しただけであり、実際にデプロイされてアプリケーション環境でどのように運用され、安定して動作するかなどの問題は依然として未知数です。
以上
全体として、私は AVM の開発を BTC メインネットスクリプトの拡張に基づく有益な積極的探索と見なす傾向があります。確かに、いくつかの比較的シンプルなスマートコントラクトが BTC メインネットに実装されることを促進できる一方で、ビットコインメインネットが Layer2 エコシステムの構築や BitVM などのチェーン上とチェーン下の組み合わせエコシステムにおいて、より大きな割合の役割と価値を発揮できる可能性があります。
しかし、他のさまざまな BTC 拡張ソリューションと同様に、AVM も長所と短所があり、実際のエコシステム構築の状況に応じて「正統性」を拡大する魅力を持たなければなりません。理性的で慎重な楽観的態度を保つことをお勧めします。