Kernel Ventures:データの可用性と履歴データレイヤーの設計

中級1/11/2024, 8:41:07 AM
この記事では、DAパフォーマンス指標、DA関連テクノロジー、DAレイヤー・ストレージ・ソリューションについて調査し、解釈します。
  1. ブロックチェーンの初期段階では、セキュリティと分散化を確保するために、データの一貫性を維持することが非常に重要であると考えられています。 しかし、ブロックチェーンエコシステムの発展に伴い、ストレージの圧力も高まっており、ノード運用の集中化の傾向につながっています。 このような場合、Layer1でのTPSの増加によってもたらされるストレージコストの問題は、早急に解決する必要があります。
  2. この問題に直面した開発者は、セキュリティ、ストレージコスト、データ読み取り速度、およびDAレイヤーの多様性を十分に考慮したソリューションを提案する必要があります。
  3. この問題を解決する過程で、シャーディング、DAS、Verkle Tree、DA中間コンポーネントなど、多くの新しい技術やアイデアが登場しました。 データの冗長性を減らし、データ検証の効率を向上させることで、DAレイヤーのストレージスキームを最適化しようとします。
  4. DAソリューションは、データの保存場所の観点から、メインチェーンDAとサードパーティDAの2種類に大別されます。 メインチェーンDAは、ノードへのストレージ負荷を軽減するために、定期的なデータクレンジングとスライスデータストレージの観点から設計されており、サードパーティDAは、ストレージのニーズに対応し、大量のデータに対する合理的なソリューションを備えているように設計されています。 その結果、主にサードパーティー製DAにおけるシングルチェーン対応とマルチチェーン対応のトレードオフを行い、メインチェーン専用DA、モジュール化DA、ストレージパブリックチェーンDAの3種類のソリューションを提案します。
  5. 決済型のパブリックチェーンは、履歴データのセキュリティに対する要件が非常に高いため、メインチェーンでDAレイヤーとして使用するのに適しています。 しかし、長期間稼働しており、多数のマイナーがネットワークを運営しているパブリックチェーンでは、比較的高いセキュリティでコンセンサスレイヤーの変更を伴わないサードパーティDAを採用する方が適しています。 包括的なパブリックチェーンの場合、メインチェーンの専用DAストレージを使用する方が適しており、データ容量が大きく、コストが低く、セキュリティが確保されています。 しかし、クロスチェーンの需要を考えると、モジュラーDAも良い選択肢です。
  6. 全体として、ブロックチェーンはデータの冗長性とマルチチェーンの分業を減らす方向に進んでいます。

1.背景

分散型台帳として、ブロックチェーンはデータストレージのセキュリティと十分な分散化を確保するために、すべてのノードに履歴データを保存する必要があります。 各状態変化の正しさは以前の状態(トランザクションソース)に関係しているため、トランザクションの正確性を確保するために、ブロックチェーンは原則として最初のトランザクションから現在のトランザクションまでのすべての履歴レコードを保存する必要があります。 イーサリアムを例にとると、平均ブロックサイズを20kbと見積もっても、現在のイーサリアムブロックの合計サイズは370GBに達しています。 ブロック自体に加えて、フルノードはステータスとトランザクションのレシートも記録する必要があります。 この部分を数えると、1ノードの合計ストレージ容量は1TBを超えており、ノードの運用を数人に集中しています。

イーサリアムの最新のブロック高さ、画像出典:Etherscan

2. DAパフォーマンス指標

2.1 安全性

データベースやリンクリストのストレージ構造と比較して、ブロックチェーンの比較不可能な点は、履歴データを通じて新しく生成されたデータを検証する能力に起因しています。 したがって、履歴データのセキュリティを確保することは、DAレイヤーストレージで最初に考慮すべき問題です。 ブロックチェーンシステムのデータセキュリティを判断する際には、データの冗長化量やデータの可用性の検証方法から分析することが多いです。

  1. 冗長性の量:ブロックチェーンシステム内のデータの冗長性に関しては、主に次の役割を果たすことができます。 まず、ネットワーク内の冗長性の数が多い場合、検証者が検証するために特定の履歴ブロックのアカウントステータスを表示する必要がある場合 トランザクションが検証されているときに、参照用のサンプルを最も多く取得し、ほとんどのノードによって記録されたデータを選択できます。 従来のデータベースでは、データは特定のノードにキーと値のペアの形式でのみ保存されるため、履歴データの変更は単一のノードでしか実行できず、攻撃のコストは非常に低くなります。 理論的には、冗長性の数が多いほど、データの可能性は低くなります。 信頼性の度合いが高いほど。 同時に、格納されるノードが多いほど、データが失われる可能性は低くなります。 これは、Web2ゲームを保存する中央集権型サーバーと比較することもできます。 すべてのバックエンド サーバーがシャットダウンされると、サーバーは完全にシャットダウンされます。 ただし、冗長性の各部分が追加のストレージスペースをもたらすため、多ければ多いほど良いです。 過度のデータ冗長性は、システムに過度のストレージ負荷をもたらします。 優れたDAレイヤーは、適切なものを選択する必要があります。 冗長アプローチは、セキュリティとストレージ効率のバランスを取ります。
  2. データの可用性の検証:冗長性の数により、ネットワーク内に十分なデータレコードがあることが保証されますが、使用するデータの正確性と完全性を検証する必要があります。 現在のブロックチェーンで一般的に使用されている検証方法は、ネットワーク全体で記録する小さな暗号化コミットメントを保持する暗号化コミットメントアルゴリズムです。 このコミットメントは、トランザクションデータを混在させることによって得られます。 特定の履歴データの真正性をテストする場合は、データを介して暗号化コミットメントを復元し、この復元によって取得された暗号化コミットメントがネットワーク全体のレコードと一致しているかどうかを確認する必要があります。 整合性が保たれていれば、検証に合格します。 一般的に使用される暗号化検証アルゴリズムには、Verkle Root と Verkle Root があります。 高セキュリティのデータ可用性検証アルゴリズムは、少量の検証データのみを必要とし、履歴データを迅速に検証できます。

2.2 ストレージコスト

基本的なセキュリティの確保を前提に、DA層が達成すべき次のコア目標は、コスト削減と効率の向上です。 1 つ目は、ハードウェアのパフォーマンスの違いに関係なく、ストレージ コストを削減すること、つまり、ユニット サイズのデータを格納することによって発生するメモリ使用量を削減することです。 この段階で、ブロックチェーンのストレージコストを削減する主な方法は、シャーディング技術を採用し、報酬ベースのストレージを使用して、データが効果的に保存されるようにし、データのバックアップの数を減らすことです。 しかし、上記の改善方法から、ストレージコストとデータセキュリティの間にゲーム関係があることは容易に理解できます。 ストレージの占有率を下げることは、多くの場合、セキュリティの低下を意味します。 したがって、優れたDAレイヤーは、ストレージコストとデータセキュリティのバランスをとる必要があります。 また、DA層が独立したパブリックチェーンである場合、データ交換の中間処理を最小限にすることでコストを削減する必要があります。 各転送プロセスでは、後続のクエリ呼び出しのためにインデックスデータを残す必要があります。 したがって、呼び出しプロセスが長くなるほど、より多くのインデックス データが残り、ストレージ コストが増加します。 最後に、データストレージのコストは、データの耐久性に直接関係しています。 一般的に、データのストレージコストが高いほど、パブリックチェーンがデータを永続的に保存することは難しくなります。

2.3 データ読み取り速度

コスト削減を達成した後、次のステップは効率を高めることであり、これは、使用する必要があるときにDAレイヤーからデータをすばやく呼び出す機能です。 このプロセスには 2 つの手順があります。 1 つ目は、データを格納するノードを検索することです。 このプロセスは主に、ネットワーク全体でデータの一貫性を達成していないパブリックチェーン向けです。 パブリックチェーンがネットワーク全体のノードのデータ同期を実現する場合、これは無視できます。 プロセスの所要時間。 第二に、ビットコイン、イーサリアム、ファイルコインを含む現在の主流のブロックチェーンシステムでは、ノードストレージ方式はLeveldbデータベースです。 Leveldb では、データは 3 つの方法で格納されます。 まず、すぐに書き込まれたデータはMemtableタイプのファイルに保存されます。 Memtableストレージがいっぱいになると、ファイルタイプがMemtableからImmutable Memtableに変更されます。 どちらのタイプのファイルもメモリに保存されますが、不変のMemtableファイルは変更できなくなり、データのみを読み取ることができます。 IPFSネットワークで使用されるホットストレージは、この部分にデータを格納します。 呼び出されると、メモリからすばやく読み取ることができます。 しかし、普通のノードのモバイルメモリはGBレベルであることが多く、書き込みが遅くなりやすいため、ノードがクラッシュしたり、その他の異常な状況が発生すると、メモリ内のデータが永久に失われてしまいます。 データを永続的に保存する場合は、ソリッドステートドライブ(SSD)にSSTファイルの形式で保存する必要があります。 ただし、データを読み取るときは、最初にデータをメモリに読み込む必要があるため、データのインデックス作成速度が大幅に低下します。 最後に、共有ストレージを使用するシステムの場合、データの復元には、複数のノードにデータ要求を送信して復元する必要があります。 このプロセスにより、データの読み取り速度も低下します。

Leveldbのデータ保存方法、画像出典:Leveldb-handbook

2.4 DAの一般化

DeFiの発展とCEXのさまざまな問題により、分散型資産のクロスチェーントランザクションに対するユーザーの要求も高まっています。 ハッシュロック、公証人、またはリレーチェーンのクロスチェーンメカニズムに関係なく、両方のチェーンで履歴データを同時に決定することは避けられません。 この問題の鍵は、2つのチェーン上のデータの分離にあり、異なる分散型システムでは直接通信を実現できません。 そこで、この段階では、複数のパブリックチェーンの履歴データを同じトラステッドパブリックチェーンに格納するだけでなく、検証時にこのパブリックチェーン上のデータを呼び出すだけでよいDAレイヤーの格納方法を変更することで解決策を提案します。 缶。 そのためには、DA層が様々なタイプのパブリックチェーンと安全な通信方法を確立できることが必要であり、DA層は汎用性に優れています。

3. DAに関するテクニック

3.1 シャーディング

  1. 従来の分散システムでは、ファイルは特定のノードに完全な形式で保存されません。 代わりに、元のデータは複数のブロックに分割され、各ノードに1つのブロックが格納されます。 多くの場合、ブロックは 1 つのノードだけに保存されるのではなく、他のノードに適切なバックアップが残ります。 既存の主流の分散システムでは、通常、このバックアップ数は 2 に設定されます。このシャーディングメカニズムは、単一ノードのストレージ圧力を軽減し、システムの総容量を各ノードのストレージ容量の合計に拡張すると同時に、適切なデータ冗長性を通じてストレージのセキュリティを確保できます。 ブロックチェーンで採用されているシャーディングスキームは一般的に似ていますが、具体的な詳細は異なります。 まず、ブロックチェーンの各ノードはデフォルトで信頼できないため、シャーディングを実装するプロセスでは、その後のデータの真正性を判断するのに十分な量のデータバックアップが必要になるため、このノードのバックアップ数は2をはるかに超える必要があります。理想的には、このストレージスキームを使用するブロックチェーンシステムでは、検証ノードの総数がTでシャードの数がNの場合、バックアップの数はT/Nである必要があります。 2つ目は、ブロックのストレージプロセスです。 従来の分散システムではノード数が少ないため、1つのノードが複数のデータブロックに適応することがよくあります。 まず、データは、一貫性のあるハッシュアルゴリズムを通じてハッシュリングにマッピングされ、次いで、各ノードは、特定の範囲で番号付けされたデータブロックを格納し、ノードが特定のストレージ中にストレージタスクを割り当てないことを受け入れることができる。 ブロックチェーン上では、各ノードにブロックが割り当てられるかどうかは、もはやランダムなイベントではなく、必然的なイベントです。 各ノードは、ストレージ用のブロックをランダムに選択します。 このプロセスでは、元のデータとブロックおよびノードの情報が結合されます。 データをハッシュ化した結果は、シャード数の剰余を取ることで完了します。 各データがNブロックに分割されていると仮定すると、各ノードの実際のストレージサイズは元のノードの1/Nにすぎません。 Nを適切に設定することで、TPSの増大とノードストレージの負荷のバランスをとることができます。

