一文詳解ブロックチェーンデータの可用性ソリューション

おすすめの読書
2023-11-10 13:28:21
コレクション
必要なデータのアクセス可能性を保証することは、ブロックチェーンのスケーラビリティにおける重要な課題となっています。現在、過剰な冗長コストを発生させることなく、この保証を提供するためのさまざまな技術が登場しています。

原文标题:Data Availability in Blockchains 原文作者:AltLayer 创始人 YQ 编译:倩雯,ChainCatcher


データの可用性とは、ブロックチェーンネットワーク内のすべての参加者がブロックに含まれる全ての取引データにアクセスできることを保証することを指します。この概念は、特にブロックチェーンシステムがより大きな取引量に拡張される際に、安全性を維持するために重要です。

シャーディング、ロールアップ および軽量クライアントなどの新しい方法は、取引処理をシャードまたはロールアップ チェーンに分散させ、すべてのノードがすべての取引を処理するのではなく、作業を分散させ、スループットを向上させます。しかし、これにより、すべてのデータを見ることができるノードが存在しなくなります。これは、単一のノードがすべての取引を完全に検証できなくなることを意味し、特定の取引データが失われたり隠されたりした場合、詐欺/ 有効性証明を生成することもできなくなります。データの可用性が保証されない場合、軽量クライアントは特に脆弱になります。

したがって、必要なデータの可用性を保証することは、ブロックチェーンのスケーラビリティの重要な課題となっています。現在、過剰な冗長コストを発生させることなく、この保証を提供するためのさまざまな技術が登場しています。


データ可用性の問題

ビットコインや(POS以前の)イーサリアムなどの従来のプルーフ・オブ・ワークブロックチェーンでは、各ブロックにはメタデータヘッダーと取引リストが含まれています。これらのネットワークのフルノードは、各ブロック内のすべての取引をダウンロードして検証し、主に取引を独立して実行し、ブロックチェーンのプロトコルルールに従ってそれらが有効かどうかを確認します。この独立した取引実行の方法により、フルノードは次のブロックを検証し処理するために必要な現在の状態を計算できます。フルノードがこの取引の実行と検証を行うことで、重要な取引の有効性ルールを実行し、マイナーやブロック生産者がブロックに無効な取引を追加するのを防ぎます。


軽量クライアント


軽量クライアントは、SPV("Simplified Payment Verification"簡易支払い検証)クライアントとも呼ばれます。フルノードとは異なるアプローチを採用し、帯域幅とストレージスペースを節約します。SPVクライアントは、ブロックヘッダーのみをダウンロードして検証し、取引を実行または検証しません。その代わりに、 SPV クライアントは、ブロックチェーンのコンセンサスアルゴリズムが好むチェーン、つまりビットコインの中で最も長いチェーンが、プロトコルルールに従った有効なブロックのみを含むという仮定に依存します。これにより、SPVクライアントは実際の取引の実行と検証の作業をブロックチェーンのコンセンサスメカニズム自体に外注することができます。

SPVクライアントのセキュリティモデルは、参加者の中に「誠実な多数」が存在するかどうかに根本的に依存します。たとえば、プルーフ・オブ・ワークブロックチェーンのマイナーが取引の有効性ルールを正しく適用し、少数の無効なブロックを拒否する場合です。もし大多数の不誠実なマイナーやブロック生産者が共謀すれば、彼らは一緒に不正な状態遷移を持つブロックを作成し、トークンを不正に生成したり、資産保護に違反したり、他の形態の盗難や搾取を実現することができます。SPVノード自体はこの悪意のある行動を検出できません。なぜなら、実際には取引を検証しないからです。これに対して、コンセンサスメカニズムに関係なく、フルノードはすべてのプロトコルルールを実行するため、不誠実な多数のノードによって作成された無効なブロックを即座に拒否します。

SPV クライアントのセキュリティ仮定を改善するために、詐欺/ 有効性証明と呼ばれるアラートメカニズムが、フルノードが暗号証明を生成し、軽量クライアントに特定のブロックが無効な状態遷移を明示的に含んでいることを示すことを可能にします。有効な詐欺/ 有効性証明を受け取った場合、たとえコンセンサスメカニズムが無効なブロックを誤って受け入れたとしても、軽量クライアントはその無効なブロックを拒否できます。

