メインコンテンツまでスキップ

マルチレイヤーアーキテクチャ

QoreChain は x/multilayer モジュールを通じて 4 層の階層型チェーンアーキテクチャ を実装しています。メインチェーンは決済およびトラストルートとして機能し、補助レイヤー(サイドチェーン、ペイチェーン、ロールアップ)は異なるパフォーマンスとセキュリティのトレードオフを伴う特化したワークロードを処理します。


システム概要

以下の 4 層の階層は、メインチェーンを決済およびトラストルートとして示し、3 種類の補助レイヤーが階層的コミットメントスキーム(HCS)を介して自身の状態ルートをメインチェーンにアンカーする様子を表しています。

+---------------------------+
| MAIN CHAIN |
| (Settlement + Routing) |
| Full CPoS consensus |
| PQC-secured (Dilithium-5)|
| QCAI routing engine |
+------+------+------+------+
| | |
+------------+ | +------------+
| | |
+---------v--------+ +-------v--------+ +---------v---------+
| SIDECHAINS | | PAYCHAINS | | ROLLUPS |
| (Compute) | | (MicroTX) | | (App-Specific) |
| 3-10 validators | | 500ms blocks | | 4 settlement |
| 1,000 QOR min | | 100 QOR min | | modes |
| Max: 10 | | Max: 50 | | 10,000 QOR min |
+------------------+ +----------------+ | Max: 100 |
+-------------------+

レイヤーの種類

メインチェーン

メインチェーンは QoreChain エコシステム全体のトラストルートです。

プロパティ
コンセンサスフルトリプルプール CPoS(コンセンサスメカニズムを参照)
セキュリティDilithium-5 署名で PQC により保護
役割決済レイヤー、状態アンカーストレージ、QCAI ルーティングエンジン、トラストルート
ブロック時間~5 秒

すべての補助レイヤーは、階層的コミットメントスキーム(HCS)を介して、自身の状態ルートを定期的にメインチェーンにアンカーします。

サイドチェーン

サイドチェーンは、DeFi プロトコル、ゲームエンジン、IoT データ処理などの 計算集約的な操作 を処理します。

パラメータ
最小バリデータ数3
最大バリデータ数10
作成者の最小ステーク1,000 QOR
アクティブなサイドチェーンの最大数10
対象ドメインDeFi、ゲーム、IoT

ペイチェーン

ペイチェーンは、最小限のレイテンシで 高頻度のマイクロトランザクション に最適化されています。

パラメータ
目標ブロック時間500 ms
アクティブなペイチェーンの最大数50
作成者の最小ステーク100 QOR
対象ドメイン決済、ストリーミング、マイクロトランザクション

ロールアップ

ロールアップは、Rollup Development Kit(x/rdk)を介してデプロイされる アプリケーション固有のチェーン です。マルチレイヤーモジュール内でロールアップレイヤータイプとして登録されます。

パラメータ
決済モード4(optimistic、zk、based、sovereign)
アクティブなロールアップの最大数100
作成者の最小ステーク10,000 QOR
レイヤータイプrollup
対象ドメインDeFi、ゲーム、NFT、エンタープライズ

ロールアップのデプロイと設定については、Rollup Development Kit で詳しく説明しています。


QCAI トランザクションルーティング

QCAI ルーターは、受信するトランザクションごとにすべてのアクティブなレイヤーを評価し、4 要素の重み付けスコアリングモデルを使用して最適な宛先を選択します。

スコアリング式

各候補レイヤーは複合スコアを受け取ります(高いほど良い):

Score = w_congestion * (1 - Congestion) + w_capability * Capability + w_cost * (1 - Cost) + w_latency * (1 - Latency)
要素重み説明
混雑度0.30現在の負荷レベル(反転: 混雑度が低いほどスコアが高い)
適合度0.40レイヤーがトランザクション要件にどれだけ適合しているか
コスト0.20メインチェーンに対する手数料倍率(反転: コストが低いほどスコアが高い)
レイテンシ0.10ファイナリティまでの予想時間(反転: レイテンシが低いほどスコアが高い)

信頼度しきい値

ルーターは、トランザクションを補助レイヤーにルーティングする前に、最小信頼度スコア 0.6 を要求します。このしきい値を満たすレイヤーがない場合、トランザクションはデフォルトでメインチェーンに送られます。

トランザクション送信者は優先レイヤーのヒントを指定できます。優先レイヤーが信頼度しきい値の少なくとも 80%(すなわち 0.48)のスコアを獲得した場合、それがルーティング先として受け入れられます。

ペイロードヒューリスティック

詳細なトランザクションメタデータが利用できない場合、ルーターはペイロードサイズを分類シグナルとして使用します:

ペイロードサイズ優先レイヤー根拠
< 256 bytesペイチェーン単純な送金またはマイクロトランザクションの可能性が高い
256 - 1,024 bytesメインチェーン標準的なトランザクションの複雑さ
> 1,024 bytesサイドチェーン複雑なコントラクトインタラクションの可能性が高い

階層的コミットメントスキーム(HCS)

補助レイヤーは、状態アンカー を介して自身の状態を定期的にメインチェーンにコミットします。各アンカーには、特定の高さにおける補助チェーンの状態の暗号学的証明が含まれます。

アンカーの内容

