JAM Chain: Polkadotの分散型グローバルコンピュータへのパラダイムシフト
PolkadotのJAM (Join-Accumulate Machine) Chainは、Ethereumのローンチ以来最も重要なブロックチェーンアーキテクチャの革新であり、分散型コンピューティングの動作方法を根本的に再考するものです。2024年4月にGavin Wood博士によってJAM Gray Paperで発表されたJAMは、Polkadotをパラチェーンに特化したリレーチェーンから、42倍のデータ可用性(850 MB/秒)と理論上340万TPS以上の容量を持つ、汎用かつパーミッションレスな「ほぼコヒーレントなトラストレススーパーコンピュータ」へと変革します。このプロトコルは、350以上のコアにわたる並列実行を維持しつつ、動的なシャード境界内での同期的なコンポーザビリティを可能にすることで、現在のブロックチェーンシステムを悩ませる永続的なパーティショニング問題を解決します。EthereumのL2中心のロールアップ戦略やCosmosのソブリンゾーンモデルとは異なり、JAMは、新しいRISC-VベースのPolkadot Virtual Machine (PVM)と、すべての計算がRefine→Accumulateパイプラインを通じて流れるトランザクションレスアーキテクチャを使用して、コヒーレントな状態を持つシャーディングされた実行をコンセンサス層に直接組み込みます。43の実装チームが1,000万DOTの賞金を競い、複数のクライアントが2025年8月までに100%の適合性を達成し、2026年初頭のメインネット展開を目標としているJAMは、Ethereum 2.0の当初のビジョンが約束した、コンポーザビリティやセキュリティを犠牲にしないネイティブなスケーラブル実行を実現する位置にあります。
計算モデル: JAMプロセスが大規模にどのように機能するか
JAMは、CoreJAM (Collect, Refine, Join, Accumulate) と呼ばれる根本的に新しい計算パラダイムを導入します。これは、ブロックチェーンの実行を並列化と効率のために最適化された明確なフェーズに分割します。JAMという名前は、オンチェーン部分であるJoinとAccumulateに由来し、CollectとRefineはオフチェーンで発生します。このアーキテクチャは、連携して機能する2つの主要な実行環境を確立します。重い並列計算のためのインコア実行と、状態統合のためのオンチェーン実行です。
Refineステージ(インコア実行)では、ワークアイテムは複数のバリデ ータコアにわたってステートレスな並列処理を受け、各コアは6秒のタイムスロットあたり最大15 MBの入力データを処理し、最大90 KBの圧縮出力を生成します。これは驚くべき166倍の圧縮率です。このステージは、コアあたり6秒のPVM実行時間を提供し、現在のPolkadotパラチェーン検証機能(PVF)の2秒制限を3倍にします。Refine関数は、計算量の多い処理を完全にオフチェーンで実行し、プリイメージルックアップのみをステートフルな操作として、状態競合のない大規模な並列化を可能にします。
Refineの後、Accumulateステージ(オンチェーン実行)は、出力あたり約10ミリ秒に制限されたステートフルな操作を通じて、ワーク結果をチェーンの状態に統合します。この関数はすべてのバリデータで実行され、任意のサービスからストレージを読み取り、自身のキーバリューストアに書き込み、サービス間で資金を転送し、新しいサービスを作成し、コードをアップグレードし、プリイメージの可用性を要求できます。実行予算のシャープな対比 — オフチェーンで6秒、オンチェーンで10ミリ秒 — は、JAMの根本的な洞察を反映しています。高価な計算をオフチェーンにプッシュして並列化することで、システムは貴重なオンチェーン時間を重要な状態遷移のためだけに確保します。
JAMのサービスは、非同期のサービス間通信を処理するonTransferと呼ばれる3番目のエントリーポイントを定義します。このメッセージングシステムにより、サービスはブロッキングなしで相互作用でき、メッセージは即座の戻り値なしで送信されます。この設計は、複雑なクロスサービスインタラクションのためにセカンダリコアを介して追加のガスを割り当てるなどの将来の機能強化を想定しています。
この二元的な実行モデルは、Woodが半コヒーレンスと表現するものを達成します。同じブロックの同じコアにスケジュールされたサービスは同期的に相互作用し(コヒーレントなサブセット)、異なるコア上のサービスは非同期的に通信します(全体として非コヒーレント)。コヒーレントな実行と非コヒーレントな実行の境界は、プロトコルによって強制されるのではなく、流動的かつ経済的に駆動されるままであり、頻繁に通信するサービスが同期的な動作のためにコアに共存することを可能にしつつ、システム全体のスケーラビリティを維持します。これは、以前のブロックチェーンアーキテクチャを制約してきたサイズと同期のアンタゴニズムを解決する画期的な進歩を表しています。
リレーチェーンからサービスベースのコンピューティングへのアーキテクチャ変革
JAMは、Polkadotのアーキテクチャを根本的に再考し、非常に意見が強く、パラチェーンに特化した設計から、ミニマリストで汎用的な計算基盤へと移行します。現在のPolkadotリレーチェーンは、約50スロットという厳格な制限でパラチェーンをプロトコルに直接組み込み、数百万DOTを要するオークションベースのアクセスを必要とし、固定された検証パスを通じてすべてのパラチェーンロジックを実行します。JAMはこれを、ガバナンスの承認やオークションなしで誰でもデプロイできる、暗号経済的要因(DOTデポジット)によってのみ制限される、パーミッションレスでカプセル化された実行環境であるサービスに置き換えます。
アーキテクチャ哲学の転換は深遠です。アップグレード可能なリレーチェーンから、アップグレード可能なサービスを持つ固定プロトコルへ。Polkadot 1.0が時間とともに複雑さを蓄積する高度にアップグレード可能なリレーチェーンを維持していたのに対し、JAMはコアプロトコルパラメータ(ブロックヘッダーエンコーディング、ハッシュスキーム、QUICネットワークプロトコル、タイミングパラメータ)を固定して、積極的な最適化を可能にし、複数の実装を簡素化します。ステーキング、ガバナンス、コアタイム割り当てを含むアプリケーションレベルの機能は、コアプロトコルに触れることなく独立してアップグレードできるサービス内に存在します。このアップグレード不可能なチェーンアーキテクチャは、最も重要なアプリケーション層での柔軟性を維持しつつ、複雑さを劇的に軽減します。
JAMのモデルでは、パラチェーンは多くのサービスタイプの一つとなります。すべてのPolkadot 1.1パラチェーン機能は、単一の「パラチェーン」ま たは「コアチェーン」サービスに統合され、ハードコードされた保証による完全な後方互換性を確保します。既存のパラチェーンは、リレーチェーンがアップグレードされると、コード変更なしで自動的にJAM上で実行されるように移行します。サービスモデルは、パラチェーンが実行できることを任意の実行パターンに一般化します。コアに直接デプロイされるスマートコントラクト、CorePlayのようなアクターベースのフレームワーク、ZKロールアップ、データ可用性サービス、およびまだ考案されていない全く新しい実行モデルなどです。
状態管理モデルも大きく変革されます。現在のPolkadotは、ブロックヘッダーに後方状態ルートを使用します。これは、ブロックが配布される前に完全な計算が完了するのを待つことを意味します。JAMは、1ブロック遅延する前方状態ルートを採用し、パイプライン処理を可能にします。軽量な計算(ワークロードの約5%)は即座に実行され、重いアキュムレーションタスクが完了する前にブロックが配布され、現在のブロックの実行が完了する前に次のブロックの処理が開始されます。このアーキテクチャ上の選択は、JAMが計算に6秒のブロック時間をフル活用し、現在のPolkadotの2秒未満に対し、ブロックあたり3〜3.5秒の実効計算時間を達成することを意味します。
JAMがWebAssemblyからRISC-VベースのPolkadot Virtual Machine (PVM)に移行することは、もう一つの根本的な転換を表しています。RISC-Vは、わずか47のベースライン命令で、優れた決定性、従来のハードウェアでの優れた実行速度、x86/x64/ARMへの容易なトランスパイル、公式LLVMツールチェーンサポート、およびメモリ内のスタックによる自然な継続処理を提供します。決定的に重要なのは、PVMがWebAssemblyのメータリングオーバーヘッドと比較して「フリーメータリング」を提供することです。また、レジスタベースのアーキテクチャ(WASMのスタックベース設計と比較して)は、NP完全なレジスタ割り当て問題を回避します。これにより、スケーラブルなマルチコアコーディングの新しい標準を確立するRISC-V対応の継続が可能になり、プログラムがブロック境界を越えて一時停止および再開できるようになります。これはJAMの非同期で並列化されたアーキテクチャにとって不可欠です。
技術仕様: パフォーマンス目標とバリデータ要件
JAMは、ブロックチェーンの計算容量における世代的飛躍として位置付けられる並外れたパフォーマンス指標を目標としています。システムは、850 MB/秒のデータ可用性を目指しています。これは、非同期バッキング改善前のバニラPolkadotと比較して42倍の改善であり、Ethereumの1.3 MB/秒を桁違いに上回ります。これは、すべてのコアで合計約2.3 Gbpsのスループットに相当し、各コアは6秒のスロットあたり5 MBの入力を処理します。