CaptainZ

CaptainZ

Prompt Engineer. Focusing on AI, ZKP and Onchain Game. 每周一篇严肃/深度长文。专注于AI,零知识证明,全链游戏,还有心理学。
twitter

World Engine:全チェーンゲーム向けに設計された分散Rollupフレームワーク

原作者:Scott Sunarto (@smsunarto)
翻訳・校正:Justin(@hicaptainz
 
Scott は先週 Modular Summit に参加しました。以下は Argus の現在の最新進捗報告です。私が面白いと思った点は、World Engine が MUD と組み合わせて使用できることです。
https://www.youtube.com/watch?v=lHyQKCVQTPo&t=2548s
 
皆さん、こんにちは。今日のサミットに参加していただきありがとうございます。ここでお話ししたいプロジェクトがあります。このプロジェクトは、私たちの過去 1 年間の大部分の時間を占めてきました。しかし、すぐにわかるように、この物語のタイムラインはこの時間枠をはるかに超えています。
 
Argus を共同設立する前、私は Dark Forest の創設者の一人でした。これは Ethereum 上の最初の完全なオンチェーンゲームで、ZK snarks を使用しています。Dark Forest の誕生は、単純な質問から始まりました:私たちは、すべてのアクションがオンチェーン取引であるゲームを作ることができるでしょうか?2020 年には、これは過激な主張でした。多くの人々は、ブロックチェーン技術の速度が遅いため、完全なオンチェーンゲームの実現可能性に疑問を呈しました。このような疑念にもかかわらず、私たちの好奇心が Dark Forest の開発を促しました。
 
Dark Forest は宇宙探査ゲームで、数千人のプレイヤーがオンチェーンで戦い、彼らの帝国を拡大しています。リリースの最初の週には、10,000 人以上のプレイヤーが参加し、Ethereum のテストネットで数兆のガスを消費しました。この高い活動レベルは、最終的に私たちをテストネットからサイドチェーンに移行させることを余儀なくさせました。しかし、サイドチェーンでさえ、そのスケーラビリティが称賛されているにもかかわらず、不十分であることが証明されました。私たちはすぐにブロックスペースを埋め尽くし、ガスコストを押し上げ、サイドチェーンを実質的に使用不可能にしました。
 
これらの制限にもかかわらず、完全なオンチェーンゲームへの熱意は依然として高いものでした。Dark Forest の後、私たちは投資家、創業者、ビルダー、ハッカーの急増を目の当たりにしました。彼らは Dark Forest の遺産の上に構築しています。Lattice や Primordium のような企業は、より簡単なオンチェーンゲーム開発フレームワークやオンチェーンゲームを開発しました。また、Starknet 上の Dojo のような、EVM 以外の他のエコシステムでの発展も見られました。
 
既存のブロックチェーン技術の制限は、私たちが他の人とチェーンを共有しているという事実に起因しています。Dark Forest のような別のゲームが同じチェーン上に存在する場合、そのチェーンは効果的に機能しません。これにより、私たちは完全なオンチェーンゲームの概念を放棄すべきかどうか疑問を持ち始めました。しかし、私たちはより良いオンチェーンゲームを構築する方法を探求することに決めました。
 
私たちは、ブロックチェーンアーキテクチャを当然のものと見なすという重要な認識から旅を始めました。さまざまな L1 や L2 が存在するにもかかわらず、それらはすべて非常に似ています。彼らはすべて、より良いコンセンサスメカニズム、より速い VM、より良い詐欺証明者、より速い ZK 証明者を持っていると主張しています。しかし、これらの主張はしばしば支持するベンチマークが欠けています。これらのすべての努力は、別の DEX を作成したり、別の NFT を鋳造したりするためのものであり、これらは他のチェーンにデプロイできます。
 
私たちは、ブロックチェーンアーキテクチャを異なる視点から見ることに決めました。私たちは、ビットコインや Ethereum を模倣しているように見える古典的なブロックチェーンアーキテクチャに疑問を呈しました。私たちは、他のブロックチェーン、L1 でも L2 でも、特定のユースケースやユーザーロールを考慮せずに、すべての人のためにブロックチェーンを構築しようとしていることに気づきました。
 
私たちは異なる道を選びました。特定のユーザーグループ、つまりゲーム開発者とプレイヤーのために最良のブロックチェーンを構築することに決めました。私たちは、ゲームが典型的なアプリケーションとは大きく異なることを理解しました。たとえば、Twitter のようなソーシャルメディアプラットフォームは、イベント駆動型のランタイムで動作します。ユーザーがイベントをトリガーすると、たとえばツイートを投稿すると、状態が変化します。
 
一方、ゲームはループ駆動型のランタイムで動作します。ユーザーの入力がなくても、状態の変化は続きます。火は燃え続け、水は流れ続け、作物は成長し続け、昼夜のサイクルは続きます。この基本的な違いは、ゲームのためにより良いブロックチェーンを構築する方法を再考させました。
 
ここで理解すべき重要な点は、ネットワークアプリケーションにおける状態の変化、たとえばスマートコントラクトは、ユーザーの入力を必要としないということです。たとえば、Uniswap では、ユーザーが Token A と Token B を取引したい場合、取引を提出し、その後取引が実行されます。このプロセスはイベント駆動型です。
 
しかし、私たちはすぐに、従来のブロックチェーンのイベント駆動型の性質がゲームの状態機械を実行することと互換性がないことに気づきました。したがって、私たちはゲームで使用されるループ駆動型ランタイムを探求しました。ゲームエンジンは、このループ駆動型ランタイムをサポートするために特別に構築されています。
 
ループ駆動型のランタイムでは、ゲームの進行は「ティック」と呼ばれ、時間の原子単位です。各ゲームループは 1 つのティック内で実行されます。ティックレートが高いほど、ゲームは滑らかに感じられます。たとえば、Counter-Strike や Valorant のような現代のゲームは高いティックレートを持ち、より滑らかに感じられます。それに対して、古いゲームはティックレートが低いため、通常は鈍く感じられます。
 
ブロックチェーンの文脈では、これらのティックはブロックと比較できます。ブロックは状態の変化が発生する単一の時間単位です。ティックまたはブロックが遅く感じられると、ゲーム体験に悪影響を及ぼす可能性があります。
 
私たちは、ゲームは本質的にループ駆動型であると考えています。なぜなら、多くのゲームの状態の変化は外部の入力によってトリガーされないからです。たとえば、ゲーム内の重力は、ユーザーがボタンを押すことに依存しません。ユーザーの入力に関係なく存在します。
 
決定論的な取引の順序付けも非常に重要です。たとえば、ユーザーにダメージを与えたい場合、ゲームはユーザーの健康を回復するべきか、それともダメージを与えるべきか?従来の順序付けを使用すると、どの状態の変化が先に適用されるかを予測または制御することができず、ゲームループ内で問題を引き起こす可能性があります。
 
ループ駆動型のブロックチェーンを通じて、私たちは可組み性を維持しました。これが、私たちがブロックチェーンをゲームのランタイムとして使用したい理由です。このアプローチにより、リアルタイムゲームプレイが可能になり、ブロックチェーンと従来のゲームサーバーの境界が曖昧になります。また、以前よりも複雑なゲームの開発を可能にします。
 
しかし、スケーラブルなゲームサーバーブロックチェーンを構築するには、水平スケーラビリティが必要です。ゲームは 1 つのサーバー上でプレイされるのではなく、多くのサーバーに分散しています。1 つのロールアップは 1 台のコンピュータ上で実行され、物理的な計算制限を受けます。したがって、取引を制御するための新しい戦略が必要です。
 
従来のゲームサーバー、特にパフォーマンス集約型の大規模マルチプレイヤーオンラインゲーム(MMO)は、シャーディングの概念を使用しています。シャーディングはツールであり、ゲームを構築するための処方箋ではありません。たとえば、位置に基づくシャーディングでは、デカルト座標が 4 つのチャートに分割されます。プレイヤーが 1 つのシャードから別のシャードに移動すると、別のシャードにメッセージが送信され、プレイヤーはそこに転送されます。
 
別のアプローチは、マルチシャーディングと呼ばれる概念を使用することです。これは、MMO ゲームをプレイしたことがある人には馴染みのある概念です。このようなゲームでは、プレイヤーがログインすると、選択できる複数のサーバーが提供されます。これは、異なる状態やゲーム世界が存在し、プレイヤーがどれに参加するかを選択できるという類似の構造です。
 
ループ駆動型のランタイムと水平スケーラビリティを通じて、私たちは優れた可組み性を実現したいと考えています。しかし、ロールアップでこれを実現することは現実的ではないように思えるかもしれません。だからこそ、私たちは World Engine を作成しました。私たちは、標準のロールアップが私たちの期待通りに機能しないことに気づき、必要なソリューションを自分たちで構築しました。これは 1990 年代のようなもので、3D ゲームエンジンがどこにでもあるわけではなかったため、開発者は自分たちでそれを構築しなければなりませんでした。
 
Snip20230730_13
 
World Engine は 2 つの重要な部分に分かれています。第一部はコアで、2 つの重要な要素で構成されています:EVM Base Shard、シャーディングをサポートするハイブリッド実行層とソート機構、そして Game Shard、高性能のゲームエンジンと実行層です。これに加えて、クライアント - サーバー通信のためのトランザクションリレーやネットワークコード、Dark Forest のような ZK ゲームのための ZK Cloud 証明者などの周辺コンポーネントもあります。
 
Snip20230730_14
 
World Engine のコアは、私たちのソート機構を中心に設計されています。他のソート機構、たとえば共有シーケンス再構成は原子可組み性を最適化していますが、私たちは特にゲームの文脈において原子可組み性が過大評価されていると考えています。したがって、私たちは完全に非同期であり、EVM Base Shard のランタイムでロックが必要な要求を排除しました。
 
私たちは、プレイヤーがゲームと組み合わせるためにスマートコントラクトをデプロイできるグローバルな EVM チェーンを持っています。私たちはこれを Polaris の上に構築しました。Polaris は Cosmos SDK と互換性のある EVM モジュールで、他のソリューションよりも大きなカスタマイズを可能にします。
 
EVM Base Shard のソート機構の上にあるのは Game Shard で、高性能のゲームサーバーとして設計された高性能のミニブロックチェーンです。Game Shard は状態機械と VM に対して無感知に設計されています。私たちは、あなたのシャードをカスタマイズするか、標準のインターフェースのセットを実装することで独自のシャードを構築できるようにする、Cosmos SDK EBCI に似た抽象層を構築しました。
 
Snip20230730_15
 
私たちは、例を提供するために最初のゲームシャード実装も構築しました。私たちは、ゲームエンジンで一般的な特徴である ECS エンティティコンポーネントシステムを使用しました。私たちの構造は、エンティティコンポーネントシステムを第一級市民として優先します。これは、状態機械自体のすべてのオブジェクトや原始がエンティティとして扱われることを意味します。このシステムには、ゲームの速度をカスタマイズできる可配置のティックレートもあります。
 
最良の部分は、インデクサに依存する必要がないことです。インデクサの最終的な一貫性の欠如に対処することなく、ブロックチェーン上で迅速に読み取ることができます。さらに、Go でコードを書くことができ、制限のあるスマートコントラクト言語と戦う必要がありません。
 
Snip20230730_16
 
私たちの抽象層により、シャードは本質的に無感知であるため、他のシャード構造を構築できます。たとえば、あなたの cardinal ゲームシャードを補完する堅牢なゲームシャードを構築できます。また、カスタムルールを持つ NFT ミンティングシャード、ゲーム内のアイデンティティを NFT で表現するゲームアイデンティティシャード、ゲームアイデンティティを取引できるようにすることもできます。私たちはロックを使用しないため、メインスレッドをブロックする必要がなく、ゲームシャードのランタイムをできるだけ信頼性の高いものにし、遅延を回避します。私たちはもはや暗号経済構造に依存する必要がありません。
 
Snip20230730_17
 
各シャードは異なる DA バッチ処理圧縮戦略を持つことができます。ゲームの遅延を減らすために、シャードを地理的に位置付けることができます。また、ゲームシャードを独立したゲームサーバーとして実行することもできるため、初日からロールアップをデプロイすることを心配する必要はありません。
 
Snip20230730_18
 
私たちはゲームシャードの上に、伝統的には不可能だった Agar.io のクローンなど、さまざまなゲームを構築しました。また、混合モデルを使用して、solidity 上で既存のゲームエンジンフレームワークを使用し、それを World Engine と組み合わせることができます。未来はあなたの手の中にあります。私たちの cardinal スタックを使用することも、混合することも、独自のゲームシャードを構築することもできます。これは、全オンチェーンゲームの Kubernetes のようなもので、あなたのゲームの混合とマッチングのレゴです。
 
Snip20230730_19
 
Snip20230730_20
 
World Engine は現在私たちの GitHub でオープンソース化されており、新しい貢献者を歓迎します。あなたが最初の World Engine ゲームを構築することに興味があるなら、私たちは今日の後半にワークショップを開催します。明日、私たちはゲームトラッキング、パネル、全オンチェーンゲームに関する講義も主催します。
全体として、私たちがよりクールなロールアップを構築しましょう。私たちは今、ロールアップの復興の時代にいます。ロールアップは、私たちがブロックチェーンを拡張し、基盤となる L1 のセキュリティを利用することを可能にします。しかし、私たちは依然として非常に EVM 中心のロールアップアーキテクチャの概念に生きています。これは出発点であり、終点ではありません。私たちの目標は、ユーザーとアプリケーション中心のロールアップ構造です。ご清聴ありがとうございました。
 
英文版リンク:
https://captainz.xlog.app/World-Engine-Sharded-Rollup-Framework-for-Onchain-Game

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。