しかし、詐欺/有効性証明は、これらの証明を生成するフルノードが、ブロック内で参照される全ての取引データにアクセスできることを根本的に要求します。そうでなければ、取引を再実行し、無効な状態変化を特定することができません。ブロック生産者が特定のブロックの完全な取引データセットを公開せず、ブロックヘッダーのみを選択的に公開する場合、フルノードは詐欺/有効性証明を構築するために必要な情報を取得できません。このように、ネットワークが取引データを取得できない状況は「データ可用性の問題」と呼ばれます。

データ可用性の保証がない場合、軽量クライアントはブロック生産者の行動が誠実であると信じるしかありません。このような信頼への完全な依存は、詐欺/有効性証明の本来の目的に反し、軽量クライアントモデルのセキュリティ上の利点を損ないます。したがって、データの可用性は、特により大きな取引量に拡張する際に、ブロックチェーンネットワーク内の詐欺/有効性証明の期待されるセキュリティと有効性を維持するために重要です。


スケーラビリティソリューションに対するデータ可用性の需要

既存のネットワークにおけるデータ可用性の需要に加えて、データ可用性は、取引スループットを向上させることを目的としたシャーディングやロールアップなどの新しいスケーラビリティソリューションにおいて、ますます重要になっています。現在、proto-danksharding、EIP 4484、Celestia、EigenDA、Availなど、多くのイニシアチブやプロジェクトがロールアップに対して効率的かつ経済的なDAを提供するために大きな進展を遂げています。

シャーディングブロックチェーンアーキテクチャでは、バリデーターの単一ネットワークがより小さなグループまたは「シャード」に分割され、各グループまたは「シャード」は取引の一部のみを処理および検証します。シャードは他のシャードからの取引を処理または検証しないため、単一のシャードノードは自分の特定のシャードの取引データにしかアクセスできません。

ロールアッププロセスでは、取引の実行が最適化された環境でオフチェーンで行われ、取引スループットが大幅に向上します。圧縮および集約された取引データのみが、ロールアップオペレーターによって定期的にメインチェーンL1に公開されます。この方法は、すべての取引をL1で直接実行するのに比べて、L1の手数料と混雑を減少させます。

シャーディングとロールアップでは、どのノードもシステム全体のすべての取引を検証したり観察したりすることができません。従来の単一ブロックチェーンにおけるデータ可用性の仮定は崩れました。もしソーターオペレーターがロールアップブロックの全取引データセットを保持したり、一群の悪意のある共謀者がシャード内で無効なブロックを生成した場合、他のシャードやL1のフルノードは欠落したデータにアクセスできません。これらのデータがなければ、彼らは無効な状態遷移を示す詐欺/有効性証明を生成することができません。なぜなら、問題を特定するために必要なデータを取得できないからです。

新しいスケーラビリティモデルを利用して、悪意のある行為者が無効な取引を選択的に隠すことができるようにするためには、新しい堅牢な方法を導入し、データの可用性を保証する必要があります。ユーザーは、シャードノードやロールアップオペレーターが常に誠実に行動することを信じなければならず、分散型の参加者が常に誠実に行動することを信じることはリスクが高く、これはブロックチェーンがインセンティブメカニズム、分散化、暗号技術を通じて回避しようとしている状況です。

クロスシャーディング取引とL2 ソリューションの文脈において、軽量クライアントモデルと有効な詐欺/ 有効性証明の期待されるセキュリティ上の利点を維持するためには、全取引データがネットワーク内のどこかで常に利用可能であることをより強力に保証する必要があります。データ自体はすべてのシャード上のすべてのノードによってダウンロードされる必要はありませんが、参加者がブロックを検証し、潜在的な問題に関する詐欺/有効性証明を生成したい場合、少なくともこれらのデータにいつでもアクセスできる必要があります。


データ可用性ソリューション

データ可用性を提供するための多くの方法が提案され、探求されています。これらの方法は、シャーディングネットワークやL2ネットワーク内のすべてのノードが過度に完全な取引データセットをダウンロードして保存することなく、実現可能です:


データ可用性サンプリング