シャーディング後のデータ保存方法、画像出典:Kernel Ventures

3.2 DAS(Data Availability Sampling:データ可用性サンプリング)

DASテクノロジーは、シャーディングストレージ方法のさらなる最適化に基づいています。 シャーディングプロセス中に、ノードの単純なランダムストレージにより、特定のブロックが失われる可能性があります。 第二に、断片化されたデータの場合、復元プロセス中にデータの信頼性と整合性を確認することも非常に重要です。 DASでは、これら2つの問題は、消しゴムコードとKZG多項式コミットメントによって解決されます。

  1. 消しゴムコード:イーサリアムの膨大な数の検証ノードを考えると、特定のブロックがどのノードにも保存されていない確率はほぼ0ですが、理論的にはそのような極端な状況が発生する可能性はまだあります。 このストレージ損失の脅威を軽減するために、このスキームでは、多くの場合、元のデータはストレージ用のブロックに直接分割されません。 代わりに、元のデータは最初に n 次多項式の係数にマッピングされ、次に多項式から 2n が取得されます。 ポイントをポイントし、ノードがそれらの中からランダムに 1 つを選択してストレージできるようにします。 この n 次多項式の場合、復元に必要なのは n+1 点だけです。 したがって、ノードがブロックの半分を選択するだけで済み、元のデータを復元できます。 消しゴムコードにより、データストレージのセキュリティとネットワークのデータ回復機能が向上します。
  2. データストレージの非常に重要な側面は、データの真正性の検証です。 Eraserコードを使用しないネットワークでは、検証にさまざまな方法を使用できますが、データのセキュリティを向上させるために上記のEraserコードが導入されている場合は、1つのブロックの内容を多項式の形式で直接検証できるため、多項式をバイナリデータに減らす必要がなくなるKZG多項式コミットメントを使用する方が適切です。 KZG多項式コミットメントは、多項式の形で単一のブロックの内容を直接検証できるため、多項式をバイナリデータに還元する必要がなく、検証の全体的な形式はマークルツリーのそれと似ていますが、特定のパスノードデータを必要とせず、ブロックの真正性を検証するためにKZGルートとブロックデータのみを必要とします。

3.3 DAにおけるデータ検証方法

データ検証により、ノードから呼び出されるデータが正確かつ完全であることが保証されます。 検証プロセスに必要なデータ量と計算コストを最小限に抑えるために、DA層は現在、主流の検証方法としてツリー構造を使用しています。 最も簡単な形式は、完全な二分木レコードの形式を使用する検証にマークルツリーを使用することであり、マークルルートを保持するだけで、ノードのパスの反対側にあるサブツリーのハッシュ値を検証でき、検証の時間計算量はO(logN)レベルです(logNはデフォルトのlog2(N)です)。 検証プロセスは大幅に簡素化されましたが、一般的な検証プロセスのデータ量は、データの増加とともに増加します。 検証量の増加の問題を解決するために、この段階で別の検証方法であるVerkle Treeが提案され、Verkle Treeの各ノードは値を格納するだけでなく、元のノードの値とコミットメント証明を使用してデータの真正性を迅速に検証できるVector Commitmentを添付します。 他の姉妹ノードの値を呼び出す必要がないため、各検証の計算が簡単かつ高速になります。 これにより、各検証の計算回数は、固定定数であるVerkle Treeの深さにのみ関連し、検証速度が大幅に高速化されます。 ただし、ベクトルコミットメントの計算には、同じレイヤー内のすべての姉妹ノードの参加が必要であり、データの書き込みと変更のコストが大幅に増加します。 しかし、履歴データのように永久に保存され、改ざんできないデータや、読み出すことはできても書き込むことはできないデータには、Verkle Treeが最適です。 さらに、マークルツリーとVerkleツリー自体にはK-ary形式のバリアントがあり、メカニズムの具体的な実装は似ていますが、各ノードの下のサブツリーの数を変更するだけで、特定のパフォーマンスの比較を次の表に示します。

データ検証手法の時間性能比較、写真提供:Verkle Trees

3.4 汎用DAミドルウェア

ブロックチェーンエコシステムの継続的な拡大により、パブリックチェーンの数が継続的に増加しています。 各パブリックチェーンは、それぞれの分野で優位性があり、かけがえがないため、レイヤー1パブリックチェーンが短期間で統一されることはほぼ不可能です。 しかし、DeFiの発展やCEXのさまざまな問題により、分散型クロスチェーン取引資産に対するユーザーの要求も高まっています。 そのため、クロスチェーンデータインタラクションにおけるセキュリティの問題を解消できるDAレイヤーマルチチェーンデータストレージがますます注目されています。 しかし、異なるパブリックチェーンから履歴データを受け入れるためには、DAレイヤーは、データストリームの標準化された保存と検証のための分散型プロトコルを提供する必要があります。 例えば、Arweaveをベースとしたストレージミドルウェアであるkvyeは、チェーンから積極的にデータを取得し、チェーン上のすべてのデータは、データ転送プロセスの違いを最小限に抑えるために標準形式でArweaveに保存されます。 相対的に言えば、特定のパブリックチェーンにDAレイヤーのデータストレージを特化して提供するLayer2は、内部共有ノードを介してデータと対話します。 インタラクションのコストを削減し、セキュリティを向上させますが、比較的大きな制限があり、サービスを提供する特定のパブリックチェーンにしかデータを提供できます。

4. DAの保存方法

4.1 メインチェーンDA

4.1.1 DankShardingのような

このタイプのストレージソリューションにはまだ明確な名前がなく、最も顕著な代表はイーサリアムのDankShardingであるため、この記事ではこのタイプのソリューションを指すためにDankShardingクラスを使用します。 このタイプのソリューションでは、主に上記の2つのDAストレージテクノロジー(シャーディングとDAS)を使用します。 まず、シャーディングによってデータが適切な共有に分割され、次に各ノードがストレージ用のDAS形式のデータブロックを抽出します。 ネットワーク全体に十分なノードがある場合は、より多くのシャードNを選択できるため、各ノードのストレージ圧力は元の1/Nのみになり、全体的なストレージスペースのN倍の拡張を実現できます。 同時に、特定のブロックがどのブロックにも保存されていないという極端な状況を防ぐために、DankShardingは消しゴムコードを使用してデータをエンコードし、データの半分しか完全に復元できません。 最後のステップはデータ検証プロセスで、Verkle ツリー構造と多項式コミットメントを使用して高速検証を実現します。

4.1.2 一時記憶域

メインチェーンのDAの場合、最も簡単なデータ処理方法の1つは、履歴データを短期的に保存することです。 本質的に、ブロックチェーンは公開台帳の役割を果たし、恒久的なストレージを必要とせずに、台帳コンテンツの変更をネットワーク全体で目撃できるようにします。 Solanaを例にとると、その履歴データはArweaveに同期されますが、メインネットワークノードは過去2日間のトランザクションデータのみを保持します。 アカウント記録に基づくパブリックチェーンでは、各瞬間の履歴データはブロックチェーン上のアカウントの最終ステータスを保持し、次の瞬間の変更の検証基準を提供するのに十分です。 この期間より前にデータに特別なニーズがあるプロジェクトの場合、他の分散型パブリックチェーンに自分で保存するか、信頼できる第三者に保存することができます。 言い換えれば、追加のデータが必要な人は、履歴データの保存に料金を支払う必要があります。

4.2 第三者のDA

4.2.1 メインチェーン固有のDA:EthStorage

  1. メインチェーン固有のDA:DAレイヤーで最も重要なことは、データ送信のセキュリティです。 この時点で最も安全なのは、メインチェーンのDAです。 しかし、メインチェーンの保管は、保管スペースの制限や資源の奪い合いの影響を受けます。 したがって、ネットワーク・データの量が急激に増加した場合、データの長期保存を実現するには、サード・パーティ製DAの方が適しています。 サードパーティのDAがメインネットワークとの互換性が高い場合、ノードの共有を実現でき、データ相互作用プロセス中のセキュリティも高くなります。 したがって、セキュリティを考慮することを前提にすると、メインチェーン固有のDAには大きな利点があります。 イーサリアムを例にとると、メインチェーン固有のDAの基本的な要件は、EVMと互換性があり、イーサリアムのデータやコントラクトとの相互運用性を確保することです。 代表的なプロジェクトとして、Topia、EthStorageなど。 その中で、EthStorageは、EVMレベルでの互換性に加えて、RemixやHardhatなどのEthereum開発ツールと接続するための関連インターフェースを特別に設定し、Ethereum開発ツールレベルでの互換性を実現しているため、互換性の点で現在最も開発されています。
  2. EthStorage:EthStorageはイーサリアムから独立したパブリックチェーンですが、その上で動作するノードはイーサリアムノードよりも優れています。 つまり、EthStorageを実行しているノードは、同時にEthereumも実行できます。 イーサリアムのオペレーションコードを介して、EthStorageに直接アクセスできます。 EthStorage は操作を実行します。 EthStorageのストレージモデルでは、インデックス作成のためにイーサリアムのメインネットに保持されるメタデータはごくわずかで、基本的にイーサリアム用の分散型データベースが作成されます。 現在のソリューションでは、EthStorageは、EthereumメインネットワークにEthStorageコントラクトを展開することにより、EthereumメインネットワークとEthStorage間の相互作用を実装します。 イーサリアムがデータを保存したい場合は、コントラクトでput()関数を呼び出す必要があります。 入力パラメータは2バイト変数keyとdataで、dataは格納するデータを表し、キーはイーサリアムネットワーク内の位置です。 この識別は、IPFSにおけるCIDの存在と類似していると見なすことができます。 (キー、データ)データペアがEthStorageネットワークに正常に保存されると、EthStorageはkvldxを生成してイーサリアムのメインネットワークに返し、イーサリアム上のキーに対応します。 この値はEthStorage上のデータのストレージアドレスに対応しているため、本来は可能だった大量のデータを保存する必要があるという問題が、単一の(キー、kvldx)ペアの保存となり、イーサリアムメインネットのストレージコストを大幅に削減できるようになりました。 以前に保存したデータを呼び出す必要がある場合は、EthStorage の get() 関数を使用して、key パラメーターを入力する必要があります。 イーサリアムに保存されているkvldxを介してEthStorage上のデータをすばやく検索できます。

