本文へ移動
ORBITRAONE
VectorLanesOrbitra L1

並列決定論的実行

並列のレーン。一つの決定論的な答え。

VectorLanesは、Orbitra L1の実行レイヤーです。独立した状態に触れるトランザクションは、256以上の並列レーンにわたって並行して実行され、競合を考慮した決定論的スケジューラーは、実際に競合するものだけを順序付けし、QSEがすべてのレーンを、一つのグローバルに順序付けられたファイナライズ済みの真実へと収束させます。これが、1,000,000TPSの最大処理能力のアーキテクチャを支える実行設計です。

動作の流れ

数百のレーン、一つのファイナリティビーコン

説明図: 数百の独立した実行レーンがトランザクションを並列に運ぶ。それらは検証リングを通過し、一つのファイナリティビーコンへ収束する。並列実行が一つの決定論的でファイナライズされた状態へと帰結する様子を示す。
独立したレーンファイナリティビーコン
256+
並列レーン
バッチ処理
署名確認
ローカル
状態アクセス
ストリーミング
インデックス出力

数百の独立した実行レーンが、フィールド全体を並列に進み、検証のリングを通過し、一つのファイナリティビーコンへと収束します。並列レーンは、独立した状態が同時に実行される様子を示し、ビーコンは、すべてのレーンを一つの順序付けられたファイナルな状態へと結びつけるQSEの証明書を表します。

解決する課題

逐次実行のチェーンが処理能力を遊休させる理由

多くのブロックチェーンは、トランザクション同士に何の共通点もない場合でも、それらを一つずつ順番に実行します。一つのアプリケーションでの決済は、別の市場での取引や、さらに別のゲームでの操作の後ろで待たされ、それらを同時に実行できるはずのプロセッサコアは遊休したままです。

金融台帳にとって、素朴な並列化は、並列化しないよりも悪い結果をもたらします。バリデーターがハードウェアの許す任意の順序でスレッドを実行すれば、二台の正直なマシンが異なる結果に達してしまう可能性があり、市場は、タイミングに依存する状態の上に決済することはできません。

VectorLanesは、証明可能に独立しているものだけを並列に実行し、それ以外のすべてを正規の順序で処理します。その結果は、バッチ全体を正規の順序で一つずつ実行した場合と同一であるため、すべてのバリデーターが同じ状態に到達します。

処理の順序

順序付けられたバッチから、ファイナルな状態へ

すべてのバッチは、同じ経路をたどります。並列に実行されるのは経路の中間部分だけであり、その入口と出口は正規の順序で処理されます。

  1. 01

    検証

    署名は、受付の段階でスケジューリングの前にバッチ単位で確認されるため、レーンは検証ではなく実行に時間を使えます。

  2. 02

    宣言

    各トランザクションは、それが触れるアカウント、オーダーブック、コントラクトストレージという、読み取り・書き込み集合を伴います。

  3. 03

    スケジューリング

    決定論的スケジューラーが、順序付けられたバッチ全体にわたって競合グラフを構築します。独立したトランザクションは別々のレーンに割り当てられ、競合するものは正規の順序で一つのレーンを共有します。

  4. 04

    実行

    レーンはレーン固有の状態に対して並列に実行され、レーン間のロックを伴わずに状態の変動を生成します。

  5. 05

    マージ

    変動は正規の順序で結合され、一つの状態コミットメントになります——これは、そのバッチを直列に実行した場合と同じルートです。

  6. 06

    ファイナライズ

    QSEのバリデーターがそのコミットメントを再導出し、証明します。すべてのレーンが、一つのグローバルに順序付けられたファイナルな状態の一部になります。

  7. 07

    ストリーム

    ファイナライズされた変更は、順序付けられた出力として、インデクサー、Orbitra Prime、APIへストリーム配信されます。そのため、利用者は状態をポーリングするのではなく、それに追随できます。

構造

実行レイヤーの構成要素

VectorLanesは、その上にある市場サービスと、その下にあるQSEコンセンサスの間に位置します。各コンポーネントは、直列化の原因、あるいは非決定性の原因を一つずつ取り除きます。

  1. 01

    バッチ検証器

    トランザクションが到着するたびに、署名をバッチ単位で検証し、トランザクションごとの最もコストの高い確認処理を、実行経路から取り除きます。

  2. 02

    アクセスセットモデル

    ネイティブモジュールとNexusWASMコントラクトは、その状態アクセスを明示的に公開します。並列処理に適した状態アクセスこそが、競合を考慮したスケジューリングを可能にします。

  3. 03

    決定論的スケジューラー

    順序付けられたバッチとその競合グラフだけから、レーンの割り当てを導出します。タイミング、スレッド数、ハードウェアが、結果を変えることは決してありません。

  4. 04

    レーン実行エンジン

    レーン固有の状態に対して、簡潔な決定論的コードを実行し、共有ロックを使わずにコアを稼働させ続ける、ハードウェアを意識した検証を行います。

  5. 05

    正規マージ

    レーンの変動を正規の順序で結合し、QSEのバリデーターが証明する状態コミットメントを計算します。

  6. 06

    インデックス配信エンジン

    ファイナライズされた状態の変更を、Orbitra Prime、エクスプローラー、分析、機関の突合処理のために、順序付けられたストリームとして送出します。

