Solanaのスケーラビリティイノベーションを理解する:エフェメラルロールアップ

Ephemeral Rollups は、Magic Block が開発したリアルタイムの状態更新エンジンで、ゲーム、ソーシャル ネットワーキング、チェーン全体のトランザクションなどの高同時実行シナリオ向けに設計されています。

Solana エコシステムのスケーラビリティ革新: エフェメラルロールアップ ????????

Ephemeral Rollupsは、Magic Blockが開発したリアルタイム状態更新エンジンで、フルチェーンゲーム、ソーシャルネットワーキング、トレーディングといった高同時実行シナリオ向けに設計されています。現在は主にフルチェーンゲームエンジンで使用されています。

完全にオンチェーンのゲームでは、移動、攻撃、アイテムの消費など、すべてのアクションをチェーンに記録する必要があります。

問題は、コンセンサスメカニズムがスケーラビリティの制限をもたらすことです。

1,000人のプレイヤーが同時にオンラインになっていると仮定します。各プレイヤーの位置は100ミリ秒ごとに更新されるため、1秒あたり1万件のトランザクションが発生します。これを10万人にスケールアップすると、トランザクションレートは1秒あたり100万件に増加します。これは、現在のコンセンサスモデルの能力をはるかに超えるものです。

そのため、実際には、QQゲームホールをチェーンに載せることは非常に困難であり、不可能です。「World of Warcraft」や「Fantasy Westward Journey」のように、多数のプレイヤーがオンラインで、各プレイヤーが毎秒複数の複雑な操作を実行する必要があるゲームは言うまでもありません。

しかし、MagicBlockは、高並列ゲームをブロックチェーン上に配置することを目指しています。参加者は誰でも許可なくゲームコンテンツを統合または変更したり、「自律世界」を作成したりすることができます。

ゲームの状態とロジックはオンチェーンで保存され、改ざんできません。分散サーバーにより、単一障害点のないゲームの復元力が確保されます。

Ephemeral Rollups が解決策を提供します。

基本的な原理は、高頻度のゲームデータを一時的に専用の高速環境に「借用」すること、つまり「一時ロールアップ」です。

一時的な環境では、レイテンシはわずか50ミリ秒と、従来のゲームサーバーと同等の速度です。ガス料金は一切かからず、完全に無料でご利用いただけます。ゲーム内のプロットなど、パッシブにトリガーされるロジックを編集することも可能です。

最新の状態は定期的にメインチェーンに同期・更新され、メインチェーンはいつでもデータを閲覧できます。仮環境に問題が発生した場合、データは自動的にロールバックされ、メインチェーンに戻ります。

ユーザーはプロセス全体を意識する必要はありません。バックエンドのRPCルーターは、どの操作が高速チャネル(一時的なロールアップ)を経由し、どの操作がメインチェーンを経由する必要があるかを自動的に判断します。

具体的にどうやって実現するのでしょうか?

Solana アカウント構造、プログラムで派生されたアドレス (PDA)、アカウント変更委任メカニズム (アカウント変更委任) など、いくつかの概念を導入する必要があります。

1/ Solanaのアカウント構造

Solanaのコアコンセプトは「すべてがアカウントである」です。プログラムコード、ユーザーデータ、トークン残高、その他の情報はすべてアカウントに保存されます。

Solana アカウントは主に 2 つのカテゴリに分かれています (コードとデータの分離)。

1) 実行可能アカウント = プログラムアカウント (読み取り専用)

他のブロックチェーンのスマート コントラクトと同様に、プログラム コードを保存します。

2) 実行不可能アカウント = データアカウント(編集可能)

アカウントにはデータと状態が保存されますが、実行可能コードは含まれません。

この「アカウント」はユーザーのウォレット アドレスとは異なることに注意してください。

ブラウザを確認すると、通常のアドレスの所有者はシステムプログラムであり、アドレスは 1111111111111111111111111111111111 に固定されていることがわかります。

システム プログラムは Solana の公式組み込みプログラムです。

実際、Phantom などの Solana ウォレットを作成すると、取得するアドレスは次のようになります。

  • アカウントの種類: 非実行アカウント (データ アカウント)
  • 所有者: システムプログラム

つまり、ウォレットアドレス = システムプログラムが所有するデータアカウントです。