フィールド説明
layer_id補助レイヤーの識別子
layer_height補助チェーン上のブロック高さ
state_root補助チェーンの状態ツリーのマークルルート
validator_set_hashコミットメントに署名したバリデータセットのハッシュ
pqc_aggregate_signatureアンカーデータに対する Dilithium-5 集約署名
transaction_count前回のアンカー以降のトランザクション数
compressed_state_proof圧縮された状態遷移証明

アンカーの送信

アンカーは MsgAnchorState を介してメインチェーンに送信されます。キーパーは以下の手順に従ってアンカーを検証します:

  1. レイヤーが存在しアクティブである — キーパーは、レイヤーが状態に存在し、現在 active ステータスであることを検証します。
  2. 最小アンカー間隔が経過している — キーパーは、このレイヤーの前回のアンカー以降、少なくとも min_anchor_interval ブロック(デフォルト: 100)が経過していることを確認します。
  3. PQC 集約署名 — キーパーは、PQC 集約署名が存在し、アンカーデータに対して有効であることを確認します。

チャレンジ期間

各アンカーは 24 時間(86,400 秒、レイヤーごとに設定可能)の チャレンジ期間 に入ります。この期間中、いずれの当事者も MsgChallengeAnchor を介して不正証明を提出することでアンカーに異議を申し立てることができます。不正証明が有効であれば、アンカーは無効化され、補助チェーンの状態は前回のアンカーまでロールバックされます。

チャレンジ期間が異議申し立ての成功なしに満了すると、アンカーはファイナライズされたとみなされます。

アンカーの読み取り

チェーンバージョン v3.1.80 より、アンカーはマルチレイヤークエリサービスを通じて 読み取り可能 にもなりました。2 つのクエリが gRPC と REST の両方でアンカー状態を公開します:

  • Anchor (/qorechain/multilayer/v1/anchor/{layer_id}) — レイヤーの最新のファイナライズ済み状態アンカーを返します。
  • Anchors (/qorechain/multilayer/v1/anchors/{layer_id}) — レイヤーのアンカー履歴を返します。

各アンカーは、正規メッセージ layer_id || layer_height || state_root || validator_set_hash に対する Dilithium-5 署名を保持しているため(レイヤー作成者の登録済み PQC 鍵に対して検証されます)、クライアントはアンカーを取得し、配信ノードを信頼することなく オフライン で検証できます。これは、Rollup Development Kit の 量子安全な決済レシート を支えるオンチェーンプリミティブです。


クロスレイヤー手数料バンドリング(CLFB)

CLFB により、ソースレイヤー上での単一の手数料支払いで、クロスレイヤートランザクションパス内の複数レイヤーにわたる実行をカバーできます。

手数料計算

avgMultiplier = sum(layer_multiplier_i) / num_layers
bundledFee = (totalGas / 1000) * avgMultiplier

ここで:

  • layer_multiplier_i は、トランザクションパス内の各レイヤーの基本手数料倍率です(メインチェーン = 1.0)。
  • totalGas は、すべてのレイヤーにわたる推定総ガス消費量です。
  • 結果は uqor で表され、最小手数料は 1 uqor です。

クロスレイヤートランザクションが 3 つのレイヤーに触れます: メインチェーン(倍率 1.0)、サイドチェーン(倍率 0.5)、ペイチェーン(倍率 0.1)。

avgMultiplier = (1.0 + 0.5 + 0.1) / 3 = 0.533
bundledFee = (150,000 / 1000) * 0.533 = 80 uqor

CLFB は cross_layer_fee_bundling パラメータを介してグローバルに有効化または無効化でき、個々のレイヤーは自身の cross_layer_fee_bundling_enabled 設定フラグを介してオプトアウトできます。


レイヤーのライフサイクル

各補助レイヤーは、明確に定義されたライフサイクルを進行します:

Proposed --> Active --> Suspended --> Decommissioned
\ /
+-- Active <--+
ステータス説明許可される遷移
Proposedレイヤーは登録されているが、まだアクティブ化されていないActive、Decommissioned
Activeレイヤーは稼働中でトランザクションを受け付けているSuspended、Decommissioned
Suspendedレイヤーは一時的に停止されている(例: メンテナンスやセキュリティ上の懸念のため)Active、Decommissioned
Decommissionedレイヤーは恒久的にシャットダウンされている(終端状態)なし

ステータス遷移はキーパーによって強制されます。無効な遷移(例: Decommissioned から Active)は拒否されます。


パラメータ

パラメータデフォルト説明
max_sidechainsuint6410アクティブなサイドチェーンの最大数
max_paychainsuint6450アクティブなペイチェーンの最大数
min_anchor_intervaluint64100状態アンカー間の最小ブロック数
max_anchor_intervaluint641,000状態アンカー間の最大ブロック数(強制アンカー)
default_challenge_perioduint6486,400デフォルトのチャレンジ期間(秒単位、24 時間)
min_sidechain_stakestring1,000,000,000サイドチェーンを作成するための最小ステーク(uqor で 1,000 QOR)
min_paychain_stakestring100,000,000ペイチェーンを作成するための最小ステーク(uqor で 100 QOR)
routing_enabledbooltrueQCAI ベースのトランザクションルーティングを有効化
routing_confidence_thresholdstring0.6QCAI ルーティング決定の最小信頼度
cross_layer_fee_bundlingbooltrueグローバルなクロスレイヤー手数料バンドリングを有効化