本文へ移動
ORBITRAONE
NexusWASMOrbitra L1

主要なスマートコントラクト環境

すべてのコントラクトが、触れられる範囲を宣言する。

NexusWASMは、Orbitra L1の主要なスマートコントラクト環境です。コントラクトはRust、C/C++、その他の最新のツールチェーンからWebAssemblyへコンパイルされ、決定論的なサンドボックスの中で動作し、付与された権限(ケイパビリティ)を通じてのみ資産、状態、市場モジュールに到達します。計算とストレージは明示的に価格付けされ、宣言された状態アクセスによって、VectorLanesは無関係なコントラクトを並行して実行できます。

動作の流れ

計量されたサンドボックスの内部

説明図: NexusWASMのコントラクトはサンドボックス内で実行される。到達できるのは、ネイティブ市場モジュールを含め、自身が宣言したケイパビリティに限られる。計算資源とストレージは計測され、宣言された状態アクセスにより、スケジューラーは無関係な処理と並列に実行できる。
コントラクト
  • ケイパビリティ

  • 計測された計算資源

  • 計測されたストレージ

この図は、サンドボックスの内部に封じられた一つのNexusWASMコントラクトを示しています。その周囲には、宣言された権限——ネイティブな市場モジュールを含む——だけが存在し、それ以外には到達できません。呼び出しの実行中、二つのメーターが計算とストレージを個別に追跡し、コントラクトが宣言した状態アクセスはスケジューラーに渡され、無関係な処理と並行して実行されます。

解決する課題

市場ネイティブなチェーンに独自のコントラクト実行環境が必要な理由

多くのコントラクト環境では、すべてのコントラクトが暗黙的な権限を持っています。他のどのコントラクトでも呼び出せ、自らが管理する資産をどれでも動かせ、宣言していない状態にも触れられます。このモデルは始めるのは簡単ですが、安全を確保するのは困難です。一つの予期しない呼び出し経路が、小さな欠陥を財務の流出に変えてしまうことがあり、一つのコントラクトを審査するには、それが到達しうるすべてを検討しなければなりません。

このような開放性は、性能も制限します。トランザクションがどの状態に触れるかを事前に知ることができない実行環境は、トランザクションを一つずつ順番に実行するか、投機的に実行して競合時にロールバックするしかありません。価格設定は、計算、ストレージ、長期的な状態の増大を一つの抽象的な単位にまとめてしまうことが多く、状態が持つ持続的なコストが、トランザクションが支払う額に十分に反映されません。

NexusWASMは、正反対の前提から出発します。権限は付与されるものであり、暗黙のものではありません。状態アクセスは宣言されるものであり、発見されるものではありません。計算とストレージは、それぞれ個別に計量され価格付けされます。そのため、アプリケーションは、ApexMatchのオーダーブック、Aegisのリスクチェック、Prismの価格といった本物の市場インフラを、無制限な実行モデルのリスクを引き継ぐことなく呼び出せます。

処理の順序

ソースコードから、証明された状態へ。

決済ルーター、資産レジストリ、エージェントの財務管理のいずれであっても、すべてのコントラクトは、コンパイラからファイナリティまで同じ経路をたどります。

  1. 01

    ビルド

    Rust、C/C++、あるいはWebAssemblyを対象とする他の言語が、NexusSDKのインターフェースに対してコンパイルされ、モジュールと、要求する権限(ケイパビリティ)の一覧を生成します。

  2. 02

    検証

    モジュールが実行される前に、ネットワークがそれを確認します。決定論的な命令のみが受け入れられ、すべてのインポートは宣言された権限と一致していなければならず、リソースの上限はコードハッシュに紐づけて記録されます。

  3. 03

    付与

    資産を保有する、市場モジュールを呼び出す、価格フィードを読み取る、他のコントラクトを呼び出すなど、要求された各権限は、そのコントラクトのアドレスに紐づけられます。付与されていないものは、そのコントラクトにとって単に存在しません。

  4. 04

    宣言

    すべてのトランザクションは、読み取りと書き込みを行う状態を列挙します。決定論的スケジューラーはこの集合を用いて、競合しないトランザクションを並列レーンに配置します。

  5. 05

    実行

    モジュールは計量されたサンドボックスの中で動作します。計算は命令の実行に応じて課金され、ストレージは状態の書き込みと保持に応じて課金されます。宣言された集合の外へのアクセスは、呼び出しを中止させ、その影響を取り消します。

  6. 06

    ファイナライズ

    結果は、ブロック内の他の状態遷移とともにコミットされ、QSEのクォーラムがそれを証明したときにファイナルになります。

構造

実行環境の構成要素

NexusWASMは、コントラクトが計算する内容と、それが到達を許される範囲を分離します。

  1. 01

    決定論的エンジン

    すべてのバリデーターが同じ結果を得られるルールのもとでWebAssemblyを実行します。マシン間で異なりうるもの——時刻、乱数、ホスト固有の数値の振る舞い——は排除されるか、プロトコルによって決定論的な入力として提供されます。

  2. 02

    ケイパビリティホスト

    コントラクトとネットワークの他の部分をつなぐ唯一の橋です。資産、ストレージ、ID、市場モジュールに対するホスト関数が、権限ごとに公開され、すべての呼び出しはそのコントラクトへの付与内容に照らして確認されます。

  3. 03

    リソースメーター

    命令の実行に応じて計算を、状態の書き込みと保持に応じてストレージを計測し、それぞれに別の価格を付けます。呼び出しごとの上限が、単一のコントラクトがレーンを独占することを防ぎます。

  4. 04

    スケジューラーインターフェース

    各トランザクションが宣言する読み取りと書き込みを、決定論的スケジューラーのための競合マップに変換します。そのため、独立したコントラクトは別々のレーンで実行され、依存関係のあるものは順序付けられます。

  5. 05

    市場モジュールバインディング

    ApexMatch、Aegis、Prismへの型付きインターフェースです。コントラクトは、自らのロジックと同じ状態遷移の中で、注文を出し、リスク評価を要求し、信頼度スコア付きの価格を読み取れます。

  6. 06

    アップグレードコントローラー

    コードの変更は、デプロイ時に固定されたポリシー——不変、時間遅延、または多者承認の対象など——のもとで行われる、明示的でバージョン管理された状態遷移です。すべてのバージョンは、そのコードハッシュと権限一覧を保持します。