EthStorage契約、画像出典:Kernel Ventures

  1. ノードが具体的にデータを保存する方法に関して、EthStorageはArweaveモデルを利用しています。 まず、ETHの(k, v)ペアを大量にシャード化します。 各シャーディングには、固定数の (k, v) データペアが含まれています。 また、各 (k, v) ペアの特定のサイズにも制限があります。 このようにして、ストレージ報酬プロセスにおけるマイナーのその後のワークロードの公平性が確保されます。 報酬の発行には、まずノードがデータを格納しているかどうかを確認する必要があります。 このプロセス中、EthStorageはシャーディング(TBレベルサイズ)を多くのチャンクに分割し、検証のためにイーサリアムのメインネットワーク上にVerkleルートを保持します。 次に、マイナーは最初にノンスを提供して、EthStorageの前のブロックのハッシュを使用してランダムアルゴリズムを介していくつかのチャンクのアドレスを生成する必要があります。 マイナーは、シャーディング全体を実際に保存していることを証明するために、これらのチャンクのデータを提供する必要があります。 しかし、このナンスを任意に選択することはできず、そうでなければ、ノードは格納されたチャンクにのみ対応する適切なナンスを選択し、検証に合格します。 したがって、このnonceは、生成されたチャンクの難易度値が、ミキシングとハッシュ後のネットワーク要件を満たすことができ、nonceとランダムアクセス証明を提出した最初のノードのみが報酬を得ることができるようなものでなければならない。

4.2.2 モジュール化DA:セレスティア

  1. ブロックチェーンモジュール:この段階では、レイヤー1パブリックチェーンによって実行される必要があるトランザクションは、主に次の4つの部分に分かれています:(1)ネットワークの基盤となるロジックを設計し、特定の方法で検証ノードを選択し、ブロックを書き込み、ネットワークメンテナーに報酬を割り当てます。(2)トランザクションをパッケージ化して処理し、関連するトランザクションを公開します。(3)チェーンにアップロードされるトランザクションを検証し、最終的なステータスを決定します。(4)ブロックチェーンに履歴データを保存および維持します。 完成したさまざまな機能に応じて、ブロックチェーンをコンセンサス層、実行層、決済層、データ可用性層(DA層)の4つのモジュールに分割できます。
  2. モジュール式ブロックチェーン設計:長い間、これら4つのモジュールはパブリックチェーンに統合されてきました。 このようなブロックチェーンは、シングルブロックチェーンと呼ばれます。 この形式は、より安定しており、維持が容易ですが、単一のパブリックチェーンに大きなプレッシャーをかけることにもなります。 実際の運用では、これら4つのモジュールは互いに制約し合い、パブリックチェーンの限られたコンピューティングおよびストレージリソースをめぐって競合します。 たとえば、処理レイヤーの処理速度を上げると、データ可用性レイヤーへのストレージ負荷が大きくなります。実行層のセキュリティを確保するためには、より複雑な検証メカニズムが必要ですが、トランザクションの処理速度は遅くなります。 したがって、パブリックチェーンの開発は、これら4つのモジュール間のトレードオフに直面することがよくあります。 パブリックチェーンのパフォーマンス向上のボトルネックを突破するために、開発者はモジュール式のブロックチェーンソリューションを提案しました。 モジュラーブロックチェーンの核となる考え方は、上記の4つのモジュールのうち1つ以上を分離し、それらを別のパブリックチェーンに実装することです。 このように、パブリックチェーンは、トランザクション速度やストレージ容量の向上にのみ集中し、欠点によるブロックチェーンの全体的なパフォーマンスに対する以前の制限を突破することができます。
  3. モジュラーDA:DAレイヤーをブロックチェーンビジネスから分離し、パブリックチェーンに引き渡す複雑な方法は、レイヤー1の増大する履歴データに対する実行可能なソリューションと考えられています。このエリアの探査は、現段階ではまだ初期段階にあり、現時点で最も代表的なプロジェクトはセレスティアです。 具体的な保存方法としては、Celestiaはデータを複数のブロックに分割するDankshardingの保存方法を採用しており、各ノードはストレージ用の部分を抽出し、KZG多項式コミットメントを使用してデータの整合性を検証しています。 同時に、Celestiaは高度な2次元RS消去コードを使用しており、元のデータはk行列の形式で書き換えられ、元のデータの25%しか復元できません。 ただし、データシャーディングストレージは、基本的に、ネットワークノード全体のストレージ負荷に、総データ量の係数を掛けるだけです。 ノードのストレージ負荷とデータ量は、依然として直線的な増加を維持しています。 レイヤー 1 はトランザクション速度を向上させ続けていますが、ノードのストレージの負荷は、ある日、許容できない臨界レベルに達する可能性があります。 この問題を解決するために、IPLDコンポーネントがCelestiaに導入され、処理されます。 for kk行列のデータはCelestiaに直接保存されず、LL-IPFSネットワークに保存され、IPFS上のデータのCIDコードのみがノードに保持されます。 ユーザーが履歴データを要求すると、ノードは対応するCIDをIPLDコンポーネントに送信し、元のデータはこのCIDを介してIPFSで呼び出されます。 データがIPFS上に存在する場合は、IPLDコンポーネントおよびノードを介して返されます。存在しない場合、データを返すことはできません。

Celestiaデータ読み取り方法、画像提供:Celestia Core

  1. セレスティア:セレスティアを例にとると、イーサリアムのストレージ問題を解決するためのモジュラーブロックチェーンの応用を垣間見ることができます。 Rollup ノードは、パッケージ化および検証されたトランザクションデータを Celestia に送信し、そのデータを Celestia に保存します。 このプロセスの間、セレスティアは過度に意識することなくデータを保存するだけです。 最後に、ロールアップノードはストレージスペースのサイズに応じてロールされます。 対応するティアトークンは、保管料としてセレスティアに支払われます。 Celstiaのストレージは、EIP4844と同様のDASと消去コードを利用していますが、EIP4844の多項式消去コードはアップグレードされ、2次元RS消去コードを使用してストレージセキュリティが再度アップグレードされます。 トランザクション・データ全体をリストアできるフラクチャは25%のみです。 基本的には、保管コストの低いPOSパブリックチェーンにすぎません。 イーサリアムのヒストリカルデータストレージの問題を解決するために使用する場合、Celestiaと連携するために他の多くの特定のモジュールが必要です。 たとえば、ロールアップに関しては、Celestiaの公式Webサイトで強く推奨されているロールアップモードはソブリンロールアップです。 レイヤー 2 の一般的なロールアップとは異なり、トランザクションは計算と検証のみ、つまり実行レイヤーの操作が完了します。 ソブリンロールアップには、実行と決済のプロセス全体が含まれているため、Celestiaでのトランザクションの処理が最小限に抑えられます。 Celestiaの全体的なセキュリティがEthereumよりも弱い場合、この措置により、トランザクションプロセス全体のセキュリティを最大化できます。 イーサリアムのメインネットワークであるセレスティアが呼び出すデータのセキュリティを確保するという点で、現時点で最も主流のソリューションは量子重力ブリッジスマートコントラクトです。 Celestiaに保存されたデータについては、Verkle Root(データの可用性の証明)を生成し、イーサリアムのメインネットワークの量子重力ブリッジコントラクトに保持します。 イーサリアムがCelestiaのヒストリカルデータを呼び出すたびに、そのハッシュ結果がVerkle Rootと比較され、一致すれば確かに本物のヒストリカルデータであることを意味します。

4.2.3 ストレージチェーンDA

メインチェーンDAの技術原則に関しては、シャーディングに似た多くの技術がストレージパブリックチェーンから借用されています。 サードパーティのDAの中には、ストレージパブリックチェーンを直接使用して、一部のストレージタスクを完了するものもあります。 例えば、Celestiaの特定のトランザクションデータはLL-IPFSネットワーク上に配置されます。 サードパーティのDAソリューションでは、Layer1のストレージの問題を解決するために別のパブリックチェーンを構築することに加えて、より直接的な方法は、ストレージパブリックチェーンをLayer1に直接接続して、Layer1に膨大な履歴データを格納することです。 高性能ブロックチェーンの場合、履歴データの量はさらに大きくなります。 フルスピードで稼働させると、高性能パブリックチェーン「Solana」のデータ量は4PG近くになり、通常のノードのストレージ範囲を完全に超えています。 Solanaが選択したソリューションは、分散型ストレージネットワークArweaveに履歴データを保存し、検証のためにメインネットワークノードに2日分のデータのみを保持するというものです。 ストアドプロセスのセキュリティを確保するために、SolanaとArweave Chainは、ストレージブリッジプロトコルであるSolar Bridgeを特別に設計しました。 Solanaノードによって検証されたデータはArweaveに同期され、対応するタグが返されます。 このタグを介してのみ、SolanaノードはSolanaブロックチェーンの履歴データをいつでも表示できます。 Arweaveでは、すべてのネットワークノードがデータの一貫性を維持し、これをネットワーク運用に参加するためのしきい値として使用する必要はありません。 代わりに、報酬ストレージが採用されます。 まず第一に、Arweaveはブロックを構築するために従来のチェーン構造を使用せず、グラフ構造に似ています。 Arweaveでは、新しいブロックは前のブロックを指すだけでなく、生成されたブロックのリコールブロックをランダムに指し示します。 リコールブロックの具体的な位置は、前のブロックのハッシュ結果とブロックの高さによって決定されます。 リコールブロックの場所は、前のブロックが採掘されるまで不明です。 ただし、新しいブロックを生成するプロセスでは、POWメカニズムを使用して指定された難易度のハッシュを計算するために、ノードにRecall Blockデータが必要です。 難易度を満たしたハッシュを最初に計算したマイナーのみが報酬を得ることができ、マイナーはできるだけ多くのものを保管することを奨励します。 履歴データ。 同時に、特定の履歴ブロックを保管する人が少なければ少ないほど、ノードは困難を満たすナンスを生成する際の競争相手が少なくなり、マイナーがネットワークに保管するブロックが少なくなります。 最後に、ノードがArweaveにデータを永続的に保存できるように、WildFireのノードスコアリングメカニズムを導入しています。 ノードは、より多くの履歴データをより速く提供できるノードと通信する傾向がありますが、レーティングの低いノードは、最新のブロックデータやトランザクションデータをできるだけ早く取得できないことが多く、POW競争を利用できません...

Arweaveブロック工法、画像出典:Arweave Yellow-Paper

5. 合成比較

