作成者: Jerry Luo、Kernel Ventures
1.初期のパブリックチェーンでは、セキュリティと分散化を確保するために、ネットワーク全体のノードがデータの一貫性を維持する必要がありました。 しかし、ブロックチェーンエコシステムの発展に伴い、ストレージの圧力は高まり続けており、その結果、ノード運用の集中化が進んでいます。 この段階では、レイヤー 1 は TPS の増大によって引き起こされるストレージ コストの問題を早急に解決する必要があります。
2.この問題に直面して、開発者は、セキュリティ、ストレージコスト、データ読み取り速度、およびDAレイヤーの汎用性を考慮することを前提として、新しい履歴データストレージスキームを提案する必要があります。
3.この問題を解決する過程で、シャーディング、DAS、Verkle Tree、DA中間コンポーネントなど、多くの新しいテクノロジーとアイデアが登場しました。 彼らは、データの冗長性を減らし、データ検証の効率を向上させることで、DAレイヤーのストレージスキームを最適化しようとしました。
4.現在のDAスキームは、データの保存場所の観点から、メインチェーンDAとサードパーティDAの2つのカテゴリに大別されます。 メインチェーンDAは、定期的にデータをクリーニングし、データストレージをシャーディングして、ノードのストレージ負荷を軽減するという観点に基づいています。 サード・パーティのDA設計要件は、ストレージを提供し、大量のデータに対応する合理的なソリューションを提供するように設計されています。 そのため、主にシングルチェーン対応とマルチチェーン対応のトレードオフとなり、メインチェーン専用DA、モジュラーDA、ストレージパブリックチェーンDAの3つのソリューションが提案されています。
5.決済ベースのパブリックチェーンは、履歴データのセキュリティに対する要件が非常に高いため、メインチェーンをDAレイヤーとして使用するのに適しています。 しかし、長く稼働し、多数のマイナーがネットワークを運営しているパブリックチェーンでは、コンセンサスレイヤーを伴わず、セキュリティに配慮したサードパーティのDAを採用する方が適切です。 包括的なパブリックチェーンは、より大きなデータ容量、低コスト、およびセキュリティを備えたメインチェーン専用のDAストレージの使用に適しています。 しかし、クロスチェーンの必要性を考えると、モジュラーDAも良い選択肢です。
6.一般的に、ブロックチェーンはデータの冗長性とマルチチェーンの分業を減らす方向に発展しています。
分散型台帳として、ブロックチェーンはデータストレージのセキュリティと分散化を確保するために、すべてのノードに履歴データを保存する必要があります。 各状態変化の正しさは、以前の状態(トランザクションのソース)に関係しているため、トランザクションの正確性を確保するために、ブロックチェーンは原則として、最初のトランザクションから現在のトランザクションまでのすべての履歴を保存する必要があります。 イーサリアムを例にとると、各ブロックの平均サイズを20kbと見積もっても、現在のイーサリアムブロックの合計サイズは370GBに達しており、フルノードはブロック自体に加えて状態とトランザクションのレシートを記録する必要があります。 この部分を数えると、1ノードの総ストレージ容量が1TBを超えており、ノードの運用が少人数に集中しています。
イーサリアムの最新のブロック高さ、画像出典:Etherscan
データベースやリンクリストのストレージ構造と比較して、ブロックチェーンの不変性は、新しく生成されたデータを履歴データから検証できるという事実に由来するため、その履歴データのセキュリティを確保することは、DAレイヤーストレージの最初の考慮事項です。 ブロックチェーンシステムのデータセキュリティの評価では、データの冗長化量やデータ可用性の検証方法を分析することが多いです
冗長性の数:ブロックチェーンシステム内のデータの冗長性については、主に次の役割を果たすことができます:まず、ネットワーク内の冗長性の数が多い場合、バリデーターが現在のトランザクションを検証するために履歴ブロックのアカウントステータスを確認する必要がある場合、参照用の最大数のサンプルを取得し、大多数のノードによって記録されたデータを選択できます。 従来のデータベースでは、データは特定のノードにキーと値のペアの形式でのみ格納されるため、1つのノードのみで履歴データを変更する攻撃コストは非常に低く、理論的にはデータの冗長性が高いほどデータの信頼性が高くなります。 同時に、格納するノードが多いほど、データが失われる可能性は低くなります。 これは、Web2ゲームを保存する中央集権型サーバーと比較することもでき、すべてのバックエンドサーバーがシャットダウンされると、完全にシャットダウンされます。 ただし、冗長性が高ければ多いほどストレージ容量が増え、データの冗長性が高すぎるとシステムに過度のストレージ負荷がかかるため、優れたDAレイヤーはセキュリティとストレージ効率のバランスを取るために適切な冗長性方法を選択する必要があります。
データの可用性チェック:冗長性により、ネットワーク内に十分なデータレコードがあることが保証されますが、使用するデータの正確性と完全性も検証する必要があります。 この段階では、ブロックチェーンで一般的に使用される検証方法は、ネットワーク全体が記録する小さな暗号化コミットメントを保持し、このコミットメントはトランザクションデータを混合することによって取得される暗号化コミットメントアルゴリズムです。 履歴データの信憑性をテストするには、データを介して暗号化の約束を復元し、復元によって得られた暗号化の約束がネットワーク全体の記録と一致しているかどうかを確認し、一貫性があれば検証に合格する必要があります。 一般的に使用されるパスワード検証アルゴリズムは、Merkle Root と Verkle Root です。 高セキュリティのデータ可用性検証アルゴリズムは、検証データをほとんど必要とせず、履歴データを迅速に検証できます。
基本的なセキュリティの確保を前提に、DAレイヤーで達成すべき次のコア目標は、コスト削減と効率化です。 1 つ目は、ストレージ コストを削減すること、つまり、ハードウェアのパフォーマンスの違いを考慮せずに、単位サイズあたりのデータを保存することによって引き起こされるメモリ フットプリントを削減することです。 この段階で、ブロックチェーンのストレージコストを削減する主な方法は、シャーディングテクノロジーを採用し、報酬付きストレージを使用してデータが効果的に保存されるようにし、データのバックアップの数を減らすことです。 しかし、上記の改善方法から、ストレージコストとデータセキュリティの間にはゲーム関係があることが分かりにくくなく、ストレージ占有率を下げることは、セキュリティの低下を意味することが多い。 したがって、優れたDAレイヤーは、ストレージコストとデータセキュリティのバランスを取る必要があります。 また、DA層が独立したパブリックチェーンである場合、データ交換の中間処理を最小限にすることでコストダウンも必要であり、各トランジット処理における後続のクエリ呼び出しのためにインデックスデータを残す必要があるため、呼び出し処理が長くなるほど、より多くのインデックスデータが残され、ストレージコストが増加する。 最後に、データストレージのコストは、データの耐久性に直接関係します。 一般に、データのストレージコストが高いほど、パブリックチェーンがデータを永続的に保存することは難しくなります。
コスト削減が達成されたら、次のステップは効率の向上であり、これは、使用する必要があるときにDAレイヤーからデータをすばやく呼び出す機能です。 このプロセスには2つのステップがあり、1つ目はデータを格納するノードを検索することであり、このプロセスは主にネットワーク全体のデータ整合性を達成していないパブリックチェーンを対象としており、パブリックチェーンがネットワーク全体のノードのデータ同期を達成している場合、このプロセスの時間消費は無視できます。 第二に、ビットコイン、イーサリアム、ファイルコインを含むこの段階の主流のブロックチェーンシステムでは、ノードストレージ方法はLeveldbデータベースです。 Leveldb では、データは 3 つの方法で格納されます。 1つ目は、その場で書き込まれたデータをmemtable型のファイルに格納され、memtableがいっぱいになると、ファイルの種類がmemtableからimmutable memtableに変更されることです。 どちらのタイプのファイルもメモリに格納されますが、不変のMemtableファイルは変更できなくなり、そこからデータを読み取ることしかできません。 IPFSネットワークで使われているホットストレージは、この部分にデータを格納しており、呼び出されるとメモリから素早く読み出すことができますが、通常のノードのモバイルメモリはギガバイトレベルであることが多く、書き込みが遅くなりやすく、ノードがダウンするなどの異常状態になると、メモリ内のデータが永久に失われてしまいます。 データを永続的に保存する場合は、ソリッドステートドライブ(SSD)にSSTファイルとして保存する必要がありますが、最初にデータをメモリに読み込む必要があるため、データのインデックス作成速度が大幅に低下します。 最後に、シャードストレージを備えたシステムの場合、データの復元には複数のノードにデータ要求を送信して復元する必要があるため、データの読み取り速度も遅くなります。
Leveldbデータ保存方法、画像出典:Leveldb-handbook
DeFiの発展とCEXの問題により、分散型資産のクロスチェーン取引の需要も高まっています。 ハッシュロックのクロスチェーンメカニズム、公証人、リレーチェーンのいずれであっても、2つのチェーンの履歴データを同時に決定することは避けられません。 この問題の核心は、2つのチェーン上のデータの分離にあり、異なる分散型システムでは直接通信を実現できません。 そこで、この段階では、複数のパブリックチェーンの履歴データを同じトラステッドパブリックチェーンに格納し、検証時にこのパブリックチェーン上のデータを呼び出すだけでよいDAレイヤーのストレージモードを変更することで解決策を提案します。 これには、DA層がさまざまなタイプのパブリックチェーンとの安全な通信方法を確立できること、つまりDA層が優れた汎用性を備えていることが必要です。
※従来の分散システムでは、ノード上に完全な形でファイルを格納するのではなく、元のデータを複数のブロックに分割し、各ノードにブロックを格納します。 また、ブロックは 1 つのノードだけでなく、他のノードにも適切なバックアップが保存される傾向があり、既存の主流の分散システムでは通常 2 に設定されます。 このシャーディングメカニズムにより、単一ノードのストレージ負荷を軽減し、システムの総容量を各ノードのストレージ容量の合計に拡張し、適切なデータ冗長性を通じてストレージのセキュリティを確保できます。 ブロックチェーンで採用されているシャーディングアプローチはおおむね似ていますが、詳細に違いがあります。 まず、ブロックチェーンの各ノードはデフォルトで信頼できないため、シャーディングを実装する過程で、その後のデータの真正性のためにバックアップするのに十分な量のデータが必要になるため、このノードのバックアップ数は2をはるかに超える必要があります。 理想的には、このストレージスキームのブロックチェーンシステムでは、バリデータの総数がTでシャードの数がNの場合、バックアップの数はT/Nである必要があります。 2つ目はブロックのストレージ手順であり、従来の分散システムはノードが少ないため、複数のデータブロックに適応するノードであることが多く、1つ目は一貫したハッシュアルゴリズムを介してデータをハッシュリングにマッピングすることであり、次に各ノードは特定の範囲に多数のデータブロックを格納し、ノードが特定のストレージにストレージタスクを割り当てないことを受け入れることができます。 ブロックチェーン上では、各ノードがブロックに割り当てられるかどうかは、もはやランダムなイベントではなく、必然的なイベントであり、各ノードはストレージ用のブロックをランダムに選択し、ブロックの元のデータとノード自身の情報でデータハッシュの結果でシャードの数を計算することで完了します。 各データが N 個のブロックに分割されていると仮定すると、各ノードの実際のストレージ サイズは元のサイズの 1/N にすぎません。 Nを適切に設定することにより、増大するTPSとノードのストレージ圧力とのバランスをとることができます。
シャーディング後のデータの保存方法、画像出典:Kernel Ventures
DASテクノロジーは、保存方法に関するシャーディングのさらなる最適化に基づいています。 シャーディングの過程で、ノードの単純なランダムストレージにより、特定のブロックが失われる可能性があります。 第二に、シャード化されたデータの場合、復元プロセス中にデータの信頼性と整合性をどのように確認するかも非常に重要です。 DAS では、これらの問題は両方とも、消しゴム符号と KZG 多項式コミットメントによって対処されます。
消しゴムコード:イーサリアム上の膨大な数のバリデーターを考えると、ブロックがどのノードにも保存されない確率はほぼゼロですが、理論的にはそのような極端な状況が発生する可能性はまだあります。 このストレージ損失の脅威を軽減するために、元のデータを直接ブロックに分割して保存するのではなく、元のデータをn次多項式の係数にマッピングし、多項式で2n個の点を取得し、ノードがそのうちの1つをランダムに選択します。 このn次多項式では、復元に必要なのはn+1点のみであるため、元のデータを復元するためにノードがブロックの半分を選択するだけで済みます。 消しゴムコードにより、データストレージのセキュリティとネットワークのデータを回復する能力が向上します。
KZG多項式の約束:データストレージの非常に重要な部分は、データの真正性の検証です。 Eraserコードを使用しないネットワークでは、プロセスを検証するさまざまな方法がありますが、データのセキュリティを向上させるために上記のEraserコードが導入されている場合は、KZG多項式コミットメントを使用する方が適切です。 KZG多項式は、多項式の形で単一のブロックの内容を直接検証することを約束し、多項式をバイナリデータに復元する必要性を排除し、検証形式は一般的にマークルツリーのそれと似ていますが、特定のパスノードデータは必要なく、その真正性を検証するために必要なのはKZGルートとブロックデータのみです。
データ検証は、ノードから呼び出されたデータが改ざんされたり、失われたりしていないことを確認します。 検証プロセスに必要なデータ量と計算コストを可能な限り削減するために、DA層は現在、検証手法の主流としてツリー構造を採用しています。 最も単純な形式は、完全な二分木の形式で記録され、マークルルートとサブツリーのハッシュ値を検証対象のノードパスの反対側に保持するだけでよく、検証の時間計算量はO(logN)レベルです(数値が基づいていない場合、logNはデフォルトでlog2(N)になります)。 検証プロセスは大幅に簡素化されましたが、通常、データの増加に伴い、検証プロセスのデータ量も増加しています。 検証量を増やすという問題を解決するために、この段階で別の検証方法であるVerkle Treeが提案されています。 価値を格納することに加えて、Verkle Treeの各ノードにはVector Commitmentも付属しており、元のノードの値とこのコミットメント証明により、他の姉妹ノードの値を呼び出さずにデータの真正性をすばやく検証できるため、各検証の計算数は固定定数であるVerkle Treeの深さにのみ関連しているため、検証速度が大幅に向上します。 ただし、ベクトルコミットメントの計算では、同じレイヤー内のすべての姉妹ノードが関与する必要があるため、データの書き込みと変更のコストが大幅に増加します。 ただし、永続的に保存され、改ざんできない履歴データの場合、Verkle Treeは非常に適しています。 また、マークルツリーとバークルツリーにはK-ary形式のバリアントもあり、それらの具体的な実装メカニズムは似ていますが、各ノードの下のサブツリーの数が変更されており、それらの特定のパフォーマンスの比較を次の表に示します。
データ検証手法と時間性能の比較、画像提供:Verkle Trees
ブロックチェーンの生態学の継続的な拡大により、パブリックチェーンの数が増加しています。 各パブリックチェーンは、それぞれの分野において優位性があり、かけがえがえのないものであるため、Layer1パブリックチェーンが短期間で統一されることはほぼ不可能です。 しかし、DeFiの発展とCEXの問題により、分散型クロスチェーン取引資産の需要も高まっています。 その結果、クロスチェーンデータ交換におけるセキュリティの問題を解消できるDAレイヤーマルチチェーンデータストレージがますます注目されています。 しかし、異なるパブリックチェーンからヒストリカルデータを受け入れるためには、DA層が標準化されたストレージとデータフローの検証のための分散型プロトコルを提供する必要があり、例えば、チェーンからデータをキャプチャする主導権を握り、チェーン上のすべてのデータを標準形式でArweaveに保存してデータ転送プロセスの違いを最小限に抑えることができるArweaveベースのストレージミドルウェアであるkvyeなど。 相対的に言えば、特定のパブリックチェーンにDAレイヤーのデータストレージを提供することを専門とするLayer2は、内部共有ノードを介してデータと対話するため、相互作用のコストが削減され、セキュリティが向上しますが、比較的大きな制限があり、特定のパブリックチェーンにしかサービスを提供できません。
このタイプのストレージスキームには明確な名前はなく、このタイプのストレージスキームの最も顕著な代表はイーサリアムのDankShardingであるため、この記事ではDankShardingのようなスキームを使用します。 このタイプのソリューションでは、主に上記の2つのDAストレージテクノロジー(シャーディングとDAS)を使用します。 まず、シャーディングはデータを適切な部分に分割し、各ノードがストレージ用のDASの形式でデータブロックを抽出できるようにします。 ネットワーク全体に十分なノードがある場合は、より多くのシャードNを取ることができるため、各ノードのストレージ圧力は元の1/Nのみになり、全体的なストレージスペースの拡張がN倍になります。 同時に、極端なケースでブロックがどのブロックにも格納されないようにするために、DankShardingは消しゴムコードを使用してデータをエンコードし、データの半分しか完全に復元できません。 最後に、データ検証プロセスでは、Verkle ツリーの構造と多項式コミットメントを使用して、高速検証を実現します。
メインチェーンでDAのデータを処理する最も簡単な方法の1つは、履歴データを短期間保存することです。 要するに、ブロックチェーンは公開台帳の役割を果たし、恒久的なストレージを必要とせずに、ネットワーク全体の目撃を前提に台帳の内容の変更を実現します。 Solanaを例にとると、その履歴データはArweaveに同期されていますが、メインネットノードは過去2日間のトランザクションデータしか保持しません。 アカウント記録に基づくパブリックチェーンでは、各瞬間の履歴データがブロックチェーン上のアカウントの最終状態を保持し、次の変更の瞬間の検証基盤を提供するのに十分です。 この期間より前に特別なデータを必要とするプロジェクトについては、他の分散型パブリックチェーンまたは信頼できる第三者によってそれらを保存することができます。 つまり、追加のデータが必要な人は、履歴データの保存に料金を支払う必要があります。
メインチェーンのDA:DレイヤーAで最も重要なことはデータ伝送のセキュリティであり、この点で最も安全なのはメインチェーンのDAです。 ただし、メインチェーンストレージはストレージスペースとリソースの競合によって制限されるため、ネットワークデータの量が急速に増加した場合、データの長期保存を実現したい場合は、サードパーティのDAの方が適しています。 サードパーティのDAがメインネットとの互換性が高い場合、ノードの共有を実現し、データ交換の過程でより高いセキュリティを持つことができます。 したがって、セキュリティを考慮することを前提にすると、メインチェーン専用のDAには大きなメリットがあります。 イーサリアムを例にとると、メインチェーン専用DAの基本要件の1つとして、イーサリアムのデータやコントラクトとの相互運用性を確保するためにEVMと互換性があることがあり、代表的なプロジェクトとしてはTopiaやEthStorageなどがあります。 その中で、EthStorageは、EVMレベルの互換性に加えて、RemixやHardhatなどのEthereum開発ツールと接続するための関連インターフェースも設定し、Ethereum開発ツールレベルで互換性を実現するため、互換性の点で現在最も開発されています。
EthStorage:EthStorageはイーサリアムから独立したパブリックチェーンですが、その上で動作するノードはイーサリアムノードよりも優れており、つまり、EthStorageを実行しているノードは同時にイーサリアムも実行でき、EthStorageはイーサリアム上のオペコードを介して直接操作できます。 EthStorageのストレージモデルでは、インデックス作成のためにイーサリアムのメインネットに少量のメタデータしか保持しませんが、基本的にイーサリアム用の分散型データベースを作成します。 現在のソリューションでは、EthStorageはEthereumメインネットにEthStorageコントラクトを展開することで、EthereumメインネットとEthStorage間の相互作用を実装しています。 イーサリアムがデータを預けたい場合、コントラクトでput()関数を呼び出す必要があり、入力パラメータは2バイト変数key、data(dataは預けるデータを表し、keyはイーサリアムネットワークでの識別)で、IPFSにおけるCIDの存在と似ていると見ることができます。 (キー、データ)ペアがEthStorageネットワークに正常に保存されると、EthStorageはkvldxを生成してEthereumメインネットに返し、これはEthereum上のキーに対応し、この値はEthStorage上のデータのストレージアドレスに対応するため、大量のデータを保存するという問題は、単一の(キー、kvldx)ペアを保存するように変更され、Ethereumメインネットのストレージコストが大幅に削減されます。 以前に保存したデータを呼び出す必要がある場合は、EthStorageのget()関数を使用してkeyパラメータを入力する必要があり、Ethereumに保存されているkvldxを介してEthStorage上のデータをすばやく検索できます。
EthStorage契約、画像出典:Kernel Ventures
ノードがデータを保存する方法に関しては、EthStorageはArweaveのパターンを借用しています。 まず、ETHからの(k,v)ペアを大量にシャーディングし、各シャーディングには固定数の(k,v)データペアが含まれており、そのうち(k,v)ペアの特定のサイズにも制限があり、マイナーへの報酬を格納する過程でのワークロードサイズの公平性を確保しています。 報酬の発行には、ノードがデータを格納しているかどうかを確認する必要があります。 このプロセスでは、EthStorageはシャーディング(テラバイトサイズ)を多数のチャンクに分割し、検証のためにイーサリアムメインネットにマークルルートを保持します。 次に、マイナーは、EthStorage上の前のブロックのハッシュを使用してランダムアルゴリズムを介していくつかのチャンクのアドレスを生成するためのナンスを提供する必要があり、マイナーはこれらのチャンクのデータを提供して、実際にシャーディング全体を格納したことを証明する必要があります。 ただし、このナンスは任意に選択できず、そうでなければ、ノードは検証に合格するために格納されたチャンクにのみ対応する適切なナンスを選択するため、このナンスは、ミキシングとハッシュの後に生成されたチャンクをネットワーク要件を満たすようにする必要があり、ナンスとランダムアクセスプルーフを送信した最初のノードのみが報酬を得ることができます。
ブロックチェーンモジュール:この段階では、レイヤー1パブリックチェーンによって実行される必要があるトランザクションは、主に次の4つの部分に分けられます:(1)ネットワークの基礎となるロジックを設計し、特定の方法でバリデーターを選択し、ブロックを作成し、ネットワークメンテナーに報酬を分配し、(2)トランザクションをパッケージ化して処理し、関連するトランザクションを公開し、(3)チェーンに置かれるトランザクションを検証し、最終的な状態を決定し、(4)ブロックチェーンに履歴データを保存および維持します。 達成された機能に応じて、ブロックチェーンはコンセンサス層、実行層、決済層、データ可用性層(DA層)の4つのモジュールに分けることができます。
モジュール式ブロックチェーン設計:長い間、これら4つのモジュールはパブリックチェーンに統合されており、そのようなブロックチェーンはモノリシックブロックチェーンと呼ばれています。 この形式は、より安定しており、メンテナンスも簡単ですが、単一のパブリックチェーンに大きなプレッシャーをかけることにもなります。 実際には、これら4つのモジュールは互いに制約し合い、パブリックチェーンの限られたコンピューティングおよびストレージリソースをめぐって競合します。 例えば、処理層の処理速度を上げると、データ可用性層へのストレージ負荷が高まり、実行層のセキュリティ確保には、トランザクション処理を遅くする複雑な認証メカニズムが必要になります。 したがって、パブリックチェーンの開発は、これら4つのモジュール間のトレードオフに直面することがよくあります。 このパブリックチェーンのパフォーマンスを向上させるというボトルネックを突破するために、開発者はモジュール式のブロックチェーンスキームを提案しました。 モジュラーブロックチェーンの核となる考え方は、上記の4つのモジュールのうち1つまたは複数を分離し、それらを別のパブリックチェーン実装に引き渡すことです。 このように、パブリックチェーンでは、トランザクション速度やストレージ容量の向上にのみ焦点を当てることができ、ブロックチェーンの全体的なパフォーマンスに対するショートボード効果によって引き起こされる以前の制限を突破することができます。
モジュラーDA:DAレイヤーをブロックチェーンビジネスから切り離し、単一のパブリックチェーンに引き渡すという複雑なアプローチは、レイヤー1の増大する履歴データに対する実行可能なソリューションと考えられています。 この分野の探査はまだ初期段階にあり、現時点ではセレスティアが最も代表的なプロジェクトです。 具体的な保存方法としては、データを複数のブロックに分割し、その一部を各ノードで抽出して保存し、KZG多項式コミットメントでデータの整合性を検証するというDankshardingのストレージ方式を借用しています。 同時に、Celestiaは高度な2D RS消去コーディングを使用して、元のデータをkkマトリックスの形式で書き換え、最終的に元のデータの25%しか復元できません。 ただし、データシャーディングストレージは基本的に、ネットワーク全体のノードのストレージ圧力に総データ量の係数を掛けるだけで、ノードのストレージ負荷とデータ量は依然として直線的な増加を維持します。 レイヤー 1 はトランザクション速度を向上させ続けていますが、ノードのストレージ負荷は、いつか許容できないしきい値に達する可能性があります。 この問題を解決するために、IPLDコンポーネントがCelestiaに導入され、処理されました。 kkマトリクスのデータは、Celestiaに直接保存するのではなく、LL-IPFSネットワークに格納し、IPFS上のそのデータのCIDコードのみをノードに保持します。 ユーザーがヒストリカル・データを要求すると、ノードは対応するCIDをIPLDコンポーネントに送信し、そのCIDを使用してIPFS上の生データを呼び出します。 IPFS上にデータが存在する場合、そのデータはIPLDコンポーネントおよびノードを介して返され、存在しない場合は返すことができません。
Celestiaデータの読み出し方法、画像出典:Celestia Core
セレスティア:セレスティアを例にとると、イーサリアムのストレージ問題を解決するためのモジュラーブロックチェーンの応用を垣間見ることができます。 Rollupノードは、パッケージ化および検証されたトランザクションデータをCelestiaに送信し、Celestiaにデータを保存するが、このプロセスでは、Celestiaはあまり意識せずにデータを保存するだけで、最後にストレージスペースのサイズに応じて、Rollupノードは対応するtiaトークンをストレージ料金としてCelestiaに支払います。 Celstiaのストレージは、EIP4844と同様のDASとイレイジャーコーディングを利用しますが、EIP4844の多項式イレイジャーコーディングは2D RSイレイジャーコーディングにアップグレードされ、ストレージセキュリティが再びアップグレードされ、トランザクションデータ全体を復元するために必要なフラクチャはわずか25%です。 基本的には、低コストのPOSパブリックチェーンにすぎず、イーサリアムの履歴データストレージの問題を解決したい場合は、Celestiaと連携するために他の多くの特定のモジュールが必要です。 たとえば、ロールアップに関しては、Celestiaの公式Webサイトで最も推奨されるロールアップモードの1つはソブリンロールアップです。 レイヤー 2 の一般的なロールアップとは異なり、トランザクションのみが計算および検証され、実行レイヤーの操作が完了します。 ソブリンロールアップは、実行と決済のプロセス全体を網羅しているため、Celestiaでのトランザクションの処理が最小限に抑えられ、Celestiaの全体的なセキュリティがイーサリアムよりも弱い場合でも、トランザクションプロセス全体のセキュリティを最大化できます。 イーサリアムのメインネットでCelestiaが呼び出すデータのセキュリティを確保するという点で、最も主流のソリューションは量子重力ブリッジスマートコントラクトです。 Celestiaに保存されているデータについては、マークルルート(Proof of Data Availability)を生成し、イーサリアムメインネット上の量子重力ブリッジコントラクトに残り、イーサリアムがCelestia上のヒストリカルデータを呼び出すたびに、ハッシュ結果をマークルルートと比較し、もしそうなら、それは確かに真のヒストリカルデータであることを意味します。
メインチェーンのDA技術の原理としては、シャーディングに似た多くの技術がストレージパブリックチェーンから借用されています。 サードパーティのDAの中には、Celestiaの特定のトランザクションデータがLL-IPFSネットワークに配置されるなど、ストレージパブリックチェーンの助けを借りていくつかのストレージタスクを直接完了しているものもあります。 サードパーティのDAソリューションでは、レイヤー1のストレージの問題を解決するために別のパブリックチェーンを構築することに加えて、より直接的な方法は、ストレージパブリックチェーンをレイヤー1に直接接続して、レイヤー1に膨大な履歴データを保存することです。 高性能ブロックチェーンの場合、履歴データの量はさらに多く、高性能パブリックチェーンSolanaのデータサイズは、フルスピードで実行すると4PG近くになり、通常のノードのストレージ範囲を完全に超えています。 Solanaが選択したソリューションは、分散型ストレージネットワークであるArweaveに履歴データを保存し、検証のためにメインネット上のノードに2日分のデータのみを保持することでした。 ストアドプロセスのセキュリティを確保するために、SolanaとArweaveチェーンは、ストレージブリッジプロトコルであるSolar Bridgeを設計しました。 Solanaノードによって検証されたデータはArweaveに同期され、対応するタグが返されます。 このタグを使用すると、SolanaノードはSolanaブロックチェーンの履歴データをいつでも表示できます。 Arweaveでは、ネットワーク上のノードがデータの一貫性を維持し、これをネットワークの運用に参加するための閾値として使用する必要はなく、代わりに報酬ストレージの方法を採用しています。 まず第一に、Arweaveはブロックを構築するために従来のチェーン構造を使用するのではなく、グラフ構造のようなものです。 Arweaveでは、新しいブロックは前のブロックだけでなく、ランダムに生成されたリコールブロックも指し示す。 リコールブロックの正確な位置は、前のブロックのハッシュとブロックの高さによって決定され、リコールブロックの場所は前のブロックが採掘されるまで不明です。 しかし、新しいブロックを生成する過程では、ノードはPOWメカニズムを使用して指定された難易度のハッシュを計算するためにRecall Blockのデータを持っている必要があり、難易度に一致するハッシュを最初に計算したマイナーのみが報酬を得ることができるため、マイナーはできるだけ多くの履歴データを保存することができます。 同時に、ヒストリカルブロックを保存する人が少なければ少ないほど、ノードが難易度のナンスを生成する際の競争相手が少なくなり、マイナーがネットワーク内のバックアップの数を減らしてブロックを保存することを奨励します。 最後に、ノードがArweaveにデータを永続的に保存できるようにするために、WildFireのノードスコアリングメカニズムが導入されました。 ノードは、より多くの履歴データをより迅速に提供できるノードと通信する傾向がありますが、レーティングの低いノードは、そもそも最新のブロックデータやトランザクションデータにアクセスできないことが多いため、POWの競争で主導権を握ることができません。
Arweaveブロックの作り方、画像出典:Arweave Yellow-Paper
次に、DAパフォーマンス指標の4つの側面に基づいて、5つのストレージシナリオのそれぞれの長所と短所を比較します。
セキュリティ:データセキュリティ問題の最大の原因は、データ送信と不正なノードからの悪意のある改ざんによって引き起こされる損失であり、クロスチェーンプロセスでは、2つのパブリックチェーンの独立性と状態が共有されていないため、データ送信セキュリティの最も大きな打撃を受けた領域です。 また、この段階で専用のDAレイヤーを必要とするレイヤー1は、強いコンセンサスグループを持っていることが多く、それ自体のセキュリティは通常のストレージパブリックチェーンよりもはるかに高くなります。 したがって、メインチェーンDAのスキームはより高いセキュリティを持っています。 データ送信のセキュリティを確保した後、次のステップは通話データのセキュリティを確保することです。 トランザクションの検証に使用される短期的な履歴データのみが考慮される場合、同じデータが一時的に保存されたネットワーク内のネットワーク全体でバックアップされますが、DankShardingのようなスキームでのデータバックアップの平均数はネットワーク全体のノード数の1/Nにすぎず、データの冗長性を高めることでデータが失われる可能性が低くなり、検証用の参照サンプルを増やすこともできます。 したがって、一時ストレージのデータセキュリティが高くなります。 サードパーティのDAスキームでは、メインチェーン専用DAはメインチェーンと共通のノードを使用し、クロスチェーンプロセス中にこれらのリレーノードを介してデータを直接送信できるため、他のDAソリューションよりも比較的高いセキュリティも備えています。
ストレージ コスト: ストレージ コストの最大の要因は、データの冗長性の量です。 メインチェーンDAの短期ストレージソリューションでは、ネットワーク全体のノードのデータ同期をストレージに使用し、新しく保存されたデータは、ストレージコストが最も高いネットワーク全体のノードでバックアップする必要があります。 ストレージのコストが高いため、この方法は高 TPS ネットワークの一時ストレージにのみ適しています。 2つ目はシャーディングの保存方法であり、メインチェーンでのシャーディングやサードパーティDAでのシャーディングが含まれます。 メインチェーンはノード数が多い傾向があるため、ブロックごとにバックアップが多くなり、メインチェーンのシャーディングソリューションのコストが高くなります。 ストレージコストが最も低いのは報酬ストレージ方式を採用したストレージパブリックチェーンDAであり、このスキームにおけるデータ冗長化の量は一定定数を中心に変動することが多い。 同時に、ストレージパブリックチェーンDAには動的な調整メカニズムも導入されており、データセキュリティを確保するために報酬を増やすことで、より少ないバックアップデータを保存するノードを引き付けています。
データの読み取り速度:データの保存速度は、主にストレージスペース内のデータの保存場所、データインデックスパス、およびノード内のデータの分布の影響を受けます。 その中で、データをノードのどこに保存するかは、メモリやSSDにデータを保存すると読み取り速度が数十倍変化する可能性があるため、速度に大きな影響を与えます。 ストレージパブリックチェーンDAは、チェーンの負荷がDAレイヤーのデータだけでなく、ユーザーがアップロードしたビデオや写真などのメモリ占有率の高い個人データも含まれるため、主にSSDストレージを採用しています。 ネットワークがストレージスペースとしてSSDを使用しない場合、巨大なストレージの圧力に耐え、長期ストレージのニーズを満たすことは困難です。 第 2 に、インメモリ ストレージ データを使用するサードパーティ DA およびメインチェーン DA の場合、サードパーティ DA はまずメイン チェーン内の対応するインデックス データを検索し、次にチェーンを介してインデックス データをサードパーティ DA に転送し、ストレージ ブリッジを介してデータを返す必要があります。 対照的に、メインチェーンDAはノードから直接データを照会できるため、データ取得速度が速くなります。 最後に、メインチェーンDA内では、シャーディングメソッドが複数のノードからブロックを呼び出し、元のデータを復元する必要があります。 その結果、短期間のストレージは、シャーディングを使用しない短期のストレージよりも遅くなります。
DAレイヤーの普遍性:ストレージスペースが不十分なパブリックチェーンからストレージスペースが不十分な別のパブリックチェーンにデータを転送することは不可能であるため、メインチェーンのDA普遍性はゼロに近いです。 サードパーティのDAでは、ソリューションの汎用性と特定のメインチェーンとの互換性は、相反する指標のペアです。 例えば、あるメインチェーン向けに設計されたメインチェーン固有のDAスキームでは、パブリックチェーンに適応するためにノードタイプやネットワークコンセンサスレベルで多くの改善が行われているため、これらの改善は他のパブリックチェーンと通信する際に大きな障害となる可能性があります。 ただし、サードパーティDA内では、モジュラーDAと比較して、ストレージパブリックチェーンDAの方が汎用性の点で優れています。 ストレージパブリックチェーンDAには、より大きな開発者コミュニティとより多くの拡張施設があり、さまざまなパブリックチェーンの状況に適応できます。 同時に、ストレージパブリックチェーンDAは、他のパブリックチェーンから送信された情報を受動的に受信するのではなく、パケットキャプチャを通じてより積極的にデータを取得します。 したがって、独自の方法でデータをエンコードし、データフローの標準化されたストレージを実現し、さまざまなメインチェーンからのデータ情報の管理を容易にし、ストレージ効率を向上させることができます。
ストレージソリューションのパフォーマンスの比較、画像提供:Kernel Ventures
この段階のブロックチェーンは、暗号からより包括的なWeb3への移行を遂げており、ブロックチェーン上に豊富なプロジェクト以上のものをもたらしています。 レイヤー1で同時に実行される非常に多くのプロジェクトに対応するために、GamefiおよびSocialfiプロジェクトのエクスペリエンスを確保しながら、イーサリアムに代表されるレイヤー1は、TPSを向上させるためにロールアップやブロブなどの方法を採用しています。 新興ブロックチェーンの中でも、高性能なブロックチェーンの数も増えています。 しかし、TPSが高いということは、パフォーマンスが向上するだけでなく、ネットワークへのストレージ負荷が高まることを意味します。 膨大な履歴データに対しては、オンチェーンのストレージ圧力の高まりに適応するために、この段階でメインチェーンとサードパーティに基づくさまざまなDA手法が提案されています。 それぞれの改善方法には長所と短所があり、状況によって適用性が異なります。
決済ベースのブロックチェーンは、履歴データのセキュリティに対する要求が極めて高く、特に高いTPSを追求しているわけではありません。 この種のパブリックチェーンがまだ準備段階にある場合は、セキュリティを確保しながらストレージ容量を大幅に増やすことができるDankShardingのようなストレージ方式を採用することができます。 しかし、ビットコインのように形成され、ノード数が多いパブリックチェーンの場合、コンセンサスレイヤーで性急な改善を行うリスクが大きいため、セキュリティやストレージの問題を考慮して、オフチェーンストレージでセキュリティの高いメインチェーン専用のDAを採用することが可能です。 しかし、ブロックチェーンの機能は静的なものではなく、常に変化していることは注目に値します。 例えば、初期のイーサリアムの機能は、単に資産や取引を自動化するための決済やスマートコントラクトの利用が中心でしたが、ブロックチェーンの領域が継続的に拡大するにつれて、さまざまなSocialfiやDefiのプロジェクトが徐々にイーサリアムに追加され、イーサリアムはより包括的な方向に発展しています。 最近、ビットコインの碑文生態学の発生により、ビットコインネットワークの取引手数料は8月から20倍近く急増しており、この段階でのビットコインネットワークの取引速度は取引需要を満たすことができず、トレーダーは取引をできるだけ早く処理できるように取引手数料を増やすことしかできません。 現在、ビットコインコミュニティは、高い手数料と遅い取引速度を受け入れるか、ネットワークセキュリティを下げて取引速度を上げるが支払いシステムの本来の目的に反するか、トレードオフを行う必要があります。 ビットコインコミュニティが後者を選択した場合、データ圧力の高まりに直面して、対応するストレージスキームも調整する必要があります。
ビットコインメインネットの取引手数料は変動します、画像ソース:OKLINK
包括的な機能を持つパブリックチェーンの場合、TPSの追求度が高く、履歴データの増加はさらに大きく、DankShardingのようなソリューションを採用して長期的にTPSの急成長に適応することは困難です。 したがって、データをサード・パーティのDAに移行して保存する方が適切です。 その中でもメインチェーン専用のDAは相性が一番高く、単一のパブリックチェーンのストレージ問題だけを考えた場合に有利になるかもしれません。 しかし、今日のレイヤー1パブリックチェーンでは、クロスチェーン資産の転送とデータの相互作用もブロックチェーンコミュニティの共通の追求になっています。 ブロックチェーンエコシステム全体の長期的な発展を考えると、異なるパブリックチェーンの履歴データを同じパブリックチェーンに保存することで、データ交換と検証プロセスにおける多くのセキュリティ問題を解消できるため、モジュラーDAとパブリックチェーンDAの保存方法の方が適している可能性があります。 近い普遍性を前提に、モジュラーDAはブロックチェーンのDAレイヤーのサービスの提供に重点を置き、より洗練されたインデックスデータ管理履歴データを導入し、さまざまなパブリックチェーンのデータを合理的に分類でき、パブリックチェーンの保存と比較してより多くの利点があります。 しかし、上記のスキームは、既存のパブリックチェーンのコンセンサスレイヤー調整のコストを考慮していないため、非常にリスクが高く、問題が発生すると、システム的な脆弱性につながり、パブリックチェーンがコミュニティのコンセンサスを失う可能性があります。 したがって、ブロックチェーンのスケーリングの過程で過渡的な解決策である場合、メインチェーンの最も単純な一時ストレージの方が適している可能性があります。 最後に、上記の議論は実際の運用プロセスでのパフォーマンスに基づいていますが、パブリックチェーンの目標が独自のエコロジーを開発し、より多くのプロジェクト関係者や参加者を引き付けることである場合、独自の財団によってサポートされ、資金提供されているプロジェクトを好む場合もあります。 例えば、ストレージパブリックチェーンストレージスキームと同等またはわずかに低い全体的なパフォーマンスの場合、イーサリアムコミュニティは、イーサリアムエコシステムの開発を継続するために、イーサリアム財団が支援するレイヤー2プロジェクトとしてEthStorageを好みます。
全体として、今日のブロックチェーンの複雑さが増すにつれて、必要なストレージスペースも増大しています。 十分な数のレイヤー1バリデーターがある場合、履歴データをネットワーク全体のすべてのノードでバックアップする必要はなく、相対的なセキュリティを確保するために特定の数までバックアップするだけで済みます。 同時に、パブリックチェーンの分業はますます細分化されており、レイヤー1がコンセンサスと実行を担当し、Rollupが計算と検証を担当し、データストレージには別のブロックチェーンを使用しています。 各部品は、他の部品の性能に制限されることなく、1つの機能に集中することができます。 しかし、セキュリティと効率のバランスをとるために、履歴データを保存するノードの量や割合、異なるブロックチェーン間の安全な相互運用性を確保する方法は、ブロックチェーン開発者が考え、常に改善する必要がある問題です。 投資家にとっては、イーサリアムのメインチェーン専用DAプロジェクトに注目することができますが、それは、イーサリアムがこの段階ですでに十分な支持者を持っているため、その影響力を拡大するために他のコミュニティに頼る必要がないからです。 より多くのニーズは、自分たちのコミュニティを改善・発展させ、イーサリアムのエコシステムに上陸するプロジェクトを誘致することです。 しかし、SolanaやAptosのようなチェイサーの立場にあるパブリックチェーンの場合、シングルチェーン自体はそれほど完全なエコシステムを持っていないため、他のコミュニティの力を結集して巨大なクロスチェーンエコシステムを構築し、その影響力を拡大する傾向があるかもしれません。 したがって、新興のレイヤー1では、汎用のサードパーティDAにもっと注意を払う必要があります。
40.64K 人気度
3.03K 人気度
1.29K 人気度
832 人気度
878 人気度
Kernel Ventures: DA とヒストリカル・データ・レイヤーの設計に関する記事
作成者: Jerry Luo、Kernel Ventures
TL;DRの
1.初期のパブリックチェーンでは、セキュリティと分散化を確保するために、ネットワーク全体のノードがデータの一貫性を維持する必要がありました。 しかし、ブロックチェーンエコシステムの発展に伴い、ストレージの圧力は高まり続けており、その結果、ノード運用の集中化が進んでいます。 この段階では、レイヤー 1 は TPS の増大によって引き起こされるストレージ コストの問題を早急に解決する必要があります。
2.この問題に直面して、開発者は、セキュリティ、ストレージコスト、データ読み取り速度、およびDAレイヤーの汎用性を考慮することを前提として、新しい履歴データストレージスキームを提案する必要があります。
3.この問題を解決する過程で、シャーディング、DAS、Verkle Tree、DA中間コンポーネントなど、多くの新しいテクノロジーとアイデアが登場しました。 彼らは、データの冗長性を減らし、データ検証の効率を向上させることで、DAレイヤーのストレージスキームを最適化しようとしました。
4.現在のDAスキームは、データの保存場所の観点から、メインチェーンDAとサードパーティDAの2つのカテゴリに大別されます。 メインチェーン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レイヤーはセキュリティとストレージ効率のバランスを取るために適切な冗長性方法を選択する必要があります。
データの可用性チェック:冗長性により、ネットワーク内に十分なデータレコードがあることが保証されますが、使用するデータの正確性と完全性も検証する必要があります。 この段階では、ブロックチェーンで一般的に使用される検証方法は、ネットワーク全体が記録する小さな暗号化コミットメントを保持し、このコミットメントはトランザクションデータを混合することによって取得される暗号化コミットメントアルゴリズムです。 履歴データの信憑性をテストするには、データを介して暗号化の約束を復元し、復元によって得られた暗号化の約束がネットワーク全体の記録と一致しているかどうかを確認し、一貫性があれば検証に合格する必要があります。 一般的に使用されるパスワード検証アルゴリズムは、Merkle Root と Verkle Root です。 高セキュリティのデータ可用性検証アルゴリズムは、検証データをほとんど必要とせず、履歴データを迅速に検証できます。
2.2 ストレージコスト
基本的なセキュリティの確保を前提に、DAレイヤーで達成すべき次のコア目標は、コスト削減と効率化です。 1 つ目は、ストレージ コストを削減すること、つまり、ハードウェアのパフォーマンスの違いを考慮せずに、単位サイズあたりのデータを保存することによって引き起こされるメモリ フットプリントを削減することです。 この段階で、ブロックチェーンのストレージコストを削減する主な方法は、シャーディングテクノロジーを採用し、報酬付きストレージを使用してデータが効果的に保存されるようにし、データのバックアップの数を減らすことです。 しかし、上記の改善方法から、ストレージコストとデータセキュリティの間にはゲーム関係があることが分かりにくくなく、ストレージ占有率を下げることは、セキュリティの低下を意味することが多い。 したがって、優れたDAレイヤーは、ストレージコストとデータセキュリティのバランスを取る必要があります。 また、DA層が独立したパブリックチェーンである場合、データ交換の中間処理を最小限にすることでコストダウンも必要であり、各トランジット処理における後続のクエリ呼び出しのためにインデックスデータを残す必要があるため、呼び出し処理が長くなるほど、より多くのインデックスデータが残され、ストレージコストが増加する。 最後に、データストレージのコストは、データの耐久性に直接関係します。 一般に、データのストレージコストが高いほど、パブリックチェーンがデータを永続的に保存することは難しくなります。
2.3 データ読み込み速度
コスト削減が達成されたら、次のステップは効率の向上であり、これは、使用する必要があるときにDAレイヤーからデータをすばやく呼び出す機能です。 このプロセスには2つのステップがあり、1つ目はデータを格納するノードを検索することであり、このプロセスは主にネットワーク全体のデータ整合性を達成していないパブリックチェーンを対象としており、パブリックチェーンがネットワーク全体のノードのデータ同期を達成している場合、このプロセスの時間消費は無視できます。 第二に、ビットコイン、イーサリアム、ファイルコインを含むこの段階の主流のブロックチェーンシステムでは、ノードストレージ方法はLeveldbデータベースです。 Leveldb では、データは 3 つの方法で格納されます。 1つ目は、その場で書き込まれたデータをmemtable型のファイルに格納され、memtableがいっぱいになると、ファイルの種類がmemtableからimmutable memtableに変更されることです。 どちらのタイプのファイルもメモリに格納されますが、不変のMemtableファイルは変更できなくなり、そこからデータを読み取ることしかできません。 IPFSネットワークで使われているホットストレージは、この部分にデータを格納しており、呼び出されるとメモリから素早く読み出すことができますが、通常のノードのモバイルメモリはギガバイトレベルであることが多く、書き込みが遅くなりやすく、ノードがダウンするなどの異常状態になると、メモリ内のデータが永久に失われてしまいます。 データを永続的に保存する場合は、ソリッドステートドライブ(SSD)にSSTファイルとして保存する必要がありますが、最初にデータをメモリに読み込む必要があるため、データのインデックス作成速度が大幅に低下します。 最後に、シャードストレージを備えたシステムの場合、データの復元には複数のノードにデータ要求を送信して復元する必要があるため、データの読み取り速度も遅くなります。
Leveldbデータ保存方法、画像出典:Leveldb-handbook
2.4 DAレイヤーの共通性
DeFiの発展とCEXの問題により、分散型資産のクロスチェーン取引の需要も高まっています。 ハッシュロックのクロスチェーンメカニズム、公証人、リレーチェーンのいずれであっても、2つのチェーンの履歴データを同時に決定することは避けられません。 この問題の核心は、2つのチェーン上のデータの分離にあり、異なる分散型システムでは直接通信を実現できません。 そこで、この段階では、複数のパブリックチェーンの履歴データを同じトラステッドパブリックチェーンに格納し、検証時にこのパブリックチェーン上のデータを呼び出すだけでよいDAレイヤーのストレージモードを変更することで解決策を提案します。 これには、DA層がさまざまなタイプのパブリックチェーンとの安全な通信方法を確立できること、つまりDA層が優れた汎用性を備えていることが必要です。
3. DA関連技術の探索
3.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 では、これらの問題は両方とも、消しゴム符号と KZG 多項式コミットメントによって対処されます。
消しゴムコード:イーサリアム上の膨大な数のバリデーターを考えると、ブロックがどのノードにも保存されない確率はほぼゼロですが、理論的にはそのような極端な状況が発生する可能性はまだあります。 このストレージ損失の脅威を軽減するために、元のデータを直接ブロックに分割して保存するのではなく、元のデータをn次多項式の係数にマッピングし、多項式で2n個の点を取得し、ノードがそのうちの1つをランダムに選択します。 このn次多項式では、復元に必要なのはn+1点のみであるため、元のデータを復元するためにノードがブロックの半分を選択するだけで済みます。 消しゴムコードにより、データストレージのセキュリティとネットワークのデータを回復する能力が向上します。
KZG多項式の約束:データストレージの非常に重要な部分は、データの真正性の検証です。 Eraserコードを使用しないネットワークでは、プロセスを検証するさまざまな方法がありますが、データのセキュリティを向上させるために上記のEraserコードが導入されている場合は、KZG多項式コミットメントを使用する方が適切です。 KZG多項式は、多項式の形で単一のブロックの内容を直接検証することを約束し、多項式をバイナリデータに復元する必要性を排除し、検証形式は一般的にマークルツリーのそれと似ていますが、特定のパスノードデータは必要なく、その真正性を検証するために必要なのはKZGルートとブロックデータのみです。
3.3 DA層のデータ検証モード
データ検証は、ノードから呼び出されたデータが改ざんされたり、失われたりしていないことを確認します。 検証プロセスに必要なデータ量と計算コストを可能な限り削減するために、DA層は現在、検証手法の主流としてツリー構造を採用しています。 最も単純な形式は、完全な二分木の形式で記録され、マークルルートとサブツリーのハッシュ値を検証対象のノードパスの反対側に保持するだけでよく、検証の時間計算量はO(logN)レベルです(数値が基づいていない場合、logNはデフォルトでlog2(N)になります)。 検証プロセスは大幅に簡素化されましたが、通常、データの増加に伴い、検証プロセスのデータ量も増加しています。 検証量を増やすという問題を解決するために、この段階で別の検証方法であるVerkle Treeが提案されています。 価値を格納することに加えて、Verkle Treeの各ノードにはVector Commitmentも付属しており、元のノードの値とこのコミットメント証明により、他の姉妹ノードの値を呼び出さずにデータの真正性をすばやく検証できるため、各検証の計算数は固定定数であるVerkle Treeの深さにのみ関連しているため、検証速度が大幅に向上します。 ただし、ベクトルコミットメントの計算では、同じレイヤー内のすべての姉妹ノードが関与する必要があるため、データの書き込みと変更のコストが大幅に増加します。 ただし、永続的に保存され、改ざんできない履歴データの場合、Verkle Treeは非常に適しています。 また、マークルツリーとバークルツリーにはK-ary形式のバリアントもあり、それらの具体的な実装メカニズムは似ていますが、各ノードの下のサブツリーの数が変更されており、それらの特定のパフォーマンスの比較を次の表に示します。
データ検証手法と時間性能の比較、画像提供:Verkle Trees
3.4 汎用DAミドルウェア
ブロックチェーンの生態学の継続的な拡大により、パブリックチェーンの数が増加しています。 各パブリックチェーンは、それぞれの分野において優位性があり、かけがえがえのないものであるため、Layer1パブリックチェーンが短期間で統一されることはほぼ不可能です。 しかし、DeFiの発展とCEXの問題により、分散型クロスチェーン取引資産の需要も高まっています。 その結果、クロスチェーンデータ交換におけるセキュリティの問題を解消できるDAレイヤーマルチチェーンデータストレージがますます注目されています。 しかし、異なるパブリックチェーンからヒストリカルデータを受け入れるためには、DA層が標準化されたストレージとデータフローの検証のための分散型プロトコルを提供する必要があり、例えば、チェーンからデータをキャプチャする主導権を握り、チェーン上のすべてのデータを標準形式でArweaveに保存してデータ転送プロセスの違いを最小限に抑えることができるArweaveベースのストレージミドルウェアであるkvyeなど。 相対的に言えば、特定のパブリックチェーンに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
メインチェーンのDA:DレイヤーAで最も重要なことはデータ伝送のセキュリティであり、この点で最も安全なのはメインチェーンのDAです。 ただし、メインチェーンストレージはストレージスペースとリソースの競合によって制限されるため、ネットワークデータの量が急速に増加した場合、データの長期保存を実現したい場合は、サードパーティのDAの方が適しています。 サードパーティのDAがメインネットとの互換性が高い場合、ノードの共有を実現し、データ交換の過程でより高いセキュリティを持つことができます。 したがって、セキュリティを考慮することを前提にすると、メインチェーン専用のDAには大きなメリットがあります。 イーサリアムを例にとると、メインチェーン専用DAの基本要件の1つとして、イーサリアムのデータやコントラクトとの相互運用性を確保するためにEVMと互換性があることがあり、代表的なプロジェクトとしてはTopiaやEthStorageなどがあります。 その中で、EthStorageは、EVMレベルの互換性に加えて、RemixやHardhatなどのEthereum開発ツールと接続するための関連インターフェースも設定し、Ethereum開発ツールレベルで互換性を実現するため、互換性の点で現在最も開発されています。
EthStorage:EthStorageはイーサリアムから独立したパブリックチェーンですが、その上で動作するノードはイーサリアムノードよりも優れており、つまり、EthStorageを実行しているノードは同時にイーサリアムも実行でき、EthStorageはイーサリアム上のオペコードを介して直接操作できます。 EthStorageのストレージモデルでは、インデックス作成のためにイーサリアムのメインネットに少量のメタデータしか保持しませんが、基本的にイーサリアム用の分散型データベースを作成します。 現在のソリューションでは、EthStorageはEthereumメインネットにEthStorageコントラクトを展開することで、EthereumメインネットとEthStorage間の相互作用を実装しています。 イーサリアムがデータを預けたい場合、コントラクトでput()関数を呼び出す必要があり、入力パラメータは2バイト変数key、data(dataは預けるデータを表し、keyはイーサリアムネットワークでの識別)で、IPFSにおけるCIDの存在と似ていると見ることができます。 (キー、データ)ペアがEthStorageネットワークに正常に保存されると、EthStorageはkvldxを生成してEthereumメインネットに返し、これはEthereum上のキーに対応し、この値はEthStorage上のデータのストレージアドレスに対応するため、大量のデータを保存するという問題は、単一の(キー、kvldx)ペアを保存するように変更され、Ethereumメインネットのストレージコストが大幅に削減されます。 以前に保存したデータを呼び出す必要がある場合は、EthStorageのget()関数を使用してkeyパラメータを入力する必要があり、Ethereumに保存されているkvldxを介してEthStorage上のデータをすばやく検索できます。
EthStorage契約、画像出典:Kernel Ventures
ノードがデータを保存する方法に関しては、EthStorageはArweaveのパターンを借用しています。 まず、ETHからの(k,v)ペアを大量にシャーディングし、各シャーディングには固定数の(k,v)データペアが含まれており、そのうち(k,v)ペアの特定のサイズにも制限があり、マイナーへの報酬を格納する過程でのワークロードサイズの公平性を確保しています。 報酬の発行には、ノードがデータを格納しているかどうかを確認する必要があります。 このプロセスでは、EthStorageはシャーディング(テラバイトサイズ)を多数のチャンクに分割し、検証のためにイーサリアムメインネットにマークルルートを保持します。 次に、マイナーは、EthStorage上の前のブロックのハッシュを使用してランダムアルゴリズムを介していくつかのチャンクのアドレスを生成するためのナンスを提供する必要があり、マイナーはこれらのチャンクのデータを提供して、実際にシャーディング全体を格納したことを証明する必要があります。 ただし、このナンスは任意に選択できず、そうでなければ、ノードは検証に合格するために格納されたチャンクにのみ対応する適切なナンスを選択するため、このナンスは、ミキシングとハッシュの後に生成されたチャンクをネットワーク要件を満たすようにする必要があり、ナンスとランダムアクセスプルーフを送信した最初のノードのみが報酬を得ることができます。
4.2.2 モジュラーDA:セレスティア
ブロックチェーンモジュール:この段階では、レイヤー1パブリックチェーンによって実行される必要があるトランザクションは、主に次の4つの部分に分けられます:(1)ネットワークの基礎となるロジックを設計し、特定の方法でバリデーターを選択し、ブロックを作成し、ネットワークメンテナーに報酬を分配し、(2)トランザクションをパッケージ化して処理し、関連するトランザクションを公開し、(3)チェーンに置かれるトランザクションを検証し、最終的な状態を決定し、(4)ブロックチェーンに履歴データを保存および維持します。 達成された機能に応じて、ブロックチェーンはコンセンサス層、実行層、決済層、データ可用性層(DA層)の4つのモジュールに分けることができます。
モジュール式ブロックチェーン設計:長い間、これら4つのモジュールはパブリックチェーンに統合されており、そのようなブロックチェーンはモノリシックブロックチェーンと呼ばれています。 この形式は、より安定しており、メンテナンスも簡単ですが、単一のパブリックチェーンに大きなプレッシャーをかけることにもなります。 実際には、これら4つのモジュールは互いに制約し合い、パブリックチェーンの限られたコンピューティングおよびストレージリソースをめぐって競合します。 例えば、処理層の処理速度を上げると、データ可用性層へのストレージ負荷が高まり、実行層のセキュリティ確保には、トランザクション処理を遅くする複雑な認証メカニズムが必要になります。 したがって、パブリックチェーンの開発は、これら4つのモジュール間のトレードオフに直面することがよくあります。 このパブリックチェーンのパフォーマンスを向上させるというボトルネックを突破するために、開発者はモジュール式のブロックチェーンスキームを提案しました。 モジュラーブロックチェーンの核となる考え方は、上記の4つのモジュールのうち1つまたは複数を分離し、それらを別のパブリックチェーン実装に引き渡すことです。 このように、パブリックチェーンでは、トランザクション速度やストレージ容量の向上にのみ焦点を当てることができ、ブロックチェーンの全体的なパフォーマンスに対するショートボード効果によって引き起こされる以前の制限を突破することができます。
モジュラーDA:DAレイヤーをブロックチェーンビジネスから切り離し、単一のパブリックチェーンに引き渡すという複雑なアプローチは、レイヤー1の増大する履歴データに対する実行可能なソリューションと考えられています。 この分野の探査はまだ初期段階にあり、現時点ではセレスティアが最も代表的なプロジェクトです。 具体的な保存方法としては、データを複数のブロックに分割し、その一部を各ノードで抽出して保存し、KZG多項式コミットメントでデータの整合性を検証するというDankshardingのストレージ方式を借用しています。 同時に、Celestiaは高度な2D RS消去コーディングを使用して、元のデータをkkマトリックスの形式で書き換え、最終的に元のデータの25%しか復元できません。 ただし、データシャーディングストレージは基本的に、ネットワーク全体のノードのストレージ圧力に総データ量の係数を掛けるだけで、ノードのストレージ負荷とデータ量は依然として直線的な増加を維持します。 レイヤー 1 はトランザクション速度を向上させ続けていますが、ノードのストレージ負荷は、いつか許容できないしきい値に達する可能性があります。 この問題を解決するために、IPLDコンポーネントがCelestiaに導入され、処理されました。 kkマトリクスのデータは、Celestiaに直接保存するのではなく、LL-IPFSネットワークに格納し、IPFS上のそのデータのCIDコードのみをノードに保持します。 ユーザーがヒストリカル・データを要求すると、ノードは対応するCIDをIPLDコンポーネントに送信し、そのCIDを使用してIPFS上の生データを呼び出します。 IPFS上にデータが存在する場合、そのデータはIPLDコンポーネントおよびノードを介して返され、存在しない場合は返すことができません。
Celestiaデータの読み出し方法、画像出典:Celestia Core
セレスティア:セレスティアを例にとると、イーサリアムのストレージ問題を解決するためのモジュラーブロックチェーンの応用を垣間見ることができます。 Rollupノードは、パッケージ化および検証されたトランザクションデータをCelestiaに送信し、Celestiaにデータを保存するが、このプロセスでは、Celestiaはあまり意識せずにデータを保存するだけで、最後にストレージスペースのサイズに応じて、Rollupノードは対応するtiaトークンをストレージ料金としてCelestiaに支払います。 Celstiaのストレージは、EIP4844と同様のDASとイレイジャーコーディングを利用しますが、EIP4844の多項式イレイジャーコーディングは2D RSイレイジャーコーディングにアップグレードされ、ストレージセキュリティが再びアップグレードされ、トランザクションデータ全体を復元するために必要なフラクチャはわずか25%です。 基本的には、低コストのPOSパブリックチェーンにすぎず、イーサリアムの履歴データストレージの問題を解決したい場合は、Celestiaと連携するために他の多くの特定のモジュールが必要です。 たとえば、ロールアップに関しては、Celestiaの公式Webサイトで最も推奨されるロールアップモードの1つはソブリンロールアップです。 レイヤー 2 の一般的なロールアップとは異なり、トランザクションのみが計算および検証され、実行レイヤーの操作が完了します。 ソブリンロールアップは、実行と決済のプロセス全体を網羅しているため、Celestiaでのトランザクションの処理が最小限に抑えられ、Celestiaの全体的なセキュリティがイーサリアムよりも弱い場合でも、トランザクションプロセス全体のセキュリティを最大化できます。 イーサリアムのメインネットでCelestiaが呼び出すデータのセキュリティを確保するという点で、最も主流のソリューションは量子重力ブリッジスマートコントラクトです。 Celestiaに保存されているデータについては、マークルルート(Proof of Data Availability)を生成し、イーサリアムメインネット上の量子重力ブリッジコントラクトに残り、イーサリアムがCelestia上のヒストリカルデータを呼び出すたびに、ハッシュ結果をマークルルートと比較し、もしそうなら、それは確かに真のヒストリカルデータであることを意味します。
4.2.3 ストアパブリックチェーンDA
メインチェーンのDA技術の原理としては、シャーディングに似た多くの技術がストレージパブリックチェーンから借用されています。 サードパーティのDAの中には、Celestiaの特定のトランザクションデータがLL-IPFSネットワークに配置されるなど、ストレージパブリックチェーンの助けを借りていくつかのストレージタスクを直接完了しているものもあります。 サードパーティのDAソリューションでは、レイヤー1のストレージの問題を解決するために別のパブリックチェーンを構築することに加えて、より直接的な方法は、ストレージパブリックチェーンをレイヤー1に直接接続して、レイヤー1に膨大な履歴データを保存することです。 高性能ブロックチェーンの場合、履歴データの量はさらに多く、高性能パブリックチェーンSolanaのデータサイズは、フルスピードで実行すると4PG近くになり、通常のノードのストレージ範囲を完全に超えています。 Solanaが選択したソリューションは、分散型ストレージネットワークであるArweaveに履歴データを保存し、検証のためにメインネット上のノードに2日分のデータのみを保持することでした。 ストアドプロセスのセキュリティを確保するために、SolanaとArweaveチェーンは、ストレージブリッジプロトコルであるSolar Bridgeを設計しました。 Solanaノードによって検証されたデータはArweaveに同期され、対応するタグが返されます。 このタグを使用すると、SolanaノードはSolanaブロックチェーンの履歴データをいつでも表示できます。 Arweaveでは、ネットワーク上のノードがデータの一貫性を維持し、これをネットワークの運用に参加するための閾値として使用する必要はなく、代わりに報酬ストレージの方法を採用しています。 まず第一に、Arweaveはブロックを構築するために従来のチェーン構造を使用するのではなく、グラフ構造のようなものです。 Arweaveでは、新しいブロックは前のブロックだけでなく、ランダムに生成されたリコールブロックも指し示す。 リコールブロックの正確な位置は、前のブロックのハッシュとブロックの高さによって決定され、リコールブロックの場所は前のブロックが採掘されるまで不明です。 しかし、新しいブロックを生成する過程では、ノードはPOWメカニズムを使用して指定された難易度のハッシュを計算するためにRecall Blockのデータを持っている必要があり、難易度に一致するハッシュを最初に計算したマイナーのみが報酬を得ることができるため、マイナーはできるだけ多くの履歴データを保存することができます。 同時に、ヒストリカルブロックを保存する人が少なければ少ないほど、ノードが難易度のナンスを生成する際の競争相手が少なくなり、マイナーがネットワーク内のバックアップの数を減らしてブロックを保存することを奨励します。 最後に、ノードがArweaveにデータを永続的に保存できるようにするために、WildFireのノードスコアリングメカニズムが導入されました。 ノードは、より多くの履歴データをより迅速に提供できるノードと通信する傾向がありますが、レーティングの低いノードは、そもそも最新のブロックデータやトランザクションデータにアクセスできないことが多いため、POWの競争で主導権を握ることができません。
Arweaveブロックの作り方、画像出典:Arweave Yellow-Paper
5. 包括的な比較
次に、DAパフォーマンス指標の4つの側面に基づいて、5つのストレージシナリオのそれぞれの長所と短所を比較します。
セキュリティ:データセキュリティ問題の最大の原因は、データ送信と不正なノードからの悪意のある改ざんによって引き起こされる損失であり、クロスチェーンプロセスでは、2つのパブリックチェーンの独立性と状態が共有されていないため、データ送信セキュリティの最も大きな打撃を受けた領域です。 また、この段階で専用のDAレイヤーを必要とするレイヤー1は、強いコンセンサスグループを持っていることが多く、それ自体のセキュリティは通常のストレージパブリックチェーンよりもはるかに高くなります。 したがって、メインチェーンDAのスキームはより高いセキュリティを持っています。 データ送信のセキュリティを確保した後、次のステップは通話データのセキュリティを確保することです。 トランザクションの検証に使用される短期的な履歴データのみが考慮される場合、同じデータが一時的に保存されたネットワーク内のネットワーク全体でバックアップされますが、DankShardingのようなスキームでのデータバックアップの平均数はネットワーク全体のノード数の1/Nにすぎず、データの冗長性を高めることでデータが失われる可能性が低くなり、検証用の参照サンプルを増やすこともできます。 したがって、一時ストレージのデータセキュリティが高くなります。 サードパーティのDAスキームでは、メインチェーン専用DAはメインチェーンと共通のノードを使用し、クロスチェーンプロセス中にこれらのリレーノードを介してデータを直接送信できるため、他のDAソリューションよりも比較的高いセキュリティも備えています。
ストレージ コスト: ストレージ コストの最大の要因は、データの冗長性の量です。 メインチェーンDAの短期ストレージソリューションでは、ネットワーク全体のノードのデータ同期をストレージに使用し、新しく保存されたデータは、ストレージコストが最も高いネットワーク全体のノードでバックアップする必要があります。 ストレージのコストが高いため、この方法は高 TPS ネットワークの一時ストレージにのみ適しています。 2つ目はシャーディングの保存方法であり、メインチェーンでのシャーディングやサードパーティDAでのシャーディングが含まれます。 メインチェーンはノード数が多い傾向があるため、ブロックごとにバックアップが多くなり、メインチェーンのシャーディングソリューションのコストが高くなります。 ストレージコストが最も低いのは報酬ストレージ方式を採用したストレージパブリックチェーンDAであり、このスキームにおけるデータ冗長化の量は一定定数を中心に変動することが多い。 同時に、ストレージパブリックチェーンDAには動的な調整メカニズムも導入されており、データセキュリティを確保するために報酬を増やすことで、より少ないバックアップデータを保存するノードを引き付けています。
データの読み取り速度:データの保存速度は、主にストレージスペース内のデータの保存場所、データインデックスパス、およびノード内のデータの分布の影響を受けます。 その中で、データをノードのどこに保存するかは、メモリやSSDにデータを保存すると読み取り速度が数十倍変化する可能性があるため、速度に大きな影響を与えます。 ストレージパブリックチェーンDAは、チェーンの負荷がDAレイヤーのデータだけでなく、ユーザーがアップロードしたビデオや写真などのメモリ占有率の高い個人データも含まれるため、主にSSDストレージを採用しています。 ネットワークがストレージスペースとしてSSDを使用しない場合、巨大なストレージの圧力に耐え、長期ストレージのニーズを満たすことは困難です。 第 2 に、インメモリ ストレージ データを使用するサードパーティ DA およびメインチェーン DA の場合、サードパーティ DA はまずメイン チェーン内の対応するインデックス データを検索し、次にチェーンを介してインデックス データをサードパーティ DA に転送し、ストレージ ブリッジを介してデータを返す必要があります。 対照的に、メインチェーンDAはノードから直接データを照会できるため、データ取得速度が速くなります。 最後に、メインチェーンDA内では、シャーディングメソッドが複数のノードからブロックを呼び出し、元のデータを復元する必要があります。 その結果、短期間のストレージは、シャーディングを使用しない短期のストレージよりも遅くなります。
DAレイヤーの普遍性:ストレージスペースが不十分なパブリックチェーンからストレージスペースが不十分な別のパブリックチェーンにデータを転送することは不可能であるため、メインチェーンのDA普遍性はゼロに近いです。 サードパーティのDAでは、ソリューションの汎用性と特定のメインチェーンとの互換性は、相反する指標のペアです。 例えば、あるメインチェーン向けに設計されたメインチェーン固有のDAスキームでは、パブリックチェーンに適応するためにノードタイプやネットワークコンセンサスレベルで多くの改善が行われているため、これらの改善は他のパブリックチェーンと通信する際に大きな障害となる可能性があります。 ただし、サードパーティDA内では、モジュラーDAと比較して、ストレージパブリックチェーンDAの方が汎用性の点で優れています。 ストレージパブリックチェーンDAには、より大きな開発者コミュニティとより多くの拡張施設があり、さまざまなパブリックチェーンの状況に適応できます。 同時に、ストレージパブリックチェーンDAは、他のパブリックチェーンから送信された情報を受動的に受信するのではなく、パケットキャプチャを通じてより積極的にデータを取得します。 したがって、独自の方法でデータをエンコードし、データフローの標準化されたストレージを実現し、さまざまなメインチェーンからのデータ情報の管理を容易にし、ストレージ効率を向上させることができます。
ストレージソリューションのパフォーマンスの比較、画像提供:Kernel Ventures
6. 概要
この段階のブロックチェーンは、暗号からより包括的なWeb3への移行を遂げており、ブロックチェーン上に豊富なプロジェクト以上のものをもたらしています。 レイヤー1で同時に実行される非常に多くのプロジェクトに対応するために、GamefiおよびSocialfiプロジェクトのエクスペリエンスを確保しながら、イーサリアムに代表されるレイヤー1は、TPSを向上させるためにロールアップやブロブなどの方法を採用しています。 新興ブロックチェーンの中でも、高性能なブロックチェーンの数も増えています。 しかし、TPSが高いということは、パフォーマンスが向上するだけでなく、ネットワークへのストレージ負荷が高まることを意味します。 膨大な履歴データに対しては、オンチェーンのストレージ圧力の高まりに適応するために、この段階でメインチェーンとサードパーティに基づくさまざまなDA手法が提案されています。 それぞれの改善方法には長所と短所があり、状況によって適用性が異なります。
決済ベースのブロックチェーンは、履歴データのセキュリティに対する要求が極めて高く、特に高いTPSを追求しているわけではありません。 この種のパブリックチェーンがまだ準備段階にある場合は、セキュリティを確保しながらストレージ容量を大幅に増やすことができるDankShardingのようなストレージ方式を採用することができます。 しかし、ビットコインのように形成され、ノード数が多いパブリックチェーンの場合、コンセンサスレイヤーで性急な改善を行うリスクが大きいため、セキュリティやストレージの問題を考慮して、オフチェーンストレージでセキュリティの高いメインチェーン専用のDAを採用することが可能です。 しかし、ブロックチェーンの機能は静的なものではなく、常に変化していることは注目に値します。 例えば、初期のイーサリアムの機能は、単に資産や取引を自動化するための決済やスマートコントラクトの利用が中心でしたが、ブロックチェーンの領域が継続的に拡大するにつれて、さまざまなSocialfiやDefiのプロジェクトが徐々にイーサリアムに追加され、イーサリアムはより包括的な方向に発展しています。 最近、ビットコインの碑文生態学の発生により、ビットコインネットワークの取引手数料は8月から20倍近く急増しており、この段階でのビットコインネットワークの取引速度は取引需要を満たすことができず、トレーダーは取引をできるだけ早く処理できるように取引手数料を増やすことしかできません。 現在、ビットコインコミュニティは、高い手数料と遅い取引速度を受け入れるか、ネットワークセキュリティを下げて取引速度を上げるが支払いシステムの本来の目的に反するか、トレードオフを行う必要があります。 ビットコインコミュニティが後者を選択した場合、データ圧力の高まりに直面して、対応するストレージスキームも調整する必要があります。
ビットコインメインネットの取引手数料は変動します、画像ソース:OKLINK
包括的な機能を持つパブリックチェーンの場合、TPSの追求度が高く、履歴データの増加はさらに大きく、DankShardingのようなソリューションを採用して長期的にTPSの急成長に適応することは困難です。 したがって、データをサード・パーティのDAに移行して保存する方が適切です。 その中でもメインチェーン専用のDAは相性が一番高く、単一のパブリックチェーンのストレージ問題だけを考えた場合に有利になるかもしれません。 しかし、今日のレイヤー1パブリックチェーンでは、クロスチェーン資産の転送とデータの相互作用もブロックチェーンコミュニティの共通の追求になっています。 ブロックチェーンエコシステム全体の長期的な発展を考えると、異なるパブリックチェーンの履歴データを同じパブリックチェーンに保存することで、データ交換と検証プロセスにおける多くのセキュリティ問題を解消できるため、モジュラーDAとパブリックチェーンDAの保存方法の方が適している可能性があります。 近い普遍性を前提に、モジュラーDAはブロックチェーンのDAレイヤーのサービスの提供に重点を置き、より洗練されたインデックスデータ管理履歴データを導入し、さまざまなパブリックチェーンのデータを合理的に分類でき、パブリックチェーンの保存と比較してより多くの利点があります。 しかし、上記のスキームは、既存のパブリックチェーンのコンセンサスレイヤー調整のコストを考慮していないため、非常にリスクが高く、問題が発生すると、システム的な脆弱性につながり、パブリックチェーンがコミュニティのコンセンサスを失う可能性があります。 したがって、ブロックチェーンのスケーリングの過程で過渡的な解決策である場合、メインチェーンの最も単純な一時ストレージの方が適している可能性があります。 最後に、上記の議論は実際の運用プロセスでのパフォーマンスに基づいていますが、パブリックチェーンの目標が独自のエコロジーを開発し、より多くのプロジェクト関係者や参加者を引き付けることである場合、独自の財団によってサポートされ、資金提供されているプロジェクトを好む場合もあります。 例えば、ストレージパブリックチェーンストレージスキームと同等またはわずかに低い全体的なパフォーマンスの場合、イーサリアムコミュニティは、イーサリアムエコシステムの開発を継続するために、イーサリアム財団が支援するレイヤー2プロジェクトとしてEthStorageを好みます。
全体として、今日のブロックチェーンの複雑さが増すにつれて、必要なストレージスペースも増大しています。 十分な数のレイヤー1バリデーターがある場合、履歴データをネットワーク全体のすべてのノードでバックアップする必要はなく、相対的なセキュリティを確保するために特定の数までバックアップするだけで済みます。 同時に、パブリックチェーンの分業はますます細分化されており、レイヤー1がコンセンサスと実行を担当し、Rollupが計算と検証を担当し、データストレージには別のブロックチェーンを使用しています。 各部品は、他の部品の性能に制限されることなく、1つの機能に集中することができます。 しかし、セキュリティと効率のバランスをとるために、履歴データを保存するノードの量や割合、異なるブロックチェーン間の安全な相互運用性を確保する方法は、ブロックチェーン開発者が考え、常に改善する必要がある問題です。 投資家にとっては、イーサリアムのメインチェーン専用DAプロジェクトに注目することができますが、それは、イーサリアムがこの段階ですでに十分な支持者を持っているため、その影響力を拡大するために他のコミュニティに頼る必要がないからです。 より多くのニーズは、自分たちのコミュニティを改善・発展させ、イーサリアムのエコシステムに上陸するプロジェクトを誘致することです。 しかし、SolanaやAptosのようなチェイサーの立場にあるパブリックチェーンの場合、シングルチェーン自体はそれほど完全なエコシステムを持っていないため、他のコミュニティの力を結集して巨大なクロスチェーンエコシステムを構築し、その影響力を拡大する傾向があるかもしれません。 したがって、新興のレイヤー1では、汎用のサードパーティDAにもっと注意を払う必要があります。