製品、技術、または革新が特定の業界に与えた革命的な影響を説明する際、私たちはしばしばその業界の「iPhone の瞬間」と呼びます。この比喩は、2007 年に Apple によって導入された iPhone が、モバイル電話およびコンピューティング業界全体に与えた深遠な影響から引き出されています。
DeFi の世界では、この変革の時期は「AMM の瞬間」と呼ばれています。これは、AMM モデルが DeFi セクターで果たした重要な役割、特に市場流動性の向上に起因しており、これが 2021 年のブルマーケットに直接つながりました。では、オンチェーンゲームにおける「AMM の瞬間」とは何でしょうか?この記事で掘り下げてみましょう。
DeFi における AMM の重要性#
DeFi は、ブロックチェーン技術と金融の統合であり、金融ルールをスマートコントラクトにエンコードすることで、分散化、プライバシー、自動化を実現します。では、これらの金融プラットフォームにとって重要な要素は何でしょうか?明らかに、それは「流動性」です。たとえば、貸付、取引、支払い(ステーブルコイン)の 3 つの主要なビジネスモデルは、持続的な成長のために流動性に大きく依存しています。
貸付: 流動性は貸付業務の中心にあります。従来の銀行や金融機関は、短期預金やその他の資金源に依存して長期ローンを提供します。流動性が不十分であると、これらの機関はローンの要求を満たしたり、短期債務を返済したりするのに困難を抱える可能性があります。流動性リスクは金融危機において重要な役割を果たしました — 銀行が約束を果たすための十分な資金を確保できなかったときに崩壊しました。
取引: 資本市場では、流動性が最も重要です。高い流動性は、資産が著しい損失なしに迅速に売買できることを示します。低い流動性は、より大きなビッド・アスクスプレッドや、資産を売却する際に買い手を見つけるのが難しくなることにつながります。これにより、価格の急激な変動や市場の不安定性が生じる可能性があります。
支払い(ステーブルコイン): 支払いシステム、特にステーブルコインを含むものの流動性は重要です。個人や企業は、資金を移動する際に効率的で信頼性の高い支払いシステムに依存しています。これらのシステムにおける流動性の不足は、支払いの遅延や失敗を引き起こし、経済全体の機能を妨げる可能性があります。
Web3 環境では、取引が金融業務の中心となります。なぜなら、貸付と支払いは主に取引を促進するために存在するからです(レバレッジをかけたり、取引の媒介として機能したりします)。しかし、「AMM の瞬間」はなぜ生まれたのでしょうか?それは主にブロックチェーンの固有の性能制約によるものです。
従来の中央集権的な金融機関は、金融ルールを保持するために高性能のサーバーに依存し、最高のマッチング効率を確保しています。それに対して、DeFi はこれらのルールをスマートコントラクトに埋め込み、分散化とプライバシーの利点のためにマッチング効率を犠牲にしています。
スマートコントラクトの相対的に劣る性能を考慮すると、初期の DeFi プロジェクト(貸付プラットフォームや取引所)は、従来のオーダーブックモデルに基づいてマッチングを行っていました。この背景の中で、DeFi は AMM の登場まで CeFi に対抗することができませんでした。
この「世界コンピュータ」の限られた性能を活用して、流動性マッチング効率を劇的に向上させるにはどうすればよいのでしょうか?AMM モデルの解決策は、流動性プールとアルゴリズムを利用して自動的にペアリングを行うことです。具体的な内容は文献で広く取り上げられており、ここでは詳しく掘り下げませんが、その利点には以下が含まれます:
従来のマーケットメイカーの排除: 従来の金融では、マーケットメイカーは通常、買い / 売り注文の見積もりを提供して市場の流動性を確保します。AMM モデルでは、流動性提供者が資金をスマートコントラクトに預け入れることを許可し、その後、事前に定められたアルゴリズムに基づいて自律的に価格を調整し、取引を実行します。これにより、従来のマーケットメイカーの必要がなくなります。
流動性プール: AMM モデル内では、流動性プールがトレーダーに常に利用可能な対称を提供します。流動性提供者はこれらのプールに資金を預け入れ、取引手数料を得ることで、より多くの参加者を促し、市場の流動性を向上させます。
取引の摩擦の軽減: AMM の自動化により、取引はいつでも実行でき、従来の買い / 売り注文のマッチングを待つ必要がなくなり、取引の摩擦が減少します。
DeFi の革新を促進: AMM モデルは、流動性マイニングやデュアルトークン流動性プールなど、DeFi セクターに多くの革新をもたらしました。これらの革新は、DeFi の成長と採用をさらに加速させました。
AMM の革新的なメカニズムは、DeFi の流動性マッチング効率を著しく向上させ、CeFi と競争できるようにしました。この突破口は、DeFi サマーとして知られる急成長をもたらしました。
ゲームとブロックチェーンの根本的な対立とは?#
オンチェーンゲームは、DeFi を思わせる瞬間にあります:低性能の「世界コンピュータ」でゲームをどのように運営できるのでしょうか?これに答えるためには、ゲームとブロックチェーンの間の内在的な矛盾を深く分析する必要があります。
私はかつて「オンチェーンゲームエンジンアーキテクチャ ARC と ECS の違いは何か?」という記事を書きました。その中で、ゲームループの概念について議論し、従来のゲームがループベースであることを強調しました。
従来のゲームは、ゲームループがそのコアメカニズムであるため、ループベースのモデルで運営されています。このループは、ユーザー入力の処理、ゲーム状態の更新、ゲーム世界のレンダリングを含む繰り返しのプロセスです。ループはゲームの実行時間中ずっと続き、通常は 1 秒間に数十回から数百回実行され、ゲーム世界のスムーズさを確保します。この構造の中で、ゲームシステム(物理エンジン、AI システムなど)は、各ループ中に関心のあるゲームエンティティやコンポーネントをチェックし、処理します。
対照的に、ブロックチェーンのアーキテクチャはプッシュベースです。ブロックチェーンは分散データベースであり、ネットワーク内のノード間で情報を共有し、保存します。ノードが新しいトランザクション(例:転送、コントラクト呼び出し)を生成すると、このトランザクションはネットワークにプッシュされます。他のノードは、このトランザクションを受け取ると、それを検証し、ブロックチェーンに追加します。これは受動的なプロセスであり、ノードは新しいトランザクションを積極的に探すのではなく、ネットワーク内の他のノードから送信されるのを待ちます。したがって、ブロックチェーンのアーキテクチャはプッシュベースと呼ばれます。
この説明は、私たちの最初の質問に基本的に答えています。ゲームアーキテクチャは通常ループベースであるのに対し、ブロックチェーンアーキテクチャはプッシュベースであり、ゲームとブロックチェーンの間の内在的な矛盾を示しています。では、この不一致をどのように解決できるのでしょうか?この矛盾が解決されれば、オンチェーンゲームにおける「AMM の瞬間」を目の当たりにすることになるかもしれません。
さらに深く掘り下げるために、ゲームがどのようにゲームループを実装しているかを見てみましょう。
すべてのゲームは、ユーザー入力のキャプチャ、ゲーム状態の更新、AI の処理、音楽や効果音の再生、ゲームビジュアルのレンダリングという一連のプロセスを含みます。このシーケンスはゲームループによって管理されます。上記の各タスクの詳細には立ち入らず、ゲームループ自体に焦点を当てます。簡単のために、タスクはゲームの更新と表示に減らすことができます。以下は、ゲームループの基本的な形式の例です:
bool game_is_running = true;
while( game_is_running ) {
update_game();
display_game();
}
3 つの用語を紹介しましょう:
ティック: ゲームループの同義語。1 ティック = 1 ゲームループ。
FPS(フレーム毎秒): 前述の実装において、display_game()
が 1 秒間に呼び出される回数を指します。
ゲームスピード: これは、ゲーム状態が 1 秒間にどれだけ更新されるか、つまりupdate_game()
がどれだけ頻繁に呼び出されるかを示します。
要約すると、ティック / ゲームループはゲームの基本的なサイクルであり、ゲームロジックの更新を指示します。FPS はゲームの視覚的なスムーズさを決定し、1 秒間にレンダリングされるフレームを表します。ゲームスピードはゲームロジックの進行を決定し、しばしばティックレートと一致します。理想的には、ティックレート、FPS、ゲームスピードはすべて等しく、各論理更新に対応するレンダリングがあります。しかし、実際には、パフォーマンス制約やその他の技術的制限の下で異なる場合があります。
オンチェーンゲームの核心的な課題#
上記の理解を踏まえて、オンチェーンゲームが直面する核心的な課題に掘り下げていきましょう。
-
ゲームループとブロックチェーンの不一致:従来のゲームはゲームループに基づいて運営されており、ゲームの状態は各ティックまたはフレームで更新されます。しかし、ブロックチェーンはイベント駆動型であり、新しいトランザクションや操作が発生したときにのみ状態を更新します。この根本的な不一致は、オンチェーンゲームで従来のゲームループを実装することを確かに複雑にします。
-
レイテンシとリアルタイム要件:ブロックチェーンにおけるトランザクション確認時間は、ゲームの応答に遅延を引き起こす可能性があり、アクションや競技ゲームなど、迅速な反応を要求するゲームには問題です。効率的なティッキングメカニズムは、このレイテンシを考慮し、ゲーム体験への影響を最小限に抑える必要があります。
-
リソース制限と計算コスト:ブロックチェーン状態の各更新は計算リソースを消費し、手数料が発生する可能性があります。オンチェーンゲームでの頻繁な状態更新は、非常に高いコストを引き起こす可能性があります。したがって、ゲームの流動性と費用のバランスを取るために、効率的なティッキングメカニズムが必要です。
もし、ブロックチェーンの特性に適した新しいティッキングメカニズムやゲームループモデルを開発できれば、それは確かに「AMM の瞬間」を表すことになるでしょう。これは、従来のゲーム開発技術とブロックチェーンの独自の特徴を融合させる必要があるかもしれません。革新的なゲームフレームワークが誕生することになるでしょう。
しかし、すべてのゲームジャンルがループベースであるわけではありません。大多数のゲームは確かにループで運営されていますが、常にリアルタイムの状態更新を必要としない「プッシュベース」のゲームも存在します。ターン制戦略ゲーム、従来のボードゲーム、または特定のカードゲームなどがその例です。これらのゲームでは、プレイヤーが動きを行ったときにのみ状態が更新され、ブロックチェーンのイベント駆動型モデルにより近くなります。したがって、オンチェーンゲームにおいては、「プッシュベース」モデルに自然に適合するゲームの開発を考慮する価値があります。これにより、ブロックチェーンの特性によりシームレスに適応できるでしょう。
ティッキングチェーン:オンチェーンゲームの AMM の瞬間#
Argus の創設者である Scott は、同様の感情を表明しました:
ゲームはループ駆動のランタイムで運営されています。ユーザー入力がなくても、状態遷移は続きます。火は燃え続け、水は流れ続け、作物は成長し続け、昼夜のサイクルは続きます。
では、ブロックチェーンに適したティッキングメカニズムをどのように設計できるのでしょうか?@therealbytes は、彼の「ティッキング・オプティミズムを提示する」という記事で答えを提供しました。これは、スマートコントラクトとプリコンパイルされたコントラクトを使用してティッキングシステムを構築する方法についての包括的な説明を提供しています。これは、Vitalik が DEX に AMM の概念を紹介した古典的な論文「予測市場のようにオンチェーンの分散型取引所を運営しよう」と類似しています。その論文は、有名な定数積の公式「A * B = k」を初めて紹介したものでした。
(興味深いことに、その当時は「DeFi」という用語は存在せず、オンチェーンの分散型取引所と呼ばれていました。今ではオンチェーンゲームと呼ばれています。)
彼の論文の中で、therealbytes はおそらく、ティッキングを達成するためにチェーンの固有のプリコンパイルを利用することを最初に提案した人物です。ティッキング・オプティミズムは、ロールアップノードを変更して「ティックトランザクション」を作成します。これは「デポジットトランザクション」と似ていますが、L1 属性を設定するのではなく、アドレス 0x42000000000000000000000000000000000000A0 に事前にデプロイされたコントラクト内の tick () 関数を呼び出します。このコントラクトは、ターゲット変数を設定することで別のコントラクトを呼び出すことができます。
ティッキング機能をチェーンのノードに埋め込むことは、ループ効率の大幅な改善をもたらします。これは、DeFi における AMM モデルのオーダーブックモデルに対する大幅な効率向上と類似しています。どれほど重要かと聞かれれば、別の記事「デジタル神々のための時間管理」からデータを参照できます。
チェーン自体の限界を完全にテストするために、彼はゲームを 2 つの方法で実装しました:オンチェーンで動作する Solidity スマートコントラクトとして、そしてチェーン自体のプリコンパイルとして。Solidity 実装は、2 つの更新ごとに 70x70 グリッドに達した時点で CPU が最大に達しました(1 ブロック / 秒、または約 10k セル / 秒)、一方、カスタムプリコンパイルエンジンを使用したチェーンは、同じ速度で 256x256 グリッドに達し、CPU の約 6% を使用しました(約 130k セル / 秒)。
結論#
AMM モデルが金融システムが低性能のブロックチェーンでも高いマッチング効率と流動性を達成できることを保証するなら、ティッキングチェーンはゲームシステムがこれらのチェーン上でも高いループ効率とスムーズさを達成できることを保証します。
上記は therealbytes による概念実証に過ぎませんが、実際にはすでに完全なオンチェーンゲームエンジンがこのティッキングチェーンモデルを採用しています。最初のオープンソースティッキングチェーンエンジンは、@0xcurio からのもので、OPStack のプリコンパイルされたティッキング機能を利用してレイヤー 2 を構築しました。2 つ目は、@ArgusLabs_からのもので、Polaris を使用してプリコンパイルされたティッキング機能を持つレイヤー 2 を確立しました。将来的には、より多くのティッキングチェーンが登場することを信じています。
上の表は、金融およびゲームセクターにおけるブロックチェーンの応用を比較し、その広範な類似点を強調しています。DeFi は最初にオーダーブックモデルを使用し、アクティブなマッチングシステムでした。AMM に移行した後、受動的で自動的なマッチングシステムに進化しました。同様に、オンチェーンゲームは最初に従来の「レイジーアップデート」と「手動ティッキング」を使用してアクティブなゲームループを実装しました。プリコンパイルされたティッキングチェーンに移行した後、受動的で自動的なゲームループに移行しました。AMM が金融の流動性を向上させる一方で、ティッキングチェーンはゲームのスムーズさを向上させます。