ウォレットアドレスは秘密鍵から生成されます。ユーザーは対応する秘密鍵を保有しており、トランザクションに署名することができます。

アカウントは、チェーン上に保存され、プログラム (所有者) によって制御されるデータ構造であり、ウォレット アドレスはこのアカウントを「ポイント」します。

2/ プログラム派生アドレス(PDA)

Solana のアカウント システムの高度な機能は、ゲームにとって非常に重要です。

PDAは特別なアカウントアドレスであり、本質的には通常のSolanaアカウントと同じですが、そのアドレスは特別な方法で生成されます。プログラムによって生成され、それを作成したプログラムのみが制御できます。秘密鍵は存在しません(ユーザーが制御することはできません)。

したがって、チェーン全体のゲームでは、ゲーム プログラムのみがこの PDA を変更でき、他のプログラムはそれを読み取ることしかできません。

したがって、PDA は次のことを実現できます。

1) 多数のゲームステータスアカウントを簡単に作成

2) 所有権は譲渡可能(委任メカニズム)

3) アドレスが予測可能(ルーティングが容易)

4) プログラム制御(プログラムを通じたユーザー認証)

一時的なロールアップの場合は、次の操作を実行できます。

1) 多数のゲームステータスアカウントを管理する

2) 頻繁な委任と委任のキャンセルをサポートする

3) アカウントを確実に見つける

4) プログラム制御を実装する(直接的なユーザー制御ではない)

次に、3/アカウント変更の委任も必要です

これがエフェメラル ロールアップの重要な革新です。

通常の状況: アカウントを変更できるのは、その所有者のプログラムのみです。

委任メカニズム: アカウントの変更権限を一時的に別の環境に「貸し出す」ことができます (一時ロールアップ)。

委任は資産の所有権の移転と同じではないことにご注意ください。委任されるのは「ゲームの状態を変更する権利」であり、「資産その物」ではありません。

さらに、4/Sealevel並列処理

Sealevel は競合しないトランザクションを識別し、それらを同時に処理します。

つまり、特定のゲームでは、

プレイヤーのアリスが3vjで始まるSolanaアドレスを使用して、チェーン全体でWorld of Warcraftをプレイしているとします。アリスは自分の位置情報、戦闘、消費アイテムなどを頻繁に更新する必要があり、同時に1万人以上のプレイヤーがオンラインになっています。

現時点では、

1/ ゲーム起動: ゲームプログラムはアリスPDAの派生アドレスを計算する

2/ ユーザー認証: アリスはゲームステータスアカウントを認証します

3/ ER開始: ノードは委任要求を検出し、Ephemeral Rollups(以下、ERと呼ぶ)を開始する。

4/ 状態同期: AliceのゲームデータをSolana L1からERに同期する

5/ゲームの進行: プレイヤーはゲーム内で操作し、ERはタスクを実行します

6/ クロスレイヤー読み取り: NFTやその他の情報を読み取る必要がある場合、ERはSolana L1から直接読み取ることができますが、変更する権利はありません。

7/ 定期的な同期: ERデータは定期的にL1にアップロードされます

8. 資産操作:ゲームアイテムまたはゲームコインを換金する場合は、ER認証を取り消す必要があります。これはSolana L1上で行われ、プレイヤーは事前に行う必要があります。トークンの転送はトークンプログラムによって保護されています。ゲームボールトはPDAであり、ゲームプログラムによってのみ制御されます。これら2つの所有者は異なります。

これによって、実際に「Fantasy Westward Journey」や「World of Warcraft」でゲーム通貨を使ってポイントカードを売買し、ゴールドファーミンググループを換金するという操作が完了します。

9/ ゲームオーバー: プレイヤーがログオフし、ER が閉じられます。

共有先:

著者:戈多Godot

本記事はPANews入駐コラムニストの見解であり、PANewsの立場を代表するものではなく、法的責任を負いません。

記事及び見解は投資助言を構成しません

画像出典:戈多Godot侵害がある場合は、著者に削除を連絡してください。

PANews公式アカウントをフォローして、一緒に強気相場と弱気相場を乗り越えましょう
おすすめ記事
6分前
10分前
1時間前
2時間前
2時間前
3時間前

人気記事

業界ニュース
市場ホットスポット
厳選読み物

厳選特集

App内阅读