Data Availability
x/blob
モジュールは、Sunrise の非推奨となった Celestia 互換モジュールです。
このモジュールにより、L2 オペレーターは Sunrise ネットワークにデータを投稿できます。データは L1 ブロックチェーンで L2 トランザクションが Finalize(確定)するまで、Sunrise ネットワークに保存されます。
Off Chain Blob Data(ブロックチェーン外部ブロブデータの公開検証性) (Data Availability v2)
Proof of Liquidity のための特殊な Data Availability Layer(ブロックチェーンのデータ可用性レイヤー)として Sunrise v1 の立ち上げに成功した後、Sunrise v2 で BLOB 機能のアップグレードを導入し、フルオンチェーンの AI やゲーム、ソーシャルサービスなどのデータ可用性のユースケースを実現します。Gluon が Sunrise DA を使用してフルオンチェーン AI を最初に実現する場所となります。
Sunrise v1 のアーキテクチャでは、data_hash
が 2-dimension Reed Solomon encoding(2 次元リードソロモン符号化)による erasure-coded data(消失訂正符号化データ)のマークルルートに置き換えられます。ここでのデータはブロック内のトランザクションデータを指します。Data Availability Sampling technology(データ可用性サンプリング技術)により、ライトノードがブロック全体をダウンロードせずにデータ可用性を検証できるようになり、大きなブロックを持つフルノードの運用コストを軽減します。
この設計では、すべてのフルノードが単純に mempool(メモリプール)内のトランザクションデータを転送およびダウンロードする必要があります。BlobTx
(Blob トランザクション)のサイズが大きくなると、ネットワークのスループットは mempool(メモリプール)内のトランザクション転送によって制限されます。これは、完全オンチェーンの AI、ゲーム、ソーシャルなど、分散アプリケーションでの大規模 BLOB データの使用にデータ可用性技術を適用する際の障害となります。
このボトルネックを緩和するために、以下の対策を行います:
erasure-coded BLOB data(消失訂正符号化 BLOB データ)を生成するための erasure encoding(消失訂正符号化)のオフチェーン実行
IPFS や Arweave などのオフチェーン分散ファイル転送システム/ストレージの使用
この新しい設計では、MsgPublishData
は消失訂正符号化されたデータシェアの URI を持つメタデータの URI を含みます。この値は IPS の"ipfs://[ipfs-cid]"
や Arweave の"ar://[hash]"
などの分散ストレージ/ファイル転送システムの URI であると想定され、BlobTx
には含まれないため、blob データは Sunrise のオンチェーンには存在しません。
データ可用性はゼロ知識証明を使用して証明されます。具体的には、shard_double_hashed
を用いて、バリデーターがシャードデータを開示せずにそのハッシュを知ることができることを証明します。 現在、この処理は Vote Extension of ABCI 2.0で行われることが想定されています。 この設計では、IPFS や Arweave などの外部ストレージ/ファイルシステムを使用することで、「長期的なデータ取得可能性」("long term Data Retrievability")を簡単に制御できます。一方で、他のデータ可用性を提供するエコシステムでは長期的なデータ取得可能性が保証されていません。これは、Optimistic Rollups の 不正証明(fraud proofs)のチャレンジ期間後や、ZK Rollups の有効性証明(validity proofs)の提出後には、トランザクションデータを保持する必要がないためです。 結論として、以下の利点があります:
ブロックサイズの増加によりネットワークのスループットが向上します
長期的なデータ取得可能性を容易に制御できます
フルオンチェーン AI、ゲーム、ソーシャルなどのアプリケーションが実現可能になります
ネットワークの分散化が改善されます
Specification for Zero-Knowledge Proof(ゼロ知識証明の仕様)
Terms and Notation(用語と表記法)
The hash function:
Set of validators:
Set of data shards:
Set of parity shards:
Set of shards:
概要
このシステムは、データシャードのハッシュを公開することなく、の所有を検証します。
Zero-Knowledge Proof System
この回路は 1 つのシャード に対するものです。
Public Inputs(公開入力)
Private Inputs(秘密入力)
Circuit Constraints(回路の制約条件)
The condition of Data Availability(データ可用性の条件)
Notations(表記法)
Replication Factor (Based only on data shards):
Replication Factor (Based on including parity shards):
Set of proofs submitted by a validator
v
:
Set of valid proofs for a shard
s
:
Requirements for each shard to prove Data Availability
Set of shards which satisfy this condition will be
Requirements for tally to prove Data Availability
Example parameters
10 validators:
20 shards:
10 data shards
10 parity shards
Each validator submits 6 shards proofs
Case A: valid shard s_1
s_1
Validator , and 's proof contain shard and other 5 shards
Validator failed to contain the validity of shard in its proof
However validator and succeeded to contain the validity of shard in its proof, then
It satisfies
Case B: invalid shard s_2
s_2
Validator , and 's proof contain shard and other 5 shards
Validator and failed to contain the validity of shard in its proof
Only validator succeeded to contain the validity of shard in its proof, then
It doesn't satisfy
Case X: shard s_1, s_3-s_11 are valid with the condition above
It satisfies
Case Y: Only shard s_1, s_3 are valid with the condition above
It doesn't satisfy
Comparison Between On-chain DA attestation and Off-chain DA attestation
On-chain DA attestation | Off-chain DA attestation | |
---|---|---|
Data Corruption Durability | 〇 | 〇 |
Tx Mempool Scalability | × | 〇 |
Data Retrievability Control | × | 〇 |
Validators Load Mitigation | × | 〇 |
False-Positive DA Attestation Resistance | 〇 | 〇※ |
Examples | Celestia, Avail, EigenDA, Sunrise V1 | Sunrise V2, Walrus, 0G |
Data Corruption Durability
Tx Mempool Scalability
Data Retrievability Control
Validators Load Mitigation
False-Positive DA Attestation Resistance
Last updated