学ぶ / GLVM
GLVM
グローバル論理仮想マシン
多数のマシンにまたがって協調する、ひとつの論理実行レイヤー
GLVM は、ALUX が並行ランタイムを基盤として構築を進める、開発者向けの実行抽象化です。このモデルに参加する各マシンでは TVM が具体的な実行エンジンを担い、GLVM モデルは実行状態、プロセス、リプレイ、レプリケーション、コンセンサスを一つの論理レイヤーにまとめます。
中核となる定義
各マシンに一つの TVM、単一の論理実行モデルで協調
TVM は、一台のマシン上で動作するバイトコード実行エンジンです。GLVM は、このモデルに参加する複数の TVM にまたがるシステムレベルの実行抽象化を定義します。GLVM は別のバイトコード VM ではありません。開発者は一つの論理モデルを対象とし、その抽象化の下で決定論的リプレイ、実行の継続、レプリケーション、確定処理、コンセンサスが協調されます。
タプル空間仮想マシン(TVM)
ALUX の具体的な実行エンジンです。Tolang バイトコードを実行し、独立したプロセスをチャネルと COMM イベントで協調させ、決定論的リプレイに必要な非決定的選択を記録します。
一台のマシン内で動く具体的なエンジングローバル論理仮想マシン(GLVM)
GLVM は、このモデルに参加する複数の TVM にまたがる開発者向けの論理モデルを定義します。実行状態とプロセスに対する単一の境界を提供し、リプレイ、レプリケーション、確定処理、コンセンサスはその抽象化の下で処理されます。
多数のマシンの上にある一つの論理システム3層アーキテクチャ
三つのレイヤー、一つの開発者向け実行モデル
物理マシンでは TVM が動作します。GLVM アーキテクチャでは、それらのエンジンが一つの共有論理実行モデルに参加します。将来の World OS は、そのレイヤーを明示的なケイパビリティによって統制される、探索・オーケストレーション可能なサービスとして編成します。
いずれかのレイヤーを選ぶと、詳細パネルが切り替わります。
実行と原子性
トランザクションはブロックをまたいで待機し、最後に一つの結果として確定できる
実行は、逐次・並列の処理から、通信し、待機し、再開できる並行プロセスへと発展します。複合実行はこのモデルを拡張し、複数の並行トランザクションが上位の確定境界を共有できるようにします。ブロックをまたぐ連続性が、その方向を支える垂直方向の基盤です。
逐次
ある状態遷移の後に、次の状態遷移が続きます。
並列
独立した状態遷移が同時に進みます。
並行
プロセスはチャネルを介して通信し、待機し、再開します。
複合
複数の並行トランザクションが、上位の原子性目標を共有します。
-
01 · 開始
一度だけ開始
一つのトランザクションを、範囲を限定した一組のケイパビリティとともに開始します。
-
02 · 中断
部分確定せずに待機
応答またはチャネルの一致が得られない場合、早期に確定せず、継続を保持します。
-
03 · 記録
選択を記録
ReplayTrie は、その経路を再現するために必要な非決定的選択または認証済み応答を記録します。
-
04 · 再開
同じトランザクションを継続
一致する COMM イベントまたは記録済み応答が、後続ブロックで保持された継続を起動します。
-
05 · 確定
コミットまたは破棄
確定境界では、条件を満たす状態がコミットされ、却下された暫定状態は破棄されます。
TVM の並行実行 · COMM による待機と再開 · ReplayTrie · ブロック横断の継続と確定
暫定的な中間状態は、確定処理が完了するまで確定状態にはなりません。失敗した実行パスは、後から補償トランザクションで修復するのではなく破棄されます。
認証済み HTTPS GET は実行を一時停止させ、応答を記録し、リプレイして再開できます。ただし、情報の真偽は引き続きデータソースが決め、不可逆なオフチェーン副作用はロールバックの対象外です。
シャード間の原子的実行と、独立した外部システムとの合成が、このモデルの次の拡張を形づくります。
オブジェクト・ケイパビリティ・セキュリティ
タスクに渡すのは一本の鍵、ユーザーの ID バッジではない
CEO と Bob の例では、アイデンティティベースのアクセスによって、CEO の ID バッジが表すアンビエント権限までタスクに持ち込まれることがあります。オブジェクト・ケイパビリティでは、タスクが受け取るのは Bob の記録を指す一本の鍵だけです。TVM は実行時に到達可能な境界を強制します。既存の別のオブジェクトへのケイパビリティ参照がなければ、タスクはそのオブジェクトを名指しすることも、そこへ到達することもできません。
ID バッジが無関係なアクセス権限までタスクに持ち込む
タスクが Bob だけに関するものであっても、CEO の ID バッジが表すアイデンティティ権限は、財務情報に加え、Alice、Carol、Bob の記録すべてに及ぶ可能性があります。
タスクが受け取るのは Bob の記録を指す一本の鍵
この鍵は、Bob の記録を識別する偽造不能な名前を表します。既存の別のオブジェクトへのケイパビリティ参照がなければ、タスクはそのオブジェクトを名指しすることも、そこへ到達することもできません。TVM は実行時にその境界を検証します。
ここでいう「鍵」は、OCAP における偽造不能な名前、すなわちケイパビリティ参照を視覚的に表したものです。暗号鍵ではありません。この保証が適用されるのは、TVM ネイティブでケイパビリティを介した相互作用です。ホスト型 EVM の権限や外部サービスには、それぞれ独自の制御が必要です。
ワークフロー探索
信頼性、応答時間、データの局所性に応じて実行環境を選ぶ
複数企業にまたがるデバイス修理を考えてみましょう。エスクローには独立した検証、診断には需要に応じて拡張できる計算資源が必要で、ローカルアクセスはデバイス所有者が承認する必要があります。GLVM モデルでは、権限を明示したまま、各タスクを信頼要件、レイテンシー、データ境界に適した実行環境へ割り当てます。
パブリックチェーン TVM + EVM ホスト
保証金をエスクローで保持し、独立したバリデータが状態遷移を検証できる場所に承認経路を記録します。
準備完了。シミュレーションを開始すると、目標とする論理フローを確認できます。
範囲を限定したケイパビリティ
修理エージェントは、この作業に必要なケイパビリティだけを受け取ります。
ディスパッチを計画
ワークフローは、チェーン、プライベート/クラウド、クライアントデバイスの各 TVM に、範囲を限定したサブタスクを割り当てます。
待機 / 一時停止
チェーンランタイムでは、応答がない場合もトランザクションを早期確定せず、継続を保持します。
COMM の一致
生成された結果がチャネルで待つ処理の続きと一致すると、ワークフローが再開します。
リプレイ証拠
ReplayTrie は、別の検証者が同じ実行を再現するために必要な選択を記録します。
確定境界
BlockGit と Block Merge が、検証可能なチェーン側の結果を収束させます。すべての実行環境を一つの原子的コミットへ広げることが、GLVM の次の到達点です。
ランタイムの構造
GLVM 抽象レイヤーを支える九つのケイパビリティ領域
GLVM は、第二のバイトコード VM ではありません。TVM 実行、オブジェクト・ケイパビリティ、リプレイから BlockGit、ゲスト VM、開発者ツールまで、これら九つのアーキテクチャ上の観点が、GLVM の論理実行モデルを支えるケイパビリティ体系を示します。
-
01
バイトコード VMコアランタイム
TVM · タプルスペース · COMM
具体的な並行実行エンジンがバイトコードを実行し、独立したプロセス同士がチャネルを介してデータと継続を交換できるようにします。
-
02
セキュリティコアランタイム
ネイティブなオブジェクト・ケイパビリティ
偽造不可能な参照によって到達可能な権限を明示し、ランタイムが最小権限の境界を強制できるようにします。
-
03
原子性コアランタイム
ブロック横断のアトミック実行
実行コンテキストはブロックをまたいで一時停止し、保持された継続から再開して、延期された確定境界に到達できます。
-
04
ファイナリティコアランタイム
BlockGit · fringe · merge
ブロック DAG、決定論的なリーダー交代、マージ規則により、恒久的なリーダーを置かずにチェーン側の並行処理を収束させます。
-
05
リプレイコアランタイム
ReplayTrie · 実行トレース
記録された非決定的選択と実行トレースにより、バリデータは受理された経路を再現できます。
-
06
ネットワークコアランタイム
ピア/バリデータ・ネットワーク
ノードレイヤーは実行抽象化の下で、提案、ブロック、状態証拠、バリデータ間の協調を伝達します。
-
07
言語コアランタイム
Tolang → tolangc → .tox
Tolang は並行プロセスを記述し、コンパイラがソースを TVM で実行可能なバイトコードへ変換します。
-
08
ゲスト VMEVM コア · WASM ロードマップ
EVM ホスト · WASM ロードマップ
EVM は、TSAC 方式の協調を通じてステートフルなゲストとして動作します。WASM は、異種 VM への展開をさらに広げます。
-
09
ツール群開発者向けツール
コンパイラ · LSP · プレイグラウンド
コンパイラ、LSP、プレイグラウンド、テストスイート、診断機能が、実行モデルを開発者のワークフローへつなぎます。
開発の展望
コアランタイムが形になりつつあり、GLVM は多様な環境へ広がっている
GLVM は、ALUX の並行チェーンランタイムを起点に広がっていきます。次の統合対象はプライベートクラウドで、クライアントデバイスでの実行とシャード間実行はロードマップ段階です。下のマップでは、コアランタイム、現在拡張中の実行環境、次のアーキテクチャ上の到達点を分けて示します。
コアランタイム
- TVM の並行実行と COMM
- ReplayTrie と実行トレース
- ブロック横断の一時停止/再開パス
- ネイティブ OCAP の基盤
- EVM ホスト経路
- BlockGit DAG、fringe、merge
システムを拡張中
- プライベート/クラウド向けエンジンのデプロイ
- デプロイ先をまたぐ GLVM 抽象化
- プロダクション規模の堅牢化
- より高度なポリシーと保護チャネル制御
- ランタイムの可観測性と運用ツール
ロードマップ
- シャード間の水平方向原子性
- WASM ゲスト VM
- クライアントデバイスへの TVM デプロイ
- アカウント抽象化とケイパビリティ・レジストリ
- 障害発生後のピア再同期と、バリデータセットの動的変更
- プログラム可能な World OS レイヤー