次に、DAパフォーマンス指標の4つの側面に基づいて、5つのストレージソリューションの長所と短所を比較します。

  1. セキュリティ:データセキュリティ問題の最大の原因は、データ送信プロセス中に発生する損失と、不正なノードからの悪意のある改ざんです。 クロスチェーンプロセスでは、2つのパブリックチェーンの独立性と状態により、データ伝送のセキュリティが最も大きな打撃を受けた分野の1つです。 また、現在専用のDAレイヤーが必要なレイヤー1は、強いコンセンサスグループを持つことが多く、そのセキュリティは通常のストレージパブリックチェーンよりもはるかに高くなります。 したがって、メインチェーンDAソリューションはより高いセキュリティを備えています。 データ送信のセキュリティを確保した後、次のステップは、通話データのセキュリティを確保することです。 トランザクションの検証に使用される短期のヒストリカル・データのみが考慮される場合は、一時ストレージ・ネットワーク内のネットワーク全体で同じデータがバックアップされます。 DankShardingのようなソリューションでは、データバックアップの平均数は、ネットワーク全体のノード数のわずか1/Nです。 では、データの冗長性を高めることで、データが失われる可能性が低くなり、検証中により多くの参照サンプルを提供することもできます。 したがって、一時ストレージは比較的高いデータ・セキュリティーを持ちます。 サードパーティのDAソリューションでは、メインチェーン固有のDAはメインチェーンでパブリックノードを使用し、クロスチェーンプロセス中にこれらのリレーノードを介してデータを直接送信できるため、他のDAソリューションよりも比較的高いセキュリティを備えています。
  2. ストレージ コスト: ストレージ コストに影響を与える最大の要因は、データの冗長性の量です。 メインチェーンDAの短期ストレージソリューションでは、ネットワークノード全体のデータ同期の形で保存されます。 新しく保存されたデータは、ストレージコストが最も高いネットワークノード全体でバックアップする必要があります。 ストレージコストが高いため、この方法は高TPSネットワークの一時ストレージにのみ適しています。 2つ目はシャーディングの保存方法であり、メインチェーンでのシャーディングとサードパーティDAでのシャーディングが含まれます。 メインチェーンにはより多くのノードがあることが多いため、対応するブロックにもより多くのバックアップがあるため、メインチェーンのシャーディングソリューションのコストが高くなります。 最も低いストレージコストは、報酬ストレージ方式を採用したストレージパブリックチェーンDAです。 このスキームでは、データの冗長性の量は、多くの場合、固定定数の周りで変動します。 同時に、ストレージパブリックチェーンDAには動的な調整メカニズムも導入され、データセキュリティを確保するための報酬を増やすことで、バックアップの少ないデータを保存するノードを引き付けます。
  3. データの読み取り速度:データの保存速度は、主にストレージスペース内のデータの保存場所、データインデックスパス、およびノード内のデータの分布の影響を受けます。 その中でも、メモリやSSDにデータを保存すると読み取り速度が数十倍異なる可能性があるため、ノード上のデータの保存場所が速度に大きな影響を与えます。 パブリックチェーンDAのストレージは、このチェーンの負荷がDAレイヤーのデータだけでなく、ユーザーがアップロードした動画や写真など、メモリ使用量の多い個人データも含まれるため、主にSSDストレージを使用します。 ネットワークがストレージスペースとしてSSDを使用しない場合、巨大なストレージ圧力を運び、長期的なストレージのニーズを満たすことは困難です。 第 2 に、メモリ状態を使用してデータを格納するサードパーティ DA およびメインチェーン DA の場合、サードパーティ DA はまずメイン チェーン内の対応するインデックス データを検索し、次にチェーン全体のインデックス データをサードパーティ DA に転送し、ストレージ ブリッジ データを介して返す必要があります。 対照的に、メインチェーンDAはノードから直接データを照会できるため、データ取得速度が速くなります。 最後に、メインチェーンDA内では、シャーディングメソッドでは、複数のノードからBlockを呼び出し、元のデータを復元する必要があります。 したがって、断片化されたストレージのない短期ストレージと比較して、速度は遅くなります。
  4. DA層の普遍性:ストレージ容量が不十分なパブリックチェーン上のデータを、ストレージ容量が不十分な別のパブリックチェーンに転送することは不可能であるため、メインチェーンのDA普遍性はゼロに近い。 サードパーティDAでは、ソリューションの汎用性と特定のメインチェーンとの互換性は相反する指標です。 例えば、あるメインチェーン向けに設計されたメインチェーン固有のDAソリューションでは、パブリックチェーンに適応するために、ノードタイプやネットワークコンセンサスレベルで多くの改善が行われています。 したがって、これらの改善は、他のパブリックチェーンと通信する際に役割を果たします。 大きな障害です。 サードパーティDA内では、ストレージパブリックチェーンDAは、モジュラーDAと比較して汎用性の点で優れています。 ストレージパブリックチェーンDAには、より大きな開発者コミュニティとより多くの拡張施設があり、さまざまなパブリックチェーンの条件に適応できます。 同時に、ストレージパブリックチェーンDAは、他のパブリックチェーンから送信された情報を受動的に受信するのではなく、パケットキャプチャを通じてより能動的にデータを取得する。 したがって、独自の方法でデータをエンコードし、データストリームの標準化されたストレージを実現し、さまざまなメインチェーンからのデータ情報の管理を容易にし、ストレージ効率を向上させることができます。

ストレージソリューションのパフォーマンス比較、画像提供:Kernel Ventures

6. まとめ

現在のブロックチェーンは、暗号からより包括的なWeb3への変革を遂げています。 このプロセスは、ブロックチェーン上のプロジェクトの豊かさをもたらすだけではありません。 GamefiやSocialfiのプロジェクトの体験を確保しながら、Layer1で非常に多くのプロジェクトの同時運用に対応するために、Ethereumに代表されるLayer1は、RollupやBlobsなどの手法を採用してTPSを向上させています。 新しいブロックチェーンの中でも、高性能なブロックチェーンの数も増えています。 しかし、TPSが高いほど、パフォーマンスが向上するだけでなく、ネットワークへのストレージ負荷も高まります。 膨大な履歴データについては、現在、メインチェーンとサードパーティに基づくさまざまなDAメソッドが提案されており、オンチェーンのストレージ圧力の増加に適応しています。 それぞれの改善方法には長所と短所があり、状況によって適用性が異なります。

決済に重点を置いたブロックチェーンは、履歴データのセキュリティに対する要求が極めて高く、特に高いTPSを追求しているわけではありません。 このタイプのパブリックチェーンがまだ準備段階にある場合は、DankShardingのようなストレージ方法を採用できるため、セキュリティを確保しながらストレージ容量を大幅に増やすことができます。 しかし、ビットコインのようにすでに形作られていてノード数が多いパブリックチェーンの場合、コンセンサスレイヤーでの性急な改善には大きなリスクがあります。 そのため、オフチェーンストレージでセキュリティの高いメインチェーン専用DAを使用して、セキュリティとストレージの問題のバランスをとることができます...ただし、ブロックチェーンの機能は静的ではなく、常に変化していることは注目に値します。 例えば、イーサリアムの初期の機能は、主にスマートコントラクトを使用した資産や取引の支払いと単純な自動処理に限定されていました。 しかし、ブロックチェーンの状況が拡大し続けるにつれて、さまざまなSocialfiおよびDefiプロジェクトが徐々にイーサリアムに追加されています。 イーサリアムをより包括的な方向に発展させる。 最近、ビットコインの碑文生態学の爆発的な増加に伴い、ビットコインネットワークの取引手数料は8月以降20倍近く急増しました。 これは、この段階でのビットコインネットワークの取引速度が取引需要を満たすことができず、トレーダーは取引をできるだけ早く処理するために手数料を上げることしかできないことを反映しています。 現在、ビットコインコミュニティは、高い手数料と遅い取引速度を受け入れるか、ネットワークセキュリティを下げて取引速度を上げるか、支払いシステムの本来の意図を打ち負かすか、トレードオフを行う必要があります。 ビットコインコミュニティが後者を選択した場合、データ圧力の高まりに直面して、対応するストレージソリューションも調整する必要があります。

ビットコインメインネットの取引手数料は変動します、画像ソース:OKLINK

包括的な機能を持つパブリックチェーンはTPSの追求度が高く、ヒストリカルデータの増加はさらに大きくなります。 長期的には、DankShardingのようなソリューションを採用してTPSの急速な成長に適応することは困難です。 したがって、より適切な方法は、データをサード・パーティのDAに移行して保存することです。 その中でも、メインチェーン固有のDAは互換性が最も高く、単一のパブリックチェーンのストレージの問題のみを考慮すると、より多くの利点がある可能性があります。 しかし、レイヤー1パブリックチェーンが繁栄している今日、クロスチェーン資産の転送とデータの相互作用は、ブロックチェーンコミュニティの共通の追求になっています。 ブロックチェーンエコシステム全体の長期的な発展を考慮に入れると、異なるパブリックチェーンの履歴データを同じパブリックチェーンに保存することで、データ交換と検証プロセスにおける多くのセキュリティ問題を排除できます。 したがって、モジュラーDAとストレージパブリックチェーンDAの方法の違いは、より良い選択かもしれません。 モジュラーDAは、近接した汎用性を前提に、ブロックチェーンDAレイヤーサービスの提供に重点を置き、さまざまなパブリックチェーンデータを合理的に分類し、パブリックチェーンデータを保存できる、より洗練されたインデックスデータ管理履歴データを導入します。 よりも多くの利点があります。 ただし、上記のソリューションでは、既存のパブリックチェーン上のコンセンサスレイヤーを調整するコストは考慮されていません。 このプロセスは非常に危険です。 問題が発生すると、システム上の脆弱性につながり、パブリックチェーンがコミュニティのコンセンサスを失う可能性があります。 したがって、ブロックチェーン拡張プロセス中の過渡的な解決策である場合は、メインチェーンの最も単純な一時保管の方が適している可能性があります。 最後に、上記の説明は、実際の運用時の性能に基づいています。 しかし、あるパブリックチェーンの目標が、そのエコロジーを発展させ、より多くのプロジェクト関係者や参加者を惹きつけることである場合、その財団によって支援され、資金提供されているプロジェクトを好むこともあります。例えば、全体的なパフォーマンスがパブリックチェーンストレージソリューションと同等かそれよりわずかに低い場合、イーサリアムコミュニティは、イーサリアムエコシステムの開発を継続するために、イーサリアム財団がサポートするEthStorageなどのレイヤー2プロジェクトを利用する傾向があります。

全体として、今日のブロックチェーンの機能はますます複雑化しており、ストレージスペースの要件も大きくなっています。 十分なレイヤ 1 検証ノードがある場合、ネットワーク全体のすべてのノードで履歴データをバックアップする必要はありません。 バックアップの数が一定の値に達した場合にのみ、相対的なセキュリティが保証されます。同時に、公的チェーンにおける分業もますます詳細になっています。 レイヤー1はコンセンサスと実行を担当し、ロールアップは計算と検証を担当し、データストレージには別のブロックチェーンが使用されます。 各部品は、他の部品の性能によって制限されることなく、特定の機能に集中できます。 しかし、履歴データを格納するためにどの程度のストレージ量やノードの割合を許容するか、セキュリティと効率のバランスをとることができるか、異なるブロックチェーン間の安全な相互運用性をどのように確保するかは、ブロックチェーン開発者が考え、継続的に改善する必要がある問題です。 投資家は、イーサリアムのメインチェーン固有のDAプロジェクトに注目していますが、これは、イーサリアムには現段階ですでに十分なサポーターがおり、その影響力を拡大するために他のコミュニティに頼る必要がないためです。 さらに必要なのは、コミュニティを改善・発展させ、より多くのプロジェクトをイーサリアムエコシステムに引き付けることです。 しかし、SolanaやAptosのようなキャッチアップポジションのパブリックチェーンは、単一のチェーン自体がそのような完全なエコロジーを持っていないため、他のコミュニティと力を合わせて巨大なクロスチェーンエコロジーを構築し、影響力を拡大する傾向があるのかもしれません。 したがって、新興のLayer1、一般的なサードパーティDAは、より注目に値するものです。


Kernel Venturesは、研究開発コミュニティが推進する暗号ベンチャーキャピタルファンドで、インフラストラクチャ、ミドルウェア、dApps、特にZK、Rollup、DEX、モジュラーブロックチェーン、およびアカウントの抽象化、データの可用性、スケーラビリティなど、将来の数十億人の暗号ユーザー向けのオンボーディングバーティカル領域に焦点を当てた70以上の初期段階の投資を行っています。 過去7年間、私たちは世界中のコア開発コミュニティと大学ブロックチェーン協会の成長を支援することに尽力してきました。

免責事項:

  1. この記事は[mirror]からの転載です。 すべての著作権は原作者[Kernel Ventures Jerry Luo]に帰属します。 この転載に異議がある場合は、 Gate Learn チームに連絡していただければ、迅速に対応いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の他言語への翻訳は、Gate Learnチームによって行われます。 特に明記されていない限り、翻訳された記事を複製、配布、盗用することは禁止されています。

Kernel Ventures:データの可用性と履歴データレイヤーの設計

