Zenith Stackとは何ですか?
Zenith Stackは、企業や開発者が独自のカスタマイズ可能な信頼性の高いEVM環境を立ち上げ、Cantonとアトミックに相互運用できるようにするフレームワークです。Zenith EVMがZenithによって運営される単一のリファレンス環境であるのに対し、Zenith StackはCantonの参加者が独自のEVM実行環境を運営できるようにするツールおよびインフラです。
Zenith Stackを通じて起動された各EVMインスタンスはEthereumと同等であり、Ethereumと同じスマートコントラクト標準、ツール、および開発者ワークフローをサポートします。
Zenith Stackは水平スケーラビリティを念頭に構築されており、シャードに似たスケーリングによる並列化と高い総合スループットを実現しながら、シングルスレッドのEVMセマンティクスと既存のEthereumツールとの完全な互換性を維持します。
企業や機関は自身の環境を完全に制御できます:
- ネイティブトークン、カスタム手数料および経済モデル、オーダリングロジックはすべて独立して設定可能です。
- データアクセス制御、コンプライアンス、および規制上の義務はそれぞれのドメイン内に留まります。
将来的には、Zenith StackはEVM以外の追加の仮想マシンタイプをサポートするよう設計されており、SVM(Solana Virtual Machine)が将来の追加として計画されており、複数のエコシステムにわたるCantonの相互運用性をさらに拡張します。
高レベルアーキテクチャと実行モデル
Zenith Stackを使用して起動されたすべてのEVM環境は、高性能でモジュール式のEthereumの実行クライアントであるReth上に構築されています。これにより、完全にEthereumと同等となります:
- 同一のEVMランタイムを実行します。
- 完全に互換性のあるEthereumのRPCインターフェースを公開します。
- Ethereum mainnetと同じライブラリおよびスマートコントラクト標準をサポートします。
アトミックな相互運用性
Zenith StackチェーンとCantonの間のアトミックな相互運用性は、ZenithがDamlに実装したexternal_call()プリミティブによって実現されます。この関数により、DamlコントラクトはEVMコントラクトを決定論的に呼び出し、ネイティブEVM実行の結果をCantonに確認し、DamlコントラクトでEVMのステートルートを検証することができます。
各Zenith StackチェーンはCanton上にデプロイされた専用のDamlコントラクトを持ちます。このコントラクトはCantonとEVM環境の間の調整・決済レイヤーとして機能します:
- ラップされたEVMペイロードを含むCantonを通じて送信されたトランザクションを処理します。
external_call()を呼び出してローカルのEVMランタイムと通信します。- EVMペイロードを実行のために転送します。
- 実行結果と確認を受け取ります。
- 結果として得られたEVMのステートルートをCanton上で決済します。
決定論的実行
external_call()プリミティブは、Cantonのネイティブな二段階検証モデル内でEVM環境の決定論的な呼び出しを保証します:
- 送信者は解釈中に呼び出しを実行し、その結果をトランザクションビューに含めます。
- ドメイン内の他のCantonバリデーターが同じ
external_call()をローカルで再実行します。 - いずれかのバリデーターが異なる結果を得た場合、検証は失敗します。
これによりCantonの決定論的保証が維持され、追加の信頼前提が導入されることはありません。
DamlレッグとEVM実行レッグの両方が同じトランザクション実行ツリーの一部であるため:
- 実行はアトミックであり、すなわち両方が成功するか、トランザクション全体が失敗します。
- 結合されたトランザクションが検証されると、ファイナリティがユーザーに確認されます。
EVM実行がCantonトランザクション全体に追加するレイテンシはほぼ気にならない程度であり、数百ミリ秒の範囲です。
機関グレードの制御とカスタマイズ
Zenith Stackは機関・企業グレードのデプロイメントを想定して設計されています。Zenith Stackチェーンを運営する各組織は、以下を含む自身の環境を完全に制御できます:
- ネイティブトークン
- 経済モデル
- トランザクション手数料体系
- オーダリングロジック
- 参加者の権限
データアクセス制御、コンプライアンス要件、および規制上の義務は、完全にオペレーターのドメイン内に留まります。
これにより、機関は運用上・管轄上・規制上の要件に合わせたパーミッション型EVM環境をデプロイしながら、CantonおよびほかのZenithチェーンとアトミックに構成可能な状態を維持できます。
設計による水平スケーラビリティ
Zenith Stackは水平スケーラビリティを前提に構築されています。これにより以下が実現します:
- 独立したEVM環境をまたいだオフチェーン並列化。
- 複数の独立した実行ドメインによるシャード的スケーリング。
- チェーン間での高い総合スループット。
個々のZenithチェーンはそれぞれ以下を保持します:
- 逐次的なシングルスレッドEVMセマンティクス。
- 既存のEthereumツールとの完全な互換性。
- 検証可能なステートルートを生成する決定論的なステート遷移。
このアーキテクチャにより、企業はEthereum同等性を犠牲にすることなく、実行キャパシティを水平方向にスケールできます。
Zenith Stackチェーン間およびCantonサブネット間の相互運用性
Zenith Stackのコア設計原則の一つはアトミックな相互運用性であり、Zenith EVMとCantonの間だけでなく、複数のZenith Stackチェーン間およびCantonサブネット間でも同時に実現されます。
すべてのZenithチェーンは独自のDamlコントラクトを通じてCantonにアンカーされており、すべてのクロス環境呼び出しは決定論的なexternal_call()プリミティブを使用するため、トランザクションは以下をまたいで実行できます:
- 複数の並列Zenith Stackインスタンス。
- 複数のCantonサブネット。
- Damlネイティブ資産とEVMネイティブ資産の組み合わせ。
すべてが単一のアトミックトランザクション内で完結します。
チェーン間でのアトミック構成の仕組み
各Zenith Stackチェーンは:
- 独自のEVMステートを維持します。
- 独自のEVMステートルートを生成します。
- 専用のDamlコントラクトを通じてステートルートをCantonに決済します。
トランザクションが複数のZenithチェーンにまたがる場合:
- ユーザーは、関連する各Zenith環境向けにラップされたEVMペイロードを含むCantonトランザクションを送信します。
- 対応する各Damlコントラクトは:
- リクエストを登録します。
external_call()を呼び出します。- ローカルEVMランタイム内でトランザクションを実行します。
- 実行結果と更新されたステートルートを返します。
- Cantonバリデーターはすべての外部呼び出しを決定論的に再実行します。
- トランザクションは、すべてのチェーンにわたるすべての実行が成功した場合にのみコミットされます。
いずれかのレグが失敗した場合、それがCantonサブネット側であれZenithのEVM側であれ、トランザクション全体が拒否されます。
これにより以下が保証されます:
- 独立したEVM環境をまたいだ真のアトミック構成可能性。
- 部分的な実行が発生しないこと。
- クロスチェーンのレース条件が発生しないこと。
- 決定論的なファイナリティ。
アトミック構成可能性を備えた並列Zenithインスタンス
Zenith Stackは水平方向にスケール可能な独立したEVM環境を実現するため、企業は特定のビジネスライン、管轄区域、または規制ドメインに合わせてカスタマイズされた複数の並列Zenith Stackインスタンスを運用できます。
別々のインスタンスであっても、これらのチェーンはCantonを通じてアトミックに構成可能な状態を維持します。
これにより、以下のようなパターンが可能になります:
- 異なるZenithチェーン上に存在する資産間のアトミックスワップ。
- 複数のCantonドメインとEVM環境にまたがる協調的なDeFiオペレーション。
- CantonサブネットとEVMアプリケーションをまたいだ規制対応の資産移転。
- 単一トランザクションのファイナリティを持つマルチチェーン決済ワークフロー。
- Zenith StackとCanton全体にわたる統合流動性。
重要なアーキテクチャ上の特性は、コンポーザビリティが非同期ブリッジやメッセージリレーヤーを介してではなく、調整・決済レイヤーとしての Canton 上で処理されることです。
マルチVM の未来
Zenith Stack は当初 EVM 互換性に重点を置いていますが、マルチVM フレームワークとして設計されています。
今後、Stack は EVM を超えた追加の仮想マシンタイプをサポートする予定です。Solana Virtual Machine(SVM)は将来の追加機能として計画されており、Canton のアトミックなコンポーザビリティを複数の実行エコシステムにわたって拡張します。