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

データ可用性

データ可用性(DA)とは、ロールアップの状態の背後にあるトランザクションデータが、誰もが読めるどこかに公開されることの保証です。これにより、誰もがロールアップの状態を独立して再構築し、検証できます。RDK は 3 つの DA バックエンドを定義していますが、現在実装されているのは native のみです。

バックエンド内容ステータス
nativeQoreChain 自体の内部にあるオンチェーンの blob ストレージモジュールには実装済み。blob を投稿する公開手段はまだありません(下記参照)
celestia専用のモジュラー DA レイヤーである Celestia への IBC 経由のデータ可用性未実装
both冗長性のための native と Celestia の併用現時点では native とまったく同じ動作
初期段階の機能

どちらのネットワークでも、まだロールアップは作成されておらず、DA バックエンドも一部しか実装されていません。各バックエンドのステータスは以下に記載しています。いずれかに依存する前に、qorechain-diana テストネットで検証してください。


ネイティブ DA(オンチェーン blob ストレージ)​

ネイティブ DA は x/rdk 内のオンチェーン blob ストアです。各 blob はロールアップ ID と blob インデックスでキー付けされ、そのバイト列の SHAKE-256 コミットメント を保持し、保持期間の経過後にプルーニングされますが、コミットメントは保持されます。

blob を投稿する公開手段はまだありません

モジュールは blob のストレージ、保持、プルーニングを定義していますが、現在のリリースには blob を投稿するためのトランザクションメッセージがありません。送信メッセージがリリースされるまで、決済バッチは data_hash を空のままにする必要があります — native または both のロールアップでデータハッシュを指定したバッチは、対応する blob を保存できないため拒否されます。

主な概念:

  • Blob。 blob はロールアップ ID と blob インデックスに関連付けられます。
  • コミットメント。 各 blob はそのデータの 32 バイトの SHAKE-256 コミットメントを保持しているため、保存者を信頼することなく、コミットされた内容に対して blob を検証できます。(TypeScript ヘルパー buildDaBlob() は現在 SHA-256 でハッシュ化するため、その dataHash はチェーンのコミットメントと一致しません。)
  • 名前空間。 blob はロールアップ固有の名前空間を保持でき、共有ストレージ内で各ロールアップのデータを論理的に分離します。
  • 保持とプルーニング。 ネイティブ blob は blob_retention_blocks(432,000 ブロック — メインネットの現在のブロック時間 ≈3.2 秒で約 16 日。この数値はブロック時間によって変動します)の間保持された後、オンチェーンストレージを持続可能に保つためにプルーニングされます。プルーニング後は、生の blob データは削除されますがコミットメントのメタデータは保持されるため、バイトがオンチェーンに保存されなくなっても、過去のコミットメントは検証可能なまま残ります。

最大 blob サイズと保持期間は、稼働中のモジュールパラメータによって管理されています。特定の制限を前提に設計する前に、これらをクエリしてください:

qorechaind query rdk config

Celestia DA(Celestia への IBC)​

Celestia DA は実装されていません。DA バックエンドが celestia のロールアップはデータを投稿できません(モジュールはエラーを返します)。想定されている設計は、決済を QoreChain 上にアンカーしたまま、専用のモジュラー DA ネットワークである Celestia への IBC を通じてデータ可用性を公開するものですが、現在どちらのネットワークにも IBC チャネルは存在しません(ブリッジアーキテクチャを参照)。native を使用してください。


Both(冗長性)​

both バックエンドは、native と Celestia の両方 に書き込むことを意図しています。現時点では both は native とまったく同じ動作をします。保存されるのはネイティブのコピーのみで、Celestia 側は警告をログに記録してスキップされます。独立した 2 つのコピーとして扱わないでください。


バックエンドの選択​

望むもの...選択
最もシンプルで完全にオンチェーンの、QoreChain のセキュリティを継承する選択肢native
専用のモジュラーレイヤーに DA をオフロードするcelestia — 未実装
2 つのストアにまたがる冗長性both — 現時点では native と同じ

DA がより広い決済の全体像にどのように組み込まれるかについては、ロールアップの概要 を参照してください。より低レベルのモジュールリファレンスについては、ロールアップ開発キット ページを参照してください。