中級1/11/2024, 8:41:07 AM
この記事では、DAパフォーマンス指標、DA関連テクノロジー、DAレイヤー・ストレージ・ソリューションについて調査し、解釈します。
  1. ブロックチェーンの初期段階では、セキュリティと分散化を確保するために、データの一貫性を維持することが非常に重要であると考えられています。 しかし、ブロックチェーンエコシステムの発展に伴い、ストレージの圧力も高まっており、ノード運用の集中化の傾向につながっています。 このような場合、Layer1でのTPSの増加によってもたらされるストレージコストの問題は、早急に解決する必要があります。
  2. この問題に直面した開発者は、セキュリティ、ストレージコスト、データ読み取り速度、およびDAレイヤーの多様性を十分に考慮したソリューションを提案する必要があります。
  3. この問題を解決する過程で、シャーディング、DAS、Verkle Tree、DA中間コンポーネントなど、多くの新しい技術やアイデアが登場しました。 データの冗長性を減らし、データ検証の効率を向上させることで、DAレイヤーのストレージスキームを最適化しようとします。
  4. DAソリューションは、データの保存場所の観点から、メインチェーンDAとサードパーティDAの2種類に大別されます。 メインチェーンDAは、ノードへのストレージ負荷を軽減するために、定期的なデータクレンジングとスライスデータストレージの観点から設計されており、サードパーティDAは、ストレージのニーズに対応し、大量のデータに対する合理的なソリューションを備えているように設計されています。 その結果、主にサードパーティー製DAにおけるシングルチェーン対応とマルチチェーン対応のトレードオフを行い、メインチェーン専用DA、モジュール化DA、ストレージパブリックチェーンDAの3種類のソリューションを提案します。
  5. 決済型のパブリックチェーンは、履歴データのセキュリティに対する要件が非常に高いため、メインチェーンでDAレイヤーとして使用するのに適しています。 しかし、長期間稼働しており、多数のマイナーがネットワークを運営しているパブリックチェーンでは、比較的高いセキュリティでコンセンサスレイヤーの変更を伴わないサードパーティDAを採用する方が適しています。 包括的なパブリックチェーンの場合、メインチェーンの専用DAストレージを使用する方が適しており、データ容量が大きく、コストが低く、セキュリティが確保されています。 しかし、クロスチェーンの需要を考えると、モジュラーDAも良い選択肢です。
  6. 全体として、ブロックチェーンはデータの冗長性とマルチチェーンの分業を減らす方向に進んでいます。

1.背景

分散型台帳として、ブロックチェーンはデータストレージのセキュリティと十分な分散化を確保するために、すべてのノードに履歴データを保存する必要があります。 各状態変化の正しさは以前の状態(トランザクションソース)に関係しているため、トランザクションの正確性を確保するために、ブロックチェーンは原則として最初のトランザクションから現在のトランザクションまでのすべての履歴レコードを保存する必要があります。 イーサリアムを例にとると、平均ブロックサイズを20kbと見積もっても、現在のイーサリアムブロックの合計サイズは370GBに達しています。 ブロック自体に加えて、フルノードはステータスとトランザクションのレシートも記録する必要があります。 この部分を数えると、1ノードの合計ストレージ容量は1TBを超えており、ノードの運用を数人に集中しています。

イーサリアムの最新のブロック高さ、画像出典:Etherscan

2. DAパフォーマンス指標

2.1 安全性

データベースやリンクリストのストレージ構造と比較して、ブロックチェーンの比較不可能な点は、履歴データを通じて新しく生成されたデータを検証する能力に起因しています。 したがって、履歴データのセキュリティを確保することは、DAレイヤーストレージで最初に考慮すべき問題です。 ブロックチェーンシステムのデータセキュリティを判断する際には、データの冗長化量やデータの可用性の検証方法から分析することが多いです。

  1. 冗長性の量:ブロックチェーンシステム内のデータの冗長性に関しては、主に次の役割を果たすことができます。 まず、ネットワーク内の冗長性の数が多い場合、検証者が検証するために特定の履歴ブロックのアカウントステータスを表示する必要がある場合 トランザクションが検証されているときに、参照用のサンプルを最も多く取得し、ほとんどのノードによって記録されたデータを選択できます。 従来のデータベースでは、データは特定のノードにキーと値のペアの形式でのみ保存されるため、履歴データの変更は単一のノードでしか実行できず、攻撃のコストは非常に低くなります。 理論的には、冗長性の数が多いほど、データの可能性は低くなります。 信頼性の度合いが高いほど。 同時に、格納されるノードが多いほど、データが失われる可能性は低くなります。 これは、Web2ゲームを保存する中央集権型サーバーと比較することもできます。 すべてのバックエンド サーバーがシャットダウンされると、サーバーは完全にシャットダウンされます。 ただし、冗長性の各部分が追加のストレージスペースをもたらすため、多ければ多いほど良いです。 過度のデータ冗長性は、システムに過度のストレージ負荷をもたらします。 優れたDAレイヤーは、適切なものを選択する必要があります。 冗長アプローチは、セキュリティとストレージ効率のバランスを取ります。
  2. データの可用性の検証:冗長性の数により、ネットワーク内に十分なデータレコードがあることが保証されますが、使用するデータの正確性と完全性を検証する必要があります。 現在のブロックチェーンで一般的に使用されている検証方法は、ネットワーク全体で記録する小さな暗号化コミットメントを保持する暗号化コミットメントアルゴリズムです。 このコミットメントは、トランザクションデータを混在させることによって得られます。 特定の履歴データの真正性をテストする場合は、データを介して暗号化コミットメントを復元し、この復元によって取得された暗号化コミットメントがネットワーク全体のレコードと一致しているかどうかを確認する必要があります。 整合性が保たれていれば、検証に合格します。 一般的に使用される暗号化検証アルゴリズムには、Verkle Root と Verkle Root があります。 高セキュリティのデータ可用性検証アルゴリズムは、少量の検証データのみを必要とし、履歴データを迅速に検証できます。

2.2 ストレージコスト

基本的なセキュリティの確保を前提に、DA層が達成すべき次のコア目標は、コスト削減と効率の向上です。 1 つ目は、ハードウェアのパフォーマンスの違いに関係なく、ストレージ コストを削減すること、つまり、ユニット サイズのデータを格納することによって発生するメモリ使用量を削減することです。 この段階で、ブロックチェーンのストレージコストを削減する主な方法は、シャーディング技術を採用し、報酬ベースのストレージを使用して、データが効果的に保存されるようにし、データのバックアップの数を減らすことです。 しかし、上記の改善方法から、ストレージコストとデータセキュリティの間にゲーム関係があることは容易に理解できます。 ストレージの占有率を下げることは、多くの場合、セキュリティの低下を意味します。 したがって、優れたDAレイヤーは、ストレージコストとデータセキュリティのバランスをとる必要があります。 また、DA層が独立したパブリックチェーンである場合、データ交換の中間処理を最小限にすることでコストを削減する必要があります。 各転送プロセスでは、後続のクエリ呼び出しのためにインデックスデータを残す必要があります。 したがって、呼び出しプロセスが長くなるほど、より多くのインデックス データが残り、ストレージ コストが増加します。 最後に、データストレージのコストは、データの耐久性に直接関係しています。 一般的に、データのストレージコストが高いほど、パブリックチェーンがデータを永続的に保存することは難しくなります。

2.3 データ読み取り速度

コスト削減を達成した後、次のステップは効率を高めることであり、これは、使用する必要があるときにDAレイヤーからデータをすばやく呼び出す機能です。 このプロセスには 2 つの手順があります。 1 つ目は、データを格納するノードを検索することです。 このプロセスは主に、ネットワーク全体でデータの一貫性を達成していないパブリックチェーン向けです。 パブリックチェーンがネットワーク全体のノードのデータ同期を実現する場合、これは無視できます。 プロセスの所要時間。 第二に、ビットコイン、イーサリアム、ファイルコインを含む現在の主流のブロックチェーンシステムでは、ノードストレージ方式はLeveldbデータベースです。 Leveldb では、データは 3 つの方法で格納されます。 まず、すぐに書き込まれたデータはMemtableタイプのファイルに保存されます。 Memtableストレージがいっぱいになると、ファイルタイプがMemtableからImmutable Memtableに変更されます。 どちらのタイプのファイルもメモリに保存されますが、不変のMemtableファイルは変更できなくなり、データのみを読み取ることができます。 IPFSネットワークで使用されるホットストレージは、この部分にデータを格納します。 呼び出されると、メモリからすばやく読み取ることができます。 しかし、普通のノードのモバイルメモリはGBレベルであることが多く、書き込みが遅くなりやすいため、ノードがクラッシュしたり、その他の異常な状況が発生すると、メモリ内のデータが永久に失われてしまいます。 データを永続的に保存する場合は、ソリッドステートドライブ(SSD)にSSTファイルの形式で保存する必要があります。 ただし、データを読み取るときは、最初にデータをメモリに読み込む必要があるため、データのインデックス作成速度が大幅に低下します。 最後に、共有ストレージを使用するシステムの場合、データの復元には、複数のノードにデータ要求を送信して復元する必要があります。 このプロセスにより、データの読み取り速度も低下します。

Leveldbのデータ保存方法、画像出典:Leveldb-handbook

2.4 DAの一般化

DeFiの発展とCEXのさまざまな問題により、分散型資産のクロスチェーントランザクションに対するユーザーの要求も高まっています。 ハッシュロック、公証人、またはリレーチェーンのクロスチェーンメカニズムに関係なく、両方のチェーンで履歴データを同時に決定することは避けられません。 この問題の鍵は、2つのチェーン上のデータの分離にあり、異なる分散型システムでは直接通信を実現できません。 そこで、この段階では、複数のパブリックチェーンの履歴データを同じトラステッドパブリックチェーンに格納するだけでなく、検証時にこのパブリックチェーン上のデータを呼び出すだけでよいDAレイヤーの格納方法を変更することで解決策を提案します。 缶。 そのためには、DA層が様々なタイプのパブリックチェーンと安全な通信方法を確立できることが必要であり、DA層は汎用性に優れています。

3. DAに関するテクニック

3.1 シャーディング

  1. 従来の分散システムでは、ファイルは特定のノードに完全な形式で保存されません。 代わりに、元のデータは複数のブロックに分割され、各ノードに1つのブロックが格納されます。 多くの場合、ブロックは 1 つのノードだけに保存されるのではなく、他のノードに適切なバックアップが残ります。 既存の主流の分散システムでは、通常、このバックアップ数は 2 に設定されます。このシャーディングメカニズムは、単一ノードのストレージ圧力を軽減し、システムの総容量を各ノードのストレージ容量の合計に拡張すると同時に、適切なデータ冗長性を通じてストレージのセキュリティを確保できます。 ブロックチェーンで採用されているシャーディングスキームは一般的に似ていますが、具体的な詳細は異なります。 まず、ブロックチェーンの各ノードはデフォルトで信頼できないため、シャーディングを実装するプロセスでは、その後のデータの真正性を判断するのに十分な量のデータバックアップが必要になるため、このノードのバックアップ数は2をはるかに超える必要があります。理想的には、このストレージスキームを使用するブロックチェーンシステムでは、検証ノードの総数がTでシャードの数がNの場合、バックアップの数はT/Nである必要があります。 2つ目は、ブロックのストレージプロセスです。 従来の分散システムではノード数が少ないため、1つのノードが複数のデータブロックに適応することがよくあります。 まず、データは、一貫性のあるハッシュアルゴリズムを通じてハッシュリングにマッピングされ、次いで、各ノードは、特定の範囲で番号付けされたデータブロックを格納し、ノードが特定のストレージ中にストレージタスクを割り当てないことを受け入れることができる。 ブロックチェーン上では、各ノードにブロックが割り当てられるかどうかは、もはやランダムなイベントではなく、必然的なイベントです。 各ノードは、ストレージ用のブロックをランダムに選択します。 このプロセスでは、元のデータとブロックおよびノードの情報が結合されます。 データをハッシュ化した結果は、シャード数の剰余を取ることで完了します。 各データがNブロックに分割されていると仮定すると、各ノードの実際のストレージサイズは元のノードの1/Nにすぎません。 Nを適切に設定することで、TPSの増大とノードストレージの負荷のバランスをとることができます。