セキュリティと障害制御

並列負荷のもとでの決定論的性質

並列実行は、結果を決して変えないという条件のもとでのみ、金融台帳にふさわしいものとなります。以下の性質は、その主張を検証可能にします。

  • 直列等価性いくつのレーンが動いていても、コミットされる状態は、正規の順序で直列に実行した場合に生じる状態と同一です。どのバリデーターも、再現によってこれを確認できます。
  • 宣言されたアクセスの強制宣言された集合の外で読み取りまたは書き込みを行うトランザクションは、決定論的に失敗します。隠れた依存関係が、隣接するレーンを損なうことはありません。
  • 競合の隔離多数のトランザクションが同じ状態——活発な市場や人気のコントラクト——を対象とする場合、それらは一つのレーンで直列化されます。無関係なレーンは、影響を受けずに継続します。
  • 計量されたリソース計算とストレージは明示的に価格付けされるため、いかなるワークロードも、消費する処理能力の対価を払わずにレーンを独占することはできません。
  • クォーラムによる確認済みコミットメント状態コミットメントがファイナルになるのは、QSEのクォーラムがそれを独立して再現した後だけです。逸脱した実行者は、ファイナリティの後ではなく、その前に検知されます。

三つのシステムの連携

三つのシステムをまたぐ並列実行

Orbitra Prime

取引インテリジェンス

一つのOrbitra Prime市場での注文が、別の市場での無関係な活動の後ろで待たされることはありません。インデックスストリームは、ファイナライズされた状態から直接、Primeのポジション、オーダーブック、履歴に反映されます。

Orbitra L1

決済と計算

VectorLanesは、Orbitra L1の実行レイヤーです。ApexMatchの状態遷移とNexusWASMコントラクトを並列に実行し、証明のために一つの順序付けられたコミットメントをQSEに渡します。

Orbitra Realm

アプリと商取引

Orbitra Realmにおける決済、トークン化、ゲーム、データアプリケーションは、単一の実行スレッドを市場と奪い合うのではなく、市場と並んで動作します。限定された状態アクセスを宣言するコントラクトが最も高い並列性を得られ、一方EVM Capsuleは、独立した上限を持つ独自の隔離されたドメインで動作します。

価値

並列的な決定論的性質がもたらすもの

トレーダーと利用者
自分の注文が、無関係な活動の後ろで待たされることはなく、目にする状態は、すべてのバリデーターが合意するファイナライズ済みの状態です。
機関
処理能力は、独立した市場とアプリケーションの数に応じて拡大し、すべての結果は、監査と突合のために再現可能なままです。
開発者
並列性を意識して状態を設計すれば、スケジューラーがそれに応えます。決定論的なセマンティクスのもとでは、検討すべき競合状態は残りません。競合は順序付けられ、競走することは決してありません。

仕様

仕様

実行モデル
独立した状態にわたる並列レーン
レーン構成
256以上の並列レーン(設計上の構成)
スケジューリング
宣言された読み取り・書き込み集合から導出される、競合を考慮した決定論的スケジューリング
等価性
バッチを正規の順序で直列実行した場合と同一
署名
スケジューリング前のバッチ単位の検証
状態アクセス
レーン固有。宣言されていないアクセスは決定論的に失敗する
出力
ファイナライズされた状態からのストリーム配信されるインデックス出力
ファイナリティ
QSEのクォーラムによって証明される、一つのグローバルな状態コミットメント
処理能力
1,000,000TPSの最大処理能力のアーキテクチャ

1,000,000トランザクション/秒は、ORBITRA ONE™の設計上の最大処理能力のアーキテクチャの合計値を表し、定められたベンチマーク条件のもとでの検証を目的としています。

用語

用語

レーン
同じバッチの中で、他のいかなるレーンも触れない状態を扱うトランザクションを処理する実行経路。
読み書きセット
トランザクションが読み取りと変更を行うと宣言する状態。スケジューラーはこれを用いて、実行前に競合を検知する。
競合グラフ
バッチ内のどのトランザクションが重なり合う状態に触れ、そのため順序付けが必要になるかを示す図。
直列等価性
VectorLanesが直列化可能なデータベースと共有する正しさの基準。並列実行は、同じ順序付けられたバッチを直列に実行した場合の状態と、正確に一致しなければならない。
状態コミットメント
バッチ処理後の状態全体の暗号学的ダイジェストであり、QSEのバリデーターがこれを再現し証明する。

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

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