データ可用性サンプリングは、軽量クライアントが全取引データセットのランダムな断片のみをダウンロードし、確率的に取引データが利用可能かどうかを確認できる技術の一種を指します。proto-danksharding、Celestia、EigenDA、Availなどのプロジェクトは、KZGコミットメントやZK証明などのさまざまな新技術を試みて、より良いサンプリングを実現しています。

通常、データ可用性サンプリングスキームは、エラーレートコーディングに依存します。この方法は、完全な取引データセットを使用し、計算冗長性を追加することで数学的により長いコーディングデータセットに変換します。十分なコーディング断片のサブセットが利用可能であれば、数学的変換を逆転させることで元のデータを再構築できます。

軽量クライアントは、ランダムに取得した少量のエラーレートコーディングデータ断片を検証します。もし任意のサンプリング断片が失われたり利用できなかったりする場合、全ネットワークが完全なエラーレートコーディングデータセットを利用できない可能性があることを示します。クライアントがデータセットのランダムな断片から収集できるサンプルが多いほど、クライアントが失われたデータを検出する可能性が高くなります。エラーレートコーディングパラメータを調整することで、軽量クライアントは非常に小さな割合の断片(約1%)をランダムにサンプリングするだけで、非常に高い統計的信頼度で完全なデータセットの可用性を検証できます。

この一般的な方法により、軽量クライアントは、実際に全データセットをダウンロードすることなく、非常に大規模な取引データセットの可用性を非常に効率的に確認できます。サンプルは、ネットワーク上のフルノードと共有され、欠落したデータブロックを再構築するのに役立ち、必要に応じて利用できないデータブロックを復元します。


データ提供委員会

委員会に基づくデータ可用性スキームは、取引データの可用性検証の責任を、データ可用性委員会(DAC)と呼ばれる比較的小さな信頼できるノードのグループに割り当てます。委員会ノードは、ブロック取引データの完全なコピーを保存し、メインチェーン上に暗号署名を公開することで、データが完全に利用可能であることを示します。これにより、軽量クライアントはこれらの署名を低コストで検証でき、委員会ノードのデータが利用可能であることを確信できます。

データ可用性委員会が根本的に行うべき妥協は、軽量クライアントが委員会ノードがデータ可用性信号を正しく発信することを信じなければならないことです。集中型の許可された委員会に依存することは、ネットワークに一定の集中リスクと単一障害点をもたらします。プルーフ・オブ・ステークのバリデーターで構成されるDAC技術を使用し、不正行為に対して厳しい罰則を設けることで、軽量クライアントの信頼要求を低減できますが、完全には排除できません。


データシャーディング

データシャーディングスキームでは、取引データが複数のシャードに分割され、軽量クライアントはすべてのシャードから確率的にサンプリングして、システム全体のデータ可用性を検証します。しかし、クロスシャーディングサンプリングを実施することは、通常、データ可用性プロトコルの複雑さを大幅に増加させ、単一障害点を防ぐために複雑なネットワークトポロジーが必要になる可能性があります。


簡潔な証明

ゼロ知識証明やzk-SNARKなどの新興暗号証明は、ブロック内の状態遷移の有効性を証明するために使用でき、基礎となる取引データを漏らすことはありません。たとえば、有効性証明は、ロールアップブロックの遷移が完全に有効であることを証明できますが、ロールアップ自体で使用されるいかなるプライベート取引データも漏らしません。

しかし、根本的には、フルノードが正しくローカル状態を更新するためには、データがどこかで提供される必要があります。ブロック生産者がブロックの基礎となる取引データを完全に提供しない場合、フルノードは最新の状態バランスと完全性を正確に追跡できません。簡潔な証明は状態変化の有効性を保証できますが、これらの変化を引き起こす基礎データの可用性を保証することはできません。


結論

ブロックチェーン取引量の拡大とシャーディングやロールアップなどの先進的なアーキテクチャへの移行に伴い、データ可用性は解決すべき重要な課題です。しかし、去中心化ブロックチェーンネットワークの発展に伴い、データ可用性を実現し、この問題がスケーラビリティと検閲耐性の恒久的な制約にならないようにするための多くの実行可能な方法が存在することは心強いことです。


ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する