シャーディング後のデータ保存方法、画像出典:Kernel Ventures

3.2 DAS(Data Availability Sampling:データ可用性サンプリング)

DASテクノロジーは、シャーディングストレージ方法のさらなる最適化に基づいています。 シャーディングプロセス中に、ノードの単純なランダムストレージにより、特定のブロックが失われる可能性があります。 第二に、断片化されたデータの場合、復元プロセス中にデータの信頼性と整合性を確認することも非常に重要です。 DASでは、これら2つの問題は、消しゴムコードとKZG多項式コミットメントによって解決されます。

  1. 消しゴムコード:イーサリアムの膨大な数の検証ノードを考えると、特定のブロックがどのノードにも保存されていない確率はほぼ0ですが、理論的にはそのような極端な状況が発生する可能性はまだあります。 このストレージ損失の脅威を軽減するために、このスキームでは、多くの場合、元のデータはストレージ用のブロックに直接分割されません。 代わりに、元のデータは最初に n 次多項式の係数にマッピングされ、次に多項式から 2n が取得されます。 ポイントをポイントし、ノードがそれらの中からランダムに 1 つを選択してストレージできるようにします。 この n 次多項式の場合、復元に必要なのは n+1 点だけです。 したがって、ノードがブロックの半分を選択するだけで済み、元のデータを復元できます。 消しゴムコードにより、データストレージのセキュリティとネットワークのデータ回復機能が向上します。
  2. データストレージの非常に重要な側面は、データの真正性の検証です。 Eraserコードを使用しないネットワークでは、検証にさまざまな方法を使用できますが、データのセキュリティを向上させるために上記のEraserコードが導入されている場合は、1つのブロックの内容を多項式の形式で直接検証できるため、多項式をバイナリデータに減らす必要がなくなるKZG多項式コミットメントを使用する方が適切です。 KZG多項式コミットメントは、多項式の形で単一のブロックの内容を直接検証できるため、多項式をバイナリデータに還元する必要がなく、検証の全体的な形式はマークルツリーのそれと似ていますが、特定のパスノードデータを必要とせず、ブロックの真正性を検証するためにKZGルートとブロックデータのみを必要とします。

3.3 DAにおけるデータ検証方法

データ検証により、ノードから呼び出されるデータが正確かつ完全であることが保証されます。 検証プロセスに必要なデータ量と計算コストを最小限に抑えるために、DA層は現在、主流の検証方法としてツリー構造を使用しています。 最も簡単な形式は、完全な二分木レコードの形式を使用する検証にマークルツリーを使用することであり、マークルルートを保持するだけで、ノードのパスの反対側にあるサブツリーのハッシュ値を検証でき、検証の時間計算量はO(logN)レベルです(logNはデフォルトのlog2(N)です)。 検証プロセスは大幅に簡素化されましたが、一般的な検証プロセスのデータ量は、データの増加とともに増加します。 検証量の増加の問題を解決するために、この段階で別の検証方法であるVerkle Treeが提案され、Verkle Treeの各ノードは値を格納するだけでなく、元のノードの値とコミットメント証明を使用してデータの真正性を迅速に検証できるVector Commitmentを添付します。 他の姉妹ノードの値を呼び出す必要がないため、各検証の計算が簡単かつ高速になります。 これにより、各検証の計算回数は、固定定数であるVerkle Treeの深さにのみ関連し、検証速度が大幅に高速化されます。 ただし、ベクトルコミットメントの計算には、同じレイヤー内のすべての姉妹ノードの参加が必要であり、データの書き込みと変更のコストが大幅に増加します。 しかし、履歴データのように永久に保存され、改ざんできないデータや、読み出すことはできても書き込むことはできないデータには、Verkle Treeが最適です。 さらに、マークルツリーとVerkleツリー自体にはK-ary形式のバリアントがあり、メカニズムの具体的な実装は似ていますが、各ノードの下のサブツリーの数を変更するだけで、特定のパフォーマンスの比較を次の表に示します。

データ検証手法の時間性能比較、写真提供:Verkle Trees

3.4 汎用DAミドルウェア

ブロックチェーンエコシステムの継続的な拡大により、パブリックチェーンの数が継続的に増加しています。 各パブリックチェーンは、それぞれの分野で優位性があり、かけがえがないため、レイヤー1パブリックチェーンが短期間で統一されることはほぼ不可能です。 しかし、DeFiの発展やCEXのさまざまな問題により、分散型クロスチェーン取引資産に対するユーザーの要求も高まっています。 そのため、クロスチェーンデータインタラクションにおけるセキュリティの問題を解消できるDAレイヤーマルチチェーンデータストレージがますます注目されています。 しかし、異なるパブリックチェーンから履歴データを受け入れるためには、DAレイヤーは、データストリームの標準化された保存と検証のための分散型プロトコルを提供する必要があります。 例えば、Arweaveをベースとしたストレージミドルウェアであるkvyeは、チェーンから積極的にデータを取得し、チェーン上のすべてのデータは、データ転送プロセスの違いを最小限に抑えるために標準形式でArweaveに保存されます。 相対的に言えば、特定のパブリックチェーンにDAレイヤーのデータストレージを特化して提供するLayer2は、内部共有ノードを介してデータと対話します。 インタラクションのコストを削減し、セキュリティを向上させますが、比較的大きな制限があり、サービスを提供する特定のパブリックチェーンにしかデータを提供できます。

4. DAの保存方法

4.1 メインチェーンDA

4.1.1 DankShardingのような

このタイプのストレージソリューションにはまだ明確な名前がなく、最も顕著な代表はイーサリアムのDankShardingであるため、この記事ではこのタイプのソリューションを指すためにDankShardingクラスを使用します。 このタイプのソリューションでは、主に上記の2つのDAストレージテクノロジー(シャーディングとDAS)を使用します。 まず、シャーディングによってデータが適切な共有に分割され、次に各ノードがストレージ用のDAS形式のデータブロックを抽出します。 ネットワーク全体に十分なノードがある場合は、より多くのシャードNを選択できるため、各ノードのストレージ圧力は元の1/Nのみになり、全体的なストレージスペースのN倍の拡張を実現できます。 同時に、特定のブロックがどのブロックにも保存されていないという極端な状況を防ぐために、DankShardingは消しゴムコードを使用してデータをエンコードし、データの半分しか完全に復元できません。 最後のステップはデータ検証プロセスで、Verkle ツリー構造と多項式コミットメントを使用して高速検証を実現します。

4.1.2 一時記憶域

メインチェーンのDAの場合、最も簡単なデータ処理方法の1つは、履歴データを短期的に保存することです。 本質的に、ブロックチェーンは公開台帳の役割を果たし、恒久的なストレージを必要とせずに、台帳コンテンツの変更をネットワーク全体で目撃できるようにします。 Solanaを例にとると、その履歴データはArweaveに同期されますが、メインネットワークノードは過去2日間のトランザクションデータのみを保持します。 アカウント記録に基づくパブリックチェーンでは、各瞬間の履歴データはブロックチェーン上のアカウントの最終ステータスを保持し、次の瞬間の変更の検証基準を提供するのに十分です。 この期間より前にデータに特別なニーズがあるプロジェクトの場合、他の分散型パブリックチェーンに自分で保存するか、信頼できる第三者に保存することができます。 言い換えれば、追加のデータが必要な人は、履歴データの保存に料金を支払う必要があります。

4.2 第三者のDA

4.2.1 メインチェーン固有のDA:EthStorage

  1. メインチェーン固有のDA:DAレイヤーで最も重要なことは、データ送信のセキュリティです。 この時点で最も安全なのは、メインチェーンのDAです。 しかし、メインチェーンの保管は、保管スペースの制限や資源の奪い合いの影響を受けます。 したがって、ネットワーク・データの量が急激に増加した場合、データの長期保存を実現するには、サード・パーティ製DAの方が適しています。 サードパーティのDAがメインネットワークとの互換性が高い場合、ノードの共有を実現でき、データ相互作用プロセス中のセキュリティも高くなります。 したがって、セキュリティを考慮することを前提にすると、メインチェーン固有のDAには大きな利点があります。 イーサリアムを例にとると、メインチェーン固有のDAの基本的な要件は、EVMと互換性があり、イーサリアムのデータやコントラクトとの相互運用性を確保することです。 代表的なプロジェクトとして、Topia、EthStorageなど。 その中で、EthStorageは、EVMレベルでの互換性に加えて、RemixやHardhatなどのEthereum開発ツールと接続するための関連インターフェースを特別に設定し、Ethereum開発ツールレベルでの互換性を実現しているため、互換性の点で現在最も開発されています。
  2. EthStorage:EthStorageはイーサリアムから独立したパブリックチェーンですが、その上で動作するノードはイーサリアムノードよりも優れています。 つまり、EthStorageを実行しているノードは、同時にEthereumも実行できます。 イーサリアムのオペレーションコードを介して、EthStorageに直接アクセスできます。 EthStorage は操作を実行します。 EthStorageのストレージモデルでは、インデックス作成のためにイーサリアムのメインネットに保持されるメタデータはごくわずかで、基本的にイーサリアム用の分散型データベースが作成されます。 現在のソリューションでは、EthStorageは、EthereumメインネットワークにEthStorageコントラクトを展開することにより、EthereumメインネットワークとEthStorage間の相互作用を実装します。 イーサリアムがデータを保存したい場合は、コントラクトでput()関数を呼び出す必要があります。 入力パラメータは2バイト変数keyとdataで、dataは格納するデータを表し、キーはイーサリアムネットワーク内の位置です。 この識別は、IPFSにおけるCIDの存在と類似していると見なすことができます。 (キー、データ)データペアがEthStorageネットワークに正常に保存されると、EthStorageはkvldxを生成してイーサリアムのメインネットワークに返し、イーサリアム上のキーに対応します。 この値はEthStorage上のデータのストレージアドレスに対応しているため、本来は可能だった大量のデータを保存する必要があるという問題が、単一の(キー、kvldx)ペアの保存となり、イーサリアムメインネットのストレージコストを大幅に削減できるようになりました。 以前に保存したデータを呼び出す必要がある場合は、EthStorage の get() 関数を使用して、key パラメーターを入力する必要があります。 イーサリアムに保存されているkvldxを介してEthStorage上のデータをすばやく検索できます。

