データ可用性
データ可用性(DA)とは、ロールアップの状態の背後にあるトランザクションデータが、誰もが読めるどこかに公開されることの保証です。これにより、誰もがロールアップの状態を独立して再構築し、検証できます。RDK は 3 つの DA バックエンドをサポートしています。
| バックエンド | 内容 |
|---|---|
native | QoreChain 自体の内部にあるオンチェーンの blob ストレージ |
celestia | 専用のモジュラー DA レイヤーである Celestia への IBC 経由のデータ可用性 |
both | 冗長性のための native と Celestia の併用 |
データ可用性バックエンドは、活発に進化している RDK の一部です。以下の成熟度に関する注記は設計上の意図として扱い、本番でバックエンドに依存する前に qorechain-diana テストネットで検証してください。
ネイティブ DA(オンチェーン blob ストレージ)
ネイティブ DA は、ロールアップのトランザクションデータを blob として QoreChain 上に直接保存します。各 blob はコミットされアドレス指定可能であるため、決済バッチの背後にあるデータをオンチェーンで取得し検証できます。
主な概念:
- Blob。 ロールアップのトランザクションデータは、それぞれロールアップ ID と blob インデックスに関連付けられたデータ可用性 blob として公開されます。
- コミットメント。 各 blob はコミットメント(blob データのハッシュ)を保持しているため、保存者を信頼することなく、コミットされた内容に対して blob を検証できます。
- 名前空間。 blob はロールアップ固有の名前空間を保持でき、共有ストレージ内で各ロールアップのデータを論理的に分離します。
- 保持とプルーニング。 ネイティブ blob は一定の期間保持された後、オンチェーンストレージを持続可能に保つためにプルーニングされます。プルーニング後は、生の blob データは削除されますがコミットメントのメタデータは保持されるため、バイトがオンチェーンに保存されなくなっても、過去のコミットメントは検証可能なまま残ります。
正確な最大 blob サイズと保持期間は、稼働中のモジュールパラメータによって管理されています。特定の制限を前提に設計する前に、これらをクエリしてください:
qorechaind query rdk config
ネイティブ DA は最もシンプルな選択肢です。すべてを QoreChain 内に保持し、ホストチェーンのセキュリティとポスト量子暗号を継承しますが、その代償としてホストチェーンのストレージを消費します。
Celestia DA(Celestia への IBC)
celestia バックエンドは、専用のモジュラー DA ネットワークである Celestia への IBC を通じてデータ可用性を公開します。これにより、決済を QoreChain 上にアンカーしたまま、blob ストレージを QoreChain から専用の DA レイヤーへオフロードします。
Celestia DA は成熟途上の統合です。現在のリリースでは、まだ本番向けに強化されていないものとして扱ってください。テストネットで動作を検証し、現時点で確定的な保証が必要な場合は native または both を選んでください。
Both(冗長性)
both バックエンドは native と Celestia の両方 に書き込み、オンチェーンストアと外部のモジュラー DA レイヤーにまたがる冗長性を提供します。最も広い可用性範囲を望み、2 か所にデータを保存するコストを許容できる場合に both を選んでください。
Celestia パスはまだ成熟途上であるため、both は、完全に独立した 2 つのコピーが現時点で確定的に決済されることを保証するものではなく、冗長性の実装が進行中のネイティブとして扱ってください。現在の動作はテストネットで確認してください。
バックエンドの選択
| 望むもの... | 選択 |
|---|---|
| 最もシンプルで完全にオンチェーンの、QoreChain のセキュリティを継承する選択肢 | native |
| 専用のモジュラーレイヤーに DA をオフロードする(成熟途上) | celestia |
| 冗長性を伴う最大の可用性範囲(成熟途上) | both |
DA がより広い決済の全体像にどのように組み込まれるかについては、ロールアップの概要 を参照してください。より低レベルのモジュールリファレンスについては、ロールアップ開発キット ページを参照してください。