セキュリティと障害制御

実行環境が不具合を封じ込める仕組み

NexusWASMは、欠陥をそれが生じたコントラクトの内部にとどめ、その境界を慣習ではなく実行環境そのものによって強制します。

  • サンドボックスの隔離各コントラクトは、独自の線形メモリの中で動作し、ホストのメモリ、他のコントラクトのメモリ、バリデーターの環境にはアクセスできません。範囲外へのアクセスはトラップされ、呼び出しは取り消されます。
  • 最小権限権限は明示的かつ限定的です。価格フィードの読み取りを許されたコントラクトは資産を動かせず、一つの資産の移動を許されたコントラクトは別の資産を動かせません。
  • 範囲が限定された実行計量によって、すべての呼び出しに上限が設けられます。暴走するループ、深い再帰、過大な書き込みは、決定論的なリソース不足という結果に終わり、呼び出し元に課金され、状態はロールバックされます。
  • アクセス集合の強制宣言された集合の外の状態に触れるトランザクションは中止されます。そのため、並列スケジューリングがレーン間の競合を隠すことは決してありません。
  • 市場のガードレールコントラクトが発した注文は、他のいかなる発注元からの注文とも同じ、Aegisの取引前リスクチェックとポリシー上の上限を通過します。コントラクトが得るのは市場へのアクセスであり、その管理策を回避する手段ではありません。

三つのシステムの連携

Prime、L1、Realmをまたぐ一つの実行環境

Orbitra Prime

取引インテリジェンス

戦略、ボールト、あるいは構造化されたワークフローがオンチェーンのロジックを必要とする場合、それはNexusWASMコントラクトとして動作し、Orbitra Primeで出された注文と同じApexMatchおよびAegisの経路を通じて取引されます。

Orbitra L1

決済と計算

NexusWASMは、Orbitra L1の実行レイヤーにおけるコントラクト実行環境です。VectorLanes上で動作し、共有状態にコミットし、ファイナリティのために結果をQSEへ渡します。EVM Capsuleは、その代わりとしてではなく、隔離された互換性ドメインとしてその隣に存在します。

Orbitra Realm

アプリと商取引

決済、トークン化、ゲーム、エージェントサービスといったOrbitra Realmのアプリケーションは、NexusWASMコントラクトとしてネイティブに動作し、NexusSDKのプリミティブとVaultIDの権限を通じて、ネットワークの他の部分とID、資産、流動性を共有します。

価値

各対象者が得るもの

トレーダーと利用者
宣言した範囲を超えて到達できないアプリケーションです。コントラクトの権限とアップグレードポリシーは、それと関わる前に確認できるため、自分の資産に対して何ができるのかをあらかじめ把握できます。
機関
審査可能な実行モデルです。権限一覧、コードハッシュ、アップグレードポリシーは、リスクおよびコンプライアンスチームが評価できる具体的な対象物であり、決定論的な実行により、いかなる結果も再現できます。
開発者
使い慣れた言語、明示的なコスト、市場インフラへの直接アクセスです。RustまたはC/C++で構築し、デプロイ前にリソースコストを確認し、オーダーブック、リスクチェック、価格フィードを型付きインターフェースとして呼び出せます。まずは開発者向けゲートウェイから始めてください。

仕様

仕様

実行環境
決定論的な命令プロファイルを持つWebAssembly
言語
Rust、C/C++、およびWebAssemblyを対象とする他の最新のツールチェーン
権限モデル
権限(ケイパビリティ)に基づく範囲設定。資産、状態、他のコントラクトへの暗黙のアクセスはない
リソース課金
計算と、書き込み・保持されるストレージそれぞれに対する明示的で個別の価格設定
状態アクセス
トランザクションごとに宣言される読み取り・書き込み集合。実行中に強制される
並列性
VectorLanes全体にわたる競合を考慮したスケジューリング
市場へのアクセス
NexusSDKのインターフェースを通じた、ApexMatch、Aegis、Prismへのネイティブな呼び出し
アップグレード
バージョン管理され、ポリシーに制約され、すべてのコントラクトについてオンチェーンに記録される
互換性
EthereumのバイトコードはEVM Capsule内で個別に実行され、段階的な移行経路を備える

用語

用語

ケイパビリティ
コントラクトが一つのリソース——資産、状態の名前空間、市場モジュール、または他のコントラクト——を利用することを許す、明示的な権限付与。
宣言されたアクセス集合
トランザクションが読み取り・書き込みを行うと宣言した状態。並列スケジューリングに使われ、実行中に強制される。
計量
呼び出しが消費する計算とストレージを決定論的に計測すること。価格設定と厳格な上限の両方に使われる。
ホスト関数
状態の読み取り、資産の移転、注文の発注など、実行環境が提供する操作。付与された権限を通じてのみコントラクトが利用できる。
アップグレードポリシー
コントラクトのコードが変更されるかどうか、どのように変更されるか、誰が変更できるかを定める、デプロイ時に固定されるルール。

一つのネットワーク。無限の市場。

ORBITRA ONE™の利用を申し込む。