EthStorage契約、画像出典:Kernel Ventures

  1. ノードが具体的にデータを保存する方法に関して、EthStorageはArweaveモデルを利用しています。 まず、ETHの(k, v)ペアを大量にシャード化します。 各シャーディングには、固定数の (k, v) データペアが含まれています。 また、各 (k, v) ペアの特定のサイズにも制限があります。 このようにして、ストレージ報酬プロセスにおけるマイナーのその後のワークロードの公平性が確保されます。 報酬の発行には、まずノードがデータを格納しているかどうかを確認する必要があります。 このプロセス中、EthStorageはシャーディング(TBレベルサイズ)を多くのチャンクに分割し、検証のためにイーサリアムのメインネットワーク上にVerkleルートを保持します。 次に、マイナーは最初にノンスを提供して、EthStorageの前のブロックのハッシュを使用してランダムアルゴリズムを介していくつかのチャンクのアドレスを生成する必要があります。 マイナーは、シャーディング全体を実際に保存していることを証明するために、これらのチャンクのデータを提供する必要があります。 しかし、このナンスを任意に選択することはできず、そうでなければ、ノードは格納されたチャンクにのみ対応する適切なナンスを選択し、検証に合格します。 したがって、このnonceは、生成されたチャンクの難易度値が、ミキシングとハッシュ後のネットワーク要件を満たすことができ、nonceとランダムアクセス証明を提出した最初のノードのみが報酬を得ることができるようなものでなければならない。

4.2.2 モジュール化DA:セレスティア

  1. ブロックチェーンモジュール:この段階では、レイヤー1パブリックチェーンによって実行される必要があるトランザクションは、主に次の4つの部分に分かれています:(1)ネットワークの基盤となるロジックを設計し、特定の方法で検証ノードを選択し、ブロックを書き込み、ネットワークメンテナーに報酬を割り当てます。(2)トランザクションをパッケージ化して処理し、関連するトランザクションを公開します。(3)チェーンにアップロードされるトランザクションを検証し、最終的なステータスを決定します。(4)ブロックチェーンに履歴データを保存および維持します。 完成したさまざまな機能に応じて、ブロックチェーンをコンセンサス層、実行層、決済層、データ可用性層(DA層)の4つのモジュールに分割できます。
  2. モジュール式ブロックチェーン設計:長い間、これら4つのモジュールはパブリックチェーンに統合されてきました。 このようなブロックチェーンは、シングルブロックチェーンと呼ばれます。 この形式は、より安定しており、維持が容易ですが、単一のパブリックチェーンに大きなプレッシャーをかけることにもなります。 実際の運用では、これら4つのモジュールは互いに制約し合い、パブリックチェーンの限られたコンピューティングおよびストレージリソースをめぐって競合します。 たとえば、処理レイヤーの処理速度を上げると、データ可用性レイヤーへのストレージ負荷が大きくなります。実行層のセキュリティを確保するためには、より複雑な検証メカニズムが必要ですが、トランザクションの処理速度は遅くなります。 したがって、パブリックチェーンの開発は、これら4つのモジュール間のトレードオフに直面することがよくあります。 パブリックチェーンのパフォーマンス向上のボトルネックを突破するために、開発者はモジュール式のブロックチェーンソリューションを提案しました。 モジュラーブロックチェーンの核となる考え方は、上記の4つのモジュールのうち1つ以上を分離し、それらを別のパブリックチェーンに実装することです。 このように、パブリックチェーンは、トランザクション速度やストレージ容量の向上にのみ集中し、欠点によるブロックチェーンの全体的なパフォーマンスに対する以前の制限を突破することができます。
  3. モジュラーDA:DAレイヤーをブロックチェーンビジネスから分離し、パブリックチェーンに引き渡す複雑な方法は、レイヤー1の増大する履歴データに対する実行可能なソリューションと考えられています。このエリアの探査は、現段階ではまだ初期段階にあり、現時点で最も代表的なプロジェクトはセレスティアです。 具体的な保存方法としては、Celestiaはデータを複数のブロックに分割するDankshardingの保存方法を採用しており、各ノードはストレージ用の部分を抽出し、KZG多項式コミットメントを使用してデータの整合性を検証しています。 同時に、Celestiaは高度な2次元RS消去コードを使用しており、元のデータはk行列の形式で書き換えられ、元のデータの25%しか復元できません。 ただし、データシャーディングストレージは、基本的に、ネットワークノード全体のストレージ負荷に、総データ量の係数を掛けるだけです。 ノードのストレージ負荷とデータ量は、依然として直線的な増加を維持しています。 レイヤー 1 はトランザクション速度を向上させ続けていますが、ノードのストレージの負荷は、ある日、許容できない臨界レベルに達する可能性があります。 この問題を解決するために、IPLDコンポーネントがCelestiaに導入され、処理されます。 for kk行列のデータはCelestiaに直接保存されず、LL-IPFSネットワークに保存され、IPFS上のデータのCIDコードのみがノードに保持されます。 ユーザーが履歴データを要求すると、ノードは対応するCIDをIPLDコンポーネントに送信し、元のデータはこのCIDを介してIPFSで呼び出されます。 データがIPFS上に存在する場合は、IPLDコンポーネントおよびノードを介して返されます。存在しない場合、データを返すことはできません。

Celestiaデータ読み取り方法、画像提供:Celestia Core

  1. セレスティア:セレスティアを例にとると、イーサリアムのストレージ問題を解決するためのモジュラーブロックチェーンの応用を垣間見ることができます。 Rollup ノードは、パッケージ化および検証されたトランザクションデータを Celestia に送信し、そのデータを Celestia に保存します。 このプロセスの間、セレスティアは過度に意識することなくデータを保存するだけです。 最後に、ロールアップノードはストレージスペースのサイズに応じてロールされます。 対応するティアトークンは、保管料としてセレスティアに支払われます。 Celstiaのストレージは、EIP4844と同様のDASと消去コードを利用していますが、EIP4844の多項式消去コードはアップグレードされ、2次元RS消去コードを使用してストレージセキュリティが再度アップグレードされます。 トランザクション・データ全体をリストアできるフラクチャは25%のみです。 基本的には、保管コストの低いPOSパブリックチェーンにすぎません。 イーサリアムのヒストリカルデータストレージの問題を解決するために使用する場合、Celestiaと連携するために他の多くの特定のモジュールが必要です。 たとえば、ロールアップに関しては、Celestiaの公式Webサイトで強く推奨されているロールアップモードはソブリンロールアップです。 レイヤー 2 の一般的なロールアップとは異なり、トランザクションは計算と検証のみ、つまり実行レイヤーの操作が完了します。 ソブリンロールアップには、実行と決済のプロセス全体が含まれているため、Celestiaでのトランザクションの処理が最小限に抑えられます。 Celestiaの全体的なセキュリティがEthereumよりも弱い場合、この措置により、トランザクションプロセス全体のセキュリティを最大化できます。 イーサリアムのメインネットワークであるセレスティアが呼び出すデータのセキュリティを確保するという点で、現時点で最も主流のソリューションは量子重力ブリッジスマートコントラクトです。 Celestiaに保存されたデータについては、Verkle Root(データの可用性の証明)を生成し、イーサリアムのメインネットワークの量子重力ブリッジコントラクトに保持します。 イーサリアムがCelestiaのヒストリカルデータを呼び出すたびに、そのハッシュ結果がVerkle Rootと比較され、一致すれば確かに本物のヒストリカルデータであることを意味します。

4.2.3 ストレージチェーンDA

メインチェーンDAの技術原則に関しては、シャーディングに似た多くの技術がストレージパブリックチェーンから借用されています。 サードパーティのDAの中には、ストレージパブリックチェーンを直接使用して、一部のストレージタスクを完了するものもあります。 例えば、Celestiaの特定のトランザクションデータはLL-IPFSネットワーク上に配置されます。 サードパーティのDAソリューションでは、Layer1のストレージの問題を解決するために別のパブリックチェーンを構築することに加えて、より直接的な方法は、ストレージパブリックチェーンをLayer1に直接接続して、Layer1に膨大な履歴データを格納することです。 高性能ブロックチェーンの場合、履歴データの量はさらに大きくなります。 フルスピードで稼働させると、高性能パブリックチェーン「Solana」のデータ量は4PG近くになり、通常のノードのストレージ範囲を完全に超えています。 Solanaが選択したソリューションは、分散型ストレージネットワークArweaveに履歴データを保存し、検証のためにメインネットワークノードに2日分のデータのみを保持するというものです。 ストアドプロセスのセキュリティを確保するために、SolanaとArweave Chainは、ストレージブリッジプロトコルであるSolar Bridgeを特別に設計しました。 Solanaノードによって検証されたデータはArweaveに同期され、対応するタグが返されます。 このタグを介してのみ、SolanaノードはSolanaブロックチェーンの履歴データをいつでも表示できます。 Arweaveでは、すべてのネットワークノードがデータの一貫性を維持し、これをネットワーク運用に参加するためのしきい値として使用する必要はありません。 代わりに、報酬ストレージが採用されます。 まず第一に、Arweaveはブロックを構築するために従来のチェーン構造を使用せず、グラフ構造に似ています。 Arweaveでは、新しいブロックは前のブロックを指すだけでなく、生成されたブロックのリコールブロックをランダムに指し示します。 リコールブロックの具体的な位置は、前のブロックのハッシュ結果とブロックの高さによって決定されます。 リコールブロックの場所は、前のブロックが採掘されるまで不明です。 ただし、新しいブロックを生成するプロセスでは、POWメカニズムを使用して指定された難易度のハッシュを計算するために、ノードにRecall Blockデータが必要です。 難易度を満たしたハッシュを最初に計算したマイナーのみが報酬を得ることができ、マイナーはできるだけ多くのものを保管することを奨励します。 履歴データ。 同時に、特定の履歴ブロックを保管する人が少なければ少ないほど、ノードは困難を満たすナンスを生成する際の競争相手が少なくなり、マイナーがネットワークに保管するブロックが少なくなります。 最後に、ノードがArweaveにデータを永続的に保存できるように、WildFireのノードスコアリングメカニズムを導入しています。 ノードは、より多くの履歴データをより速く提供できるノードと通信する傾向がありますが、レーティングの低いノードは、最新のブロックデータやトランザクションデータをできるだけ早く取得できないことが多く、POW競争を利用できません...

Arweaveブロック工法、画像出典:Arweave Yellow-Paper

5. 合成比較

次に、DAパフォーマンス指標の4つの側面に基づいて、5つのストレージソリューションの長所と短所を比較します。

  1. セキュリティ:データセキュリティ問題の最大の原因は、データ送信プロセス中に発生する損失と、不正なノードからの悪意のある改ざんです。 クロスチェーンプロセスでは、2つのパブリックチェーンの独立性と状態により、データ伝送のセキュリティが最も大きな打撃を受けた分野の1つです。 また、現在専用のDAレイヤーが必要なレイヤー1は、強いコンセンサスグループを持つことが多く、そのセキュリティは通常のストレージパブリックチェーンよりもはるかに高くなります。 したがって、メインチェーンDAソリューションはより高いセキュリティを備えています。 データ送信のセキュリティを確保した後、次のステップは、通話データのセキュリティを確保することです。 トランザクションの検証に使用される短期のヒストリカル・データのみが考慮される場合は、一時ストレージ・ネットワーク内のネットワーク全体で同じデータがバックアップされます。 DankShardingのようなソリューションでは、データバックアップの平均数は、ネットワーク全体のノード数のわずか1/Nです。 では、データの冗長性を高めることで、データが失われる可能性が低くなり、検証中により多くの参照サンプルを提供することもできます。 したがって、一時ストレージは比較的高いデータ・セキュリティーを持ちます。 サードパーティのDAソリューションでは、メインチェーン固有のDAはメインチェーンでパブリックノードを使用し、クロスチェーンプロセス中にこれらのリレーノードを介してデータを直接送信できるため、他のDAソリューションよりも比較的高いセキュリティを備えています。
  2. ストレージ コスト: ストレージ コストに影響を与える最大の要因は、データの冗長性の量です。 メインチェーンDAの短期ストレージソリューションでは、ネットワークノード全体のデータ同期の形で保存されます。 新しく保存されたデータは、ストレージコストが最も高いネットワークノード全体でバックアップする必要があります。 ストレージコストが高いため、この方法は高TPSネットワークの一時ストレージにのみ適しています。 2つ目はシャーディングの保存方法であり、メインチェーンでのシャーディングとサードパーティDAでのシャーディングが含まれます。 メインチェーンにはより多くのノードがあることが多いため、対応するブロックにもより多くのバックアップがあるため、メインチェーンのシャーディングソリューションのコストが高くなります。 最も低いストレージコストは、報酬ストレージ方式を採用したストレージパブリックチェーンDAです。 このスキームでは、データの冗長性の量は、多くの場合、固定定数の周りで変動します。 同時に、ストレージパブリックチェーンDAには動的な調整メカニズムも導入され、データセキュリティを確保するための報酬を増やすことで、バックアップの少ないデータを保存するノードを引き付けます。
  3. データの読み取り速度:データの保存速度は、主にストレージスペース内のデータの保存場所、データインデックスパス、およびノード内のデータの分布の影響を受けます。 その中でも、メモリやSSDにデータを保存すると読み取り速度が数十倍異なる可能性があるため、ノード上のデータの保存場所が速度に大きな影響を与えます。 パブリックチェーンDAのストレージは、このチェーンの負荷がDAレイヤーのデータだけでなく、ユーザーがアップロードした動画や写真など、メモリ使用量の多い個人データも含まれるため、主にSSDストレージを使用します。 ネットワークがストレージスペースとしてSSDを使用しない場合、巨大なストレージ圧力を運び、長期的なストレージのニーズを満たすことは困難です。 第 2 に、メモリ状態を使用してデータを格納するサードパーティ DA およびメインチェーン DA の場合、サードパーティ DA はまずメイン チェーン内の対応するインデックス データを検索し、次にチェーン全体のインデックス データをサードパーティ DA に転送し、ストレージ ブリッジ データを介して返す必要があります。 対照的に、メインチェーンDAはノードから直接データを照会できるため、データ取得速度が速くなります。 最後に、メインチェーンDA内では、シャーディングメソッドでは、複数のノードからBlockを呼び出し、元のデータを復元する必要があります。 したがって、断片化されたストレージのない短期ストレージと比較して、速度は遅くなります。
  4. DA層の普遍性:ストレージ容量が不十分なパブリックチェーン上のデータを、ストレージ容量が不十分な別のパブリックチェーンに転送することは不可能であるため、メインチェーンのDA普遍性はゼロに近い。 サードパーティDAでは、ソリューションの汎用性と特定のメインチェーンとの互換性は相反する指標です。 例えば、あるメインチェーン向けに設計されたメインチェーン固有のDAソリューションでは、パブリックチェーンに適応するために、ノードタイプやネットワークコンセンサスレベルで多くの改善が行われています。 したがって、これらの改善は、他のパブリックチェーンと通信する際に役割を果たします。 大きな障害です。 サードパーティDA内では、ストレージパブリックチェーンDAは、モジュラーDAと比較して汎用性の点で優れています。 ストレージパブリックチェーンDAには、より大きな開発者コミュニティとより多くの拡張施設があり、さまざまなパブリックチェーンの条件に適応できます。 同時に、ストレージパブリックチェーンDAは、他のパブリックチェーンから送信された情報を受動的に受信するのではなく、パケットキャプチャを通じてより能動的にデータを取得する。 したがって、独自の方法でデータをエンコードし、データストリームの標準化されたストレージを実現し、さまざまなメインチェーンからのデータ情報の管理を容易にし、ストレージ効率を向上させることができます。

ストレージソリューションのパフォーマンス比較、画像提供:Kernel Ventures

6. まとめ

現在のブロックチェーンは、暗号からより包括的なWeb3への変革を遂げています。 このプロセスは、ブロックチェーン上のプロジェクトの豊かさをもたらすだけではありません。 GamefiやSocialfiのプロジェクトの体験を確保しながら、Layer1で非常に多くのプロジェクトの同時運用に対応するために、Ethereumに代表されるLayer1は、RollupやBlobsなどの手法を採用してTPSを向上させています。 新しいブロックチェーンの中でも、高性能なブロックチェーンの数も増えています。 しかし、TPSが高いほど、パフォーマンスが向上するだけでなく、ネットワークへのストレージ負荷も高まります。 膨大な履歴データについては、現在、メインチェーンとサードパーティに基づくさまざまなDAメソッドが提案されており、オンチェーンのストレージ圧力の増加に適応しています。 それぞれの改善方法には長所と短所があり、状況によって適用性が異なります。

決済に重点を置いたブロックチェーンは、履歴データのセキュリティに対する要求が極めて高く、特に高いTPSを追求しているわけではありません。 このタイプのパブリックチェーンがまだ準備段階にある場合は、DankShardingのようなストレージ方法を採用できるため、セキュリティを確保しながらストレージ容量を大幅に増やすことができます。 しかし、ビットコインのようにすでに形作られていてノード数が多いパブリックチェーンの場合、コンセンサスレイヤーでの性急な改善には大きなリスクがあります。 そのため、オフチェーンストレージでセキュリティの高いメインチェーン専用DAを使用して、セキュリティとストレージの問題のバランスをとることができます...ただし、ブロックチェーンの機能は静的ではなく、常に変化していることは注目に値します。 例えば、イーサリアムの初期の機能は、主にスマートコントラクトを使用した資産や取引の支払いと単純な自動処理に限定されていました。 しかし、ブロックチェーンの状況が拡大し続けるにつれて、さまざまなSocialfiおよびDefiプロジェクトが徐々にイーサリアムに追加されています。 イーサリアムをより包括的な方向に発展させる。 最近、ビットコインの碑文生態学の爆発的な増加に伴い、ビットコインネットワークの取引手数料は8月以降20倍近く急増しました。 これは、この段階でのビットコインネットワークの取引速度が取引需要を満たすことができず、トレーダーは取引をできるだけ早く処理するために手数料を上げることしかできないことを反映しています。 現在、ビットコインコミュニティは、高い手数料と遅い取引速度を受け入れるか、ネットワークセキュリティを下げて取引速度を上げるか、支払いシステムの本来の意図を打ち負かすか、トレードオフを行う必要があります。 ビットコインコミュニティが後者を選択した場合、データ圧力の高まりに直面して、対応するストレージソリューションも調整する必要があります。

ビットコインメインネットの取引手数料は変動します、画像ソース:OKLINK

包括的な機能を持つパブリックチェーンはTPSの追求度が高く、ヒストリカルデータの増加はさらに大きくなります。 長期的には、DankShardingのようなソリューションを採用してTPSの急速な成長に適応することは困難です。 したがって、より適切な方法は、データをサード・パーティのDAに移行して保存することです。 その中でも、メインチェーン固有のDAは互換性が最も高く、単一のパブリックチェーンのストレージの問題のみを考慮すると、より多くの利点がある可能性があります。 しかし、レイヤー1パブリックチェーンが繁栄している今日、クロスチェーン資産の転送とデータの相互作用は、ブロックチェーンコミュニティの共通の追求になっています。 ブロックチェーンエコシステム全体の長期的な発展を考慮に入れると、異なるパブリックチェーンの履歴データを同じパブリックチェーンに保存することで、データ交換と検証プロセスにおける多くのセキュリティ問題を排除できます。 したがって、モジュラーDAとストレージパブリックチェーンDAの方法の違いは、より良い選択かもしれません。 モジュラーDAは、近接した汎用性を前提に、ブロックチェーンDAレイヤーサービスの提供に重点を置き、さまざまなパブリックチェーンデータを合理的に分類し、パブリックチェーンデータを保存できる、より洗練されたインデックスデータ管理履歴データを導入します。 よりも多くの利点があります。 ただし、上記のソリューションでは、既存のパブリックチェーン上のコンセンサスレイヤーを調整するコストは考慮されていません。 このプロセスは非常に危険です。 問題が発生すると、システム上の脆弱性につながり、パブリックチェーンがコミュニティのコンセンサスを失う可能性があります。 したがって、ブロックチェーン拡張プロセス中の過渡的な解決策である場合は、メインチェーンの最も単純な一時保管の方が適している可能性があります。 最後に、上記の説明は、実際の運用時の性能に基づいています。 しかし、あるパブリックチェーンの目標が、そのエコロジーを発展させ、より多くのプロジェクト関係者や参加者を惹きつけることである場合、その財団によって支援され、資金提供されているプロジェクトを好むこともあります。例えば、全体的なパフォーマンスがパブリックチェーンストレージソリューションと同等かそれよりわずかに低い場合、イーサリアムコミュニティは、イーサリアムエコシステムの開発を継続するために、イーサリアム財団がサポートするEthStorageなどのレイヤー2プロジェクトを利用する傾向があります。

全体として、今日のブロックチェーンの機能はますます複雑化しており、ストレージスペースの要件も大きくなっています。 十分なレイヤ 1 検証ノードがある場合、ネットワーク全体のすべてのノードで履歴データをバックアップする必要はありません。 バックアップの数が一定の値に達した場合にのみ、相対的なセキュリティが保証されます。同時に、公的チェーンにおける分業もますます詳細になっています。 レイヤー1はコンセンサスと実行を担当し、ロールアップは計算と検証を担当し、データストレージには別のブロックチェーンが使用されます。 各部品は、他の部品の性能によって制限されることなく、特定の機能に集中できます。 しかし、履歴データを格納するためにどの程度のストレージ量やノードの割合を許容するか、セキュリティと効率のバランスをとることができるか、異なるブロックチェーン間の安全な相互運用性をどのように確保するかは、ブロックチェーン開発者が考え、継続的に改善する必要がある問題です。 投資家は、イーサリアムのメインチェーン固有のDAプロジェクトに注目していますが、これは、イーサリアムには現段階ですでに十分なサポーターがおり、その影響力を拡大するために他のコミュニティに頼る必要がないためです。 さらに必要なのは、コミュニティを改善・発展させ、より多くのプロジェクトをイーサリアムエコシステムに引き付けることです。 しかし、SolanaやAptosのようなキャッチアップポジションのパブリックチェーンは、単一のチェーン自体がそのような完全なエコロジーを持っていないため、他のコミュニティと力を合わせて巨大なクロスチェーンエコロジーを構築し、影響力を拡大する傾向があるのかもしれません。 したがって、新興のLayer1、一般的なサードパーティDAは、より注目に値するものです。


Kernel Venturesは、研究開発コミュニティが推進する暗号ベンチャーキャピタルファンドで、インフラストラクチャ、ミドルウェア、dApps、特にZK、Rollup、DEX、モジュラーブロックチェーン、およびアカウントの抽象化、データの可用性、スケーラビリティなど、将来の数十億人の暗号ユーザー向けのオンボーディングバーティカル領域に焦点を当てた70以上の初期段階の投資を行っています。 過去7年間、私たちは世界中のコア開発コミュニティと大学ブロックチェーン協会の成長を支援することに尽力してきました。

免責事項:

  1. この記事は[mirror]からの転載です。 すべての著作権は原作者[Kernel Ventures Jerry Luo]に帰属します。 この転載に異議がある場合は、 Gate Learn チームに連絡していただければ、迅速に対応いたします。
  2. 免責事項:この記事で表明された見解や意見は、著者のものであり、投資アドバイスを構成するものではありません。
  3. 記事の他言語への翻訳は、Gate Learnチームによって行われます。 特に明記されていない限り、翻訳された記事を複製、配布、盗用することは禁止されています。
Comece agora
Registe-se e ganhe um cupão de
100 USD
!
It seems that you are attempting to access our services from a Restricted Location where Gate is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.