はじめに: データの可用性とは正確には何ですか? **おそらく多くの人の第一印象は「ある瞬間の履歴データが得られる」というものですが、実はこれがDAの概念に対する最大の誤解です。 **最近、Danksharding の提案者である L2BEAT Lianchuang と Celestia の創設者がこの誤解を明らかにし、データの有効性とは実際には「データの公開」を指すべきであるが、ほとんどの人は DA を「履歴データ」と理解していると指摘しました。取得できる」ということですが、後者には実際にデータ ストレージの問題が伴います。
例えば、ダンクラッド氏は少し前にレイヤー 2 の強制離脱/脱出ハッチ機構について言及し、Validium の強制離脱ではマークル プルーフを構築するために最新の L2 状態を取得する必要があるが、Plasma では 7 日前の最新の L2 状態のみが必要であると指摘しました (これはは、ユーザーの法的ステートルートを決定する方法に関係します) とは異なります。
これにより、Dankrad 氏は、Validium はユーザー資金の安全性を確保するために DA を要求しているが、Plasma は要求していないことを明確に指摘しました。ここで、Dankrad のユースケースは、DA と履歴データの取得の違い、つまり、DA には新しくリリースされたデータのみが含まれる傾向があることを指摘しています。 **
L2BEATでは、データ可用性DAとデータストレージDSの差がさらに強化されます。 L2BEATのBartek氏は、DAとデータストレージ/履歴データは別物であり、ユーザーが必要なL2データを取得できるのは、データを提供するノードが「自分にとって十分に適している」という理由だけであると繰り返し強調している。また、L2BEATでは、DAに加えて「オープン権限を持つデータストレージノードの有無」もRollupを評価する新たな指標として活用する予定だ。
イーサリアム コミュニティ/イーサリアム財団のメンバーによる上記の発言は、将来的にレイヤー 2 関連の概念を標準化し、レイヤー 2 自体のより詳細な定義を提供することを示しています。ロールアップと L2 に関する多くの用語は実際には十分に説明されていないため、どのくらい前のデータが「履歴データ」とみなされるのかなど、スマート コントラクトは 256 ブロック以内の過去のブロック データしか呼び出すことができないため、データは 256 ブロックになると考える人もいます ( 50 分前)は「履歴データ」とみなされます。
厳密に言えば、セレスティアが言及した「ロールアップ」とイーサリアム財団は別のものです。この記事では、DA とデータ ストレージの概念の違いを明確にすることを目的として、DA のソース、データ可用性サンプリング、ロールアップの DA 実装から、データ可用性とは何か、つまりデータ リリースについて説明します。 **
DA コンセプトのソース
「データの可用性」問題が何を指すのかについて、**Celestia 創設者 Mustafa 氏は次のように説明しました。**DA は、ブロック ジェネレーターが新しいブロックを提案するときに、ブロック内のすべてのデータがネットワークに確実にリリースされるようにする方法です。ブロック ジェネレーターがブロック内のすべてのデータを解放しない場合、ブロックに不正なトランザクションが含まれているかどうかを検出できません。
ムスタファ氏はまた、イーサリアム ロールアップは単に L2 ブロック データをイーサリアム チェーンに公開し、データの可用性を確保するために ETH に依存していることも指摘しました。
**イーサリアムの公式ウェブサイトには、DA について次のような概要があります。 **データの可用性の問題は、「新しいブロックのデータが利用可能かどうかをどのように確認すればよいですか?」という質問として要約できます。クライアント 一般に、データの可用性の問題とは、ブロック全体をダウンロードせずにブロックの可用性を検証することを指します。
**イーサリアムの公式 Web サイトでは、データの可用性と取得の違いも明確に区別しています。 **データの可用性とは、ブロックが提案されたときにブロック データをダウンロードするノードの能力を指します。言い換えれば、データの可用性は、ブロックがまだコンセンサスに達していないときに関係します... データの取得とは、ブロックチェーンから履歴情報を取得するノードの能力を指します... ただし、アーカイブにはブロックチェーンが必要になる場合があります 履歴データですが、ノードはブロックを検証できます履歴データを使用せずにトランザクションを処理します。
**Celestia China の寄稿者であり、W3Hitchhiker パートナーである Ren Honyi 氏の意見では、**Layer2 は、イーサリアムが安全かつ十分に分散化されており、シーケンサーが DA データを安全かつ大胆にイーサリアムに送信でき、これらのデータは障害なく拡散することを事前に想定しています。すべてのイーサリアムフルノードに。 L2 フル ノード自体は、レイヤー 2 DA データを受信できるように、イーサリアム フル ノードのサブセットである Geth クライアントを実行する必要があります。
**EthStorage の創設者である Qi Zhou 博士の観点から見ると、DA の定義は、ユーザーがネットワークに送信したトランザクション データを誰も保持できないことです。対応する信頼モデルは、L1 プロトコル自体を信頼するだけでよく、他の信頼仮定を導入する必要はありません。
Qi Zhou 氏は、イーサリアムの現在の DA 実装方法は実際には P2P ブロードキャスト (ゴシップ プロトコル) であると指摘し、各フル ノードは新しいブロックをダウンロードして伝播し、ロールアップ データを保存します。もちろん、イーサリアムのフルノードは履歴ブロックを永続的に保存するわけではなく、4844 がオンラインになった後、一定期間 (18 日間であるようです) のデータを自動的に削除する可能性があります。 **すべての履歴データを保存するアーカイブ ノードは世界中にそれほど多くありません。**EthStorage は、イーサリアム システムのこのギャップを埋め、レイヤー 2 が独自の排他的なデータ永続ノードをセットアップできるようにすることを目的としています。
データの可用性に関するイーサリアム財団の初期の議論は、2017 年の Vitalik のツイートと github ドキュメントで見ることができます。当時、彼はブロックチェーンのスケーラビリティ/高効率を確保するには、フルノードのハードウェア構成を改善する必要があると考えていました(フルノードとは、完全なブロックをダウンロードしてその正当性を検証するノードであり、コンセンサスを行うバリデーターは完全なノードのサブセットです)。しかし、フルノードのハードウェア構成を改善すると、運用コストが増加し、ブロックチェーンの集中化が起こります。
この点について** Vitalik氏は、高性能フルノードの集中化によって引き起こされるセキュリティリスクを解決するソリューションを設計できると述べた。 ** イレイジャーコーディングとデータランダムサンプリングを導入して、ローエンドハードウェアを搭載したライトノードが完全なブロックを知らなくても、そのブロックに問題がないことを認識できるプロトコルを設計する予定だという。
彼の最初の考えは、実際にはビットコインのホワイトペーパーで言及されている考えに関連していました。この考え方は、ライトノードが完全なブロックを受け取る必要はなく、ブロックに問題がある場合、正直なフルノードが「アラーム」を発行してライトノードに通知するというものです。この考え方はその後の不正行為の証明にも拡張できますが、誠実なフルノードが常に十分なデータを取得できるという保証はなく、ブロック提案者が特定のデータを保留して公開しなかったかどうかを後から判断することもできません。
たとえば、あるノード A がノード B から不完全なブロックを受け取ったと主張する詐欺証明書を発行する可能性があります。しかし現時点では、この不完全なブロックがA自身によって偽造されたのか、それともBによって送信されたのかを判断することはできません。 Vitalik 氏は、この問題はデータ可用性サンプリング DAS で解決できると指摘しました (明らかに、データ可用性には本質的にデータ リリースの問題が含まれます)。
Vitalik は、「データの可用性とイレイジャー コーディングに関するメモ」で、これらの問題とその解決策について概要を説明しています。 **彼は、DA 証明書は本質的に詐欺証明書の「完成版」であると指摘しました。 **
データ可用性のサンプリング
しかし、Vitalik の github ドキュメントは 18 回も修正されているため、DA の概念を説明するのは明らかに簡単ではありません。記録によると、最後の修正は 2018 年 9 月 25 日に提出されました。その前日、2018 年 9 月 24 日、Celestia 創設者のムスタファとヴィタリクは、将来有名になる論文——不正行為とデータ可用性の証明: ライト クライアント セキュリティの最大化とブロックチェーンのスケーリングを共同で発表しました。不正直な多数派と
興味深いことに、この論文の最初の著者はヴィタリックではなくムスタファです(もう一人の著者は現在、Sui Public Chainの研究者です)。この記事では、Fraud Proof の概念について言及し、データ可用性サンプリング DAS の原理を説明し、DAS + 2 次元消去符号化 + 不正防止のマッシュアップ プロトコルを大まかに設計しました。 **この論文では、DA 証明システムは本質的に不正証明に必要な補足であると明確に述べられています。 **
Vitalik の観点から始めると、このプロトコルの役割は次のように要約できます。
パブリック チェーンにハイエンド ハードウェアを備えた N 個のコンセンサス ノード バリデーターがあり、データ スループットが大きく、効率が非常に高いとします。このようなブロックチェーンは高い TPS を持っていますが、コンセンサスノード N の数は比較的少なく、比較的集中化されており、ノードの衝突の可能性が高くなります。
ただし、N 個のコンセンサス ノードのうち少なくとも 1 つは正直です。 **少なくとも 1/N バリデーターが正直である限り、**ブロックが無効であることを確認し、必要に応じて不正行為の証拠をブロードキャストする用意がある限り、ライトノードまたは誠実なバリデーターはネットワークにセキュリティ問題があることを知ることができます。 、悪意のあるノードをスラッシュし、社会的合意を得てフォークやその他の方法を使用してネットワークを正常に復元することができます。
ただし、Vitalik が前に述べたように、正直なフルノードがブロックを受け取り、特定の部分が欠けていることがわかり、不正証明書を公開した場合、ブロック提案者がデータのこの部分を公開しなかったのか、それともブロックされたのかを判断するのは困難です。他のノードがそれを保留したか、不正証明書を発行したノードが独自に行動しました。
さらに、ほとんどのノードが結託すると、1/N の正直なバリデーターが孤立し、新しいブロックを取得できなくなる可能性があり、これはデータ保留攻撃シナリオとみなされます。注意すべき点は、現時点では、正直なノードは、ネットワークの状態が悪いのか、それとも他の人が共謀してデータを差し控えているのか、また他のノードも孤立しているのかどうかも分からず、判断が難しいことです。大多数の人が共謀してデータを差し控えています。
要約すると、誠実な検証者がブロックの検証に必要なデータを非常に高い確率で確実に取得できる方法が必要であり、同時に誰がデータ保留攻撃に関与しているのかを特定できなければなりません** - 公開していないのはブロック提案者です。十分なデータがある場合でも、他のノードによって保留されているか、ほとんどのノードが共謀していると言われます。明らかに、このセキュリティ モデルには通常の POS チェーンの「正直多数の仮定」よりも多くの保証があり、データ可用性サンプリング DAS はその具体的な実装方法です。
ここでは、ネットワーク内に多くのライト ノード (おそらく 10 N) があり、各ライト ノードが複数のバリデーター** に接続されていると仮定します (分析の便宜上、各ライト ノードは N 個のバリデーターすべてに接続されていると想定しています)。これらのライト ノードは、Validator へのデータ サンプリングを複数回開始し、毎回データのごく一部をランダムに要求します (ブロックの 1% のみを占めると仮定します)。その後、抽出されたフラグメントを、このデータを持たないバリデーターに伝播します。 十分なライト ノードがあり、データ サンプリング回数が十分な頻度である限り、たとえ一部のリクエストが拒否されたとしても、そのほとんどが応答される限り、最終的にはすべてのバリデーターがブロックを検証するために必要な十分なデータを取得します。これにより、ブロック提案者以外のノードによって保留されているデータの影響を相殺できます。 **
(画像出典: W3 ヒッチハイカー)
そして、ほとんどのバリデーターが共謀して、ほとんどのライトノードのリクエストに応答することを拒否した場合、人々はチェーンに問題があることに容易に気づくでしょう(たとえ一部の人のネットワーク速度が良くなくても、リクエストほど悪くはならないからです)ほとんどのライトノード) が拒否されました)。したがって、前述のスキームは、ほとんどの共謀行為を非常に高い確率で検出できますが、もちろん、この状況自体が発生することはほとんどありません。
この時点で、ブロック提案者の外部から来る不確実性を解決できます。 **ブロックの提案者がデータを保留している場合、*たとえば、ブロック内のブロックを検証するために必要な十分なデータを公開しません (2 次元消失符号化の導入後、ブロックには 2k*2k のフラグメントが含まれます)。ブロックの元のデータを復元するには、1/4 を占める少なくとも約 k*k のフラグメントが必要です。提案者は、他の人が元のデータを復元できないようにすることを望んでおり、少なくとも k+1*k+1 のフラグメントが必要です *これは最終的には誠実な検証者によって検出され、他の ***** 者に警告するために詐欺の証拠をブロードキャストします。 **
ヴィタリック氏とムスタファ氏によると、彼らは実際に以前に提案されたアイデアを組み合わせ、その上に特定の革新を加えたという。概念全体の開始点と実装の観点から、いわゆる「データの可用性」とは、最新のブロックを検証するために必要なデータがブロック提案者によってリリースされており、ブロック提案者によって検証できるかどうかを指すことは明らかです。検証者を受け取ります。 **これは、「履歴データが取得できるかどうか」ではなく、「データが完全に公開されるかどうか」に関するものです。
イーサリアムロールアップのDAの実装方法
前の結論を踏まえて、イーサリアム ロールアップの DA 実装を見てみましょう. それは実際には比較的明確です: **ロールアップのブロック プロポーザーはシーケンサーであり、時々イーサリアム上で検証を発行します. レイヤ 2 状態遷移に必要なデータ。 **正確には、指定されたコントラクトに対してトランザクションを開始し、DA に関与するデータをカスタム入力パラメーターに挿入し、最終的にイーサリアム ブロックに記録されます。イーサリアムは十分に分散化されているため、シーケンサーによって送信されたデータが「バリデーター」によって正常に受信されることを確信できます。ただし、ロールアップ ネットワークごとに「検証者」の役割を果たすものは異なります。
*(Arbitrum シーケンサーはトランザクション バッチをイーサリアム上のコントラクトにポストします。コントラクト自体はこれらのデータを検証しませんが、L2 フル ノードがリッスンするイベントをスローするだけで、シーケンサーがトランザクション バッチをリリースしたことを L2 フル ノードに知らせます。 ) *
具体的には、ZK Rollup はイーサリアム上の Verifier コントラクトを使用して「検証者」として機能します。 **ZKR は少なくとも状態差分 + 有効性証明のみを公開する必要があります。**つまり、状態変更 + 有効性証明。検証者コントラクトは有効性証明を検出して、状態差分と一致するかどうかを判断します。検証に合格すると、シーケンサーによって発行された L2 ブロック/バッチは有効とみなされます。
(出典:旧 Polygon Hermez ホワイト ペーパー)
最も楽観的なロールアップは、データをダウンロードしてブロックの有効性を検証するために L2 フルノードのみに依存できるため、イーサリアム上でより多くのデータをリリースします。 **この場合、少なくとも各L2トランザクションのデジタル署名を公開する必要があり(現在は集約署名が一般的に使用されています)、コントラクトを呼び出す場合には入力パラメータも公開する必要があり、さらにトランザクション転送アドレスとリプレイ攻撃を防ぐための nonce 値を公開する必要があります。ただし、完全なトランザクション データと比較すると、まだある程度の剪定が行われています。
**ZK ロールアップと比較して、オプティミスティック ロールアップの DA コストは高くなります。**ZK ロールアップは、トランザクションのバッチが実行された後の最終状態の変更を開示するだけでよく、有効性証明書が付属しているため、 ZK SNARK/STARK; Optimistic Rollup では、すべてのトランザクションを他の L2 フル ノードで再実行できるようにする、最も面倒な方法のみを使用できます。
W3hitchhiker は以前、将来の 4844 と BLOB を考慮せずに、ZKR の拡張効果は OPR の数倍に達する可能性があると大まかに見積もっています。4337 関連のスマート ウォレットを考慮 (秘密鍵の署名を指紋と虹彩のデータに置き換える) とすると、ZKR の Optimistic Rollup とは異なり、指紋と虹彩のバイナリ データをイーサリアムにポストする必要がないため、利点はより明白になります)。
Validium と Plasma/Optimium に関しては、実際にはイーサリアム チェーンの下の DA 層を使用して DA を実装します。たとえば、有効性証明システムを使用する ImmutableX は、DA に関連するデータを公開するために一連の DAC ノード (Data Availability Committee) を構築しており、Metis は Memlabs で DA データを公開し、Rooch と Manta は Celestia を使用しています。現時点では、DAS と不正防止システムの存在により、**Celestia はイーサリアム以外で最も信頼できる DA レイヤー プロジェクトの 1 つであるようです。 **
参考文献
5
3k 人気度
22k 人気度
27k 人気度
270k 人気度
48 人気度
データの可用性に関する誤解: DA = データのリリース ≠ 履歴データの取得
はじめに: データの可用性とは正確には何ですか? **おそらく多くの人の第一印象は「ある瞬間の履歴データが得られる」というものですが、実はこれがDAの概念に対する最大の誤解です。 **最近、Danksharding の提案者である L2BEAT Lianchuang と Celestia の創設者がこの誤解を明らかにし、データの有効性とは実際には「データの公開」を指すべきであるが、ほとんどの人は DA を「履歴データ」と理解していると指摘しました。取得できる」ということですが、後者には実際にデータ ストレージの問題が伴います。
例えば、ダンクラッド氏は少し前にレイヤー 2 の強制離脱/脱出ハッチ機構について言及し、Validium の強制離脱ではマークル プルーフを構築するために最新の L2 状態を取得する必要があるが、Plasma では 7 日前の最新の L2 状態のみが必要であると指摘しました (これはは、ユーザーの法的ステートルートを決定する方法に関係します) とは異なります。
これにより、Dankrad 氏は、Validium はユーザー資金の安全性を確保するために DA を要求しているが、Plasma は要求していないことを明確に指摘しました。ここで、Dankrad のユースケースは、DA と履歴データの取得の違い、つまり、DA には新しくリリースされたデータのみが含まれる傾向があることを指摘しています。 **
L2BEATでは、データ可用性DAとデータストレージDSの差がさらに強化されます。 L2BEATのBartek氏は、DAとデータストレージ/履歴データは別物であり、ユーザーが必要なL2データを取得できるのは、データを提供するノードが「自分にとって十分に適している」という理由だけであると繰り返し強調している。また、L2BEATでは、DAに加えて「オープン権限を持つデータストレージノードの有無」もRollupを評価する新たな指標として活用する予定だ。
イーサリアム コミュニティ/イーサリアム財団のメンバーによる上記の発言は、将来的にレイヤー 2 関連の概念を標準化し、レイヤー 2 自体のより詳細な定義を提供することを示しています。ロールアップと L2 に関する多くの用語は実際には十分に説明されていないため、どのくらい前のデータが「履歴データ」とみなされるのかなど、スマート コントラクトは 256 ブロック以内の過去のブロック データしか呼び出すことができないため、データは 256 ブロックになると考える人もいます ( 50 分前)は「履歴データ」とみなされます。
厳密に言えば、セレスティアが言及した「ロールアップ」とイーサリアム財団は別のものです。この記事では、DA とデータ ストレージの概念の違いを明確にすることを目的として、DA のソース、データ可用性サンプリング、ロールアップの DA 実装から、データ可用性とは何か、つまりデータ リリースについて説明します。 **
DA コンセプトのソース
「データの可用性」問題が何を指すのかについて、**Celestia 創設者 Mustafa 氏は次のように説明しました。**DA は、ブロック ジェネレーターが新しいブロックを提案するときに、ブロック内のすべてのデータがネットワークに確実にリリースされるようにする方法です。ブロック ジェネレーターがブロック内のすべてのデータを解放しない場合、ブロックに不正なトランザクションが含まれているかどうかを検出できません。
ムスタファ氏はまた、イーサリアム ロールアップは単に L2 ブロック データをイーサリアム チェーンに公開し、データの可用性を確保するために ETH に依存していることも指摘しました。
**イーサリアムの公式ウェブサイトには、DA について次のような概要があります。 **データの可用性の問題は、「新しいブロックのデータが利用可能かどうかをどのように確認すればよいですか?」という質問として要約できます。クライアント 一般に、データの可用性の問題とは、ブロック全体をダウンロードせずにブロックの可用性を検証することを指します。
**イーサリアムの公式 Web サイトでは、データの可用性と取得の違いも明確に区別しています。 **データの可用性とは、ブロックが提案されたときにブロック データをダウンロードするノードの能力を指します。言い換えれば、データの可用性は、ブロックがまだコンセンサスに達していないときに関係します... データの取得とは、ブロックチェーンから履歴情報を取得するノードの能力を指します... ただし、アーカイブにはブロックチェーンが必要になる場合があります 履歴データですが、ノードはブロックを検証できます履歴データを使用せずにトランザクションを処理します。
**Celestia China の寄稿者であり、W3Hitchhiker パートナーである Ren Honyi 氏の意見では、**Layer2 は、イーサリアムが安全かつ十分に分散化されており、シーケンサーが DA データを安全かつ大胆にイーサリアムに送信でき、これらのデータは障害なく拡散することを事前に想定しています。すべてのイーサリアムフルノードに。 L2 フル ノード自体は、レイヤー 2 DA データを受信できるように、イーサリアム フル ノードのサブセットである Geth クライアントを実行する必要があります。
**EthStorage の創設者である Qi Zhou 博士の観点から見ると、DA の定義は、ユーザーがネットワークに送信したトランザクション データを誰も保持できないことです。対応する信頼モデルは、L1 プロトコル自体を信頼するだけでよく、他の信頼仮定を導入する必要はありません。
Qi Zhou 氏は、イーサリアムの現在の DA 実装方法は実際には P2P ブロードキャスト (ゴシップ プロトコル) であると指摘し、各フル ノードは新しいブロックをダウンロードして伝播し、ロールアップ データを保存します。もちろん、イーサリアムのフルノードは履歴ブロックを永続的に保存するわけではなく、4844 がオンラインになった後、一定期間 (18 日間であるようです) のデータを自動的に削除する可能性があります。 **すべての履歴データを保存するアーカイブ ノードは世界中にそれほど多くありません。**EthStorage は、イーサリアム システムのこのギャップを埋め、レイヤー 2 が独自の排他的なデータ永続ノードをセットアップできるようにすることを目的としています。
データの可用性に関するイーサリアム財団の初期の議論は、2017 年の Vitalik のツイートと github ドキュメントで見ることができます。当時、彼はブロックチェーンのスケーラビリティ/高効率を確保するには、フルノードのハードウェア構成を改善する必要があると考えていました(フルノードとは、完全なブロックをダウンロードしてその正当性を検証するノードであり、コンセンサスを行うバリデーターは完全なノードのサブセットです)。しかし、フルノードのハードウェア構成を改善すると、運用コストが増加し、ブロックチェーンの集中化が起こります。
この点について** Vitalik氏は、高性能フルノードの集中化によって引き起こされるセキュリティリスクを解決するソリューションを設計できると述べた。 ** イレイジャーコーディングとデータランダムサンプリングを導入して、ローエンドハードウェアを搭載したライトノードが完全なブロックを知らなくても、そのブロックに問題がないことを認識できるプロトコルを設計する予定だという。
彼の最初の考えは、実際にはビットコインのホワイトペーパーで言及されている考えに関連していました。この考え方は、ライトノードが完全なブロックを受け取る必要はなく、ブロックに問題がある場合、正直なフルノードが「アラーム」を発行してライトノードに通知するというものです。この考え方はその後の不正行為の証明にも拡張できますが、誠実なフルノードが常に十分なデータを取得できるという保証はなく、ブロック提案者が特定のデータを保留して公開しなかったかどうかを後から判断することもできません。
たとえば、あるノード A がノード B から不完全なブロックを受け取ったと主張する詐欺証明書を発行する可能性があります。しかし現時点では、この不完全なブロックがA自身によって偽造されたのか、それともBによって送信されたのかを判断することはできません。 Vitalik 氏は、この問題はデータ可用性サンプリング DAS で解決できると指摘しました (明らかに、データ可用性には本質的にデータ リリースの問題が含まれます)。
Vitalik は、「データの可用性とイレイジャー コーディングに関するメモ」で、これらの問題とその解決策について概要を説明しています。 **彼は、DA 証明書は本質的に詐欺証明書の「完成版」であると指摘しました。 **
データ可用性のサンプリング
しかし、Vitalik の github ドキュメントは 18 回も修正されているため、DA の概念を説明するのは明らかに簡単ではありません。記録によると、最後の修正は 2018 年 9 月 25 日に提出されました。その前日、2018 年 9 月 24 日、Celestia 創設者のムスタファとヴィタリクは、将来有名になる論文——不正行為とデータ可用性の証明: ライト クライアント セキュリティの最大化とブロックチェーンのスケーリングを共同で発表しました。不正直な多数派と
興味深いことに、この論文の最初の著者はヴィタリックではなくムスタファです(もう一人の著者は現在、Sui Public Chainの研究者です)。この記事では、Fraud Proof の概念について言及し、データ可用性サンプリング DAS の原理を説明し、DAS + 2 次元消去符号化 + 不正防止のマッシュアップ プロトコルを大まかに設計しました。 **この論文では、DA 証明システムは本質的に不正証明に必要な補足であると明確に述べられています。 **
Vitalik の観点から始めると、このプロトコルの役割は次のように要約できます。
パブリック チェーンにハイエンド ハードウェアを備えた N 個のコンセンサス ノード バリデーターがあり、データ スループットが大きく、効率が非常に高いとします。このようなブロックチェーンは高い TPS を持っていますが、コンセンサスノード N の数は比較的少なく、比較的集中化されており、ノードの衝突の可能性が高くなります。
ただし、N 個のコンセンサス ノードのうち少なくとも 1 つは正直です。 **少なくとも 1/N バリデーターが正直である限り、**ブロックが無効であることを確認し、必要に応じて不正行為の証拠をブロードキャストする用意がある限り、ライトノードまたは誠実なバリデーターはネットワークにセキュリティ問題があることを知ることができます。 、悪意のあるノードをスラッシュし、社会的合意を得てフォークやその他の方法を使用してネットワークを正常に復元することができます。
ただし、Vitalik が前に述べたように、正直なフルノードがブロックを受け取り、特定の部分が欠けていることがわかり、不正証明書を公開した場合、ブロック提案者がデータのこの部分を公開しなかったのか、それともブロックされたのかを判断するのは困難です。他のノードがそれを保留したか、不正証明書を発行したノードが独自に行動しました。
さらに、ほとんどのノードが結託すると、1/N の正直なバリデーターが孤立し、新しいブロックを取得できなくなる可能性があり、これはデータ保留攻撃シナリオとみなされます。注意すべき点は、現時点では、正直なノードは、ネットワークの状態が悪いのか、それとも他の人が共謀してデータを差し控えているのか、また他のノードも孤立しているのかどうかも分からず、判断が難しいことです。大多数の人が共謀してデータを差し控えています。
要約すると、誠実な検証者がブロックの検証に必要なデータを非常に高い確率で確実に取得できる方法が必要であり、同時に誰がデータ保留攻撃に関与しているのかを特定できなければなりません** - 公開していないのはブロック提案者です。十分なデータがある場合でも、他のノードによって保留されているか、ほとんどのノードが共謀していると言われます。明らかに、このセキュリティ モデルには通常の POS チェーンの「正直多数の仮定」よりも多くの保証があり、データ可用性サンプリング DAS はその具体的な実装方法です。
ここでは、ネットワーク内に多くのライト ノード (おそらく 10 N) があり、各ライト ノードが複数のバリデーター** に接続されていると仮定します (分析の便宜上、各ライト ノードは N 個のバリデーターすべてに接続されていると想定しています)。これらのライト ノードは、Validator へのデータ サンプリングを複数回開始し、毎回データのごく一部をランダムに要求します (ブロックの 1% のみを占めると仮定します)。その後、抽出されたフラグメントを、このデータを持たないバリデーターに伝播します。 十分なライト ノードがあり、データ サンプリング回数が十分な頻度である限り、たとえ一部のリクエストが拒否されたとしても、そのほとんどが応答される限り、最終的にはすべてのバリデーターがブロックを検証するために必要な十分なデータを取得します。これにより、ブロック提案者以外のノードによって保留されているデータの影響を相殺できます。 **
(画像出典: W3 ヒッチハイカー)
そして、ほとんどのバリデーターが共謀して、ほとんどのライトノードのリクエストに応答することを拒否した場合、人々はチェーンに問題があることに容易に気づくでしょう(たとえ一部の人のネットワーク速度が良くなくても、リクエストほど悪くはならないからです)ほとんどのライトノード) が拒否されました)。したがって、前述のスキームは、ほとんどの共謀行為を非常に高い確率で検出できますが、もちろん、この状況自体が発生することはほとんどありません。
この時点で、ブロック提案者の外部から来る不確実性を解決できます。 **ブロックの提案者がデータを保留している場合、*たとえば、ブロック内のブロックを検証するために必要な十分なデータを公開しません (2 次元消失符号化の導入後、ブロックには 2k*2k のフラグメントが含まれます)。ブロックの元のデータを復元するには、1/4 を占める少なくとも約 k*k のフラグメントが必要です。提案者は、他の人が元のデータを復元できないようにすることを望んでおり、少なくとも k+1*k+1 のフラグメントが必要です *これは最終的には誠実な検証者によって検出され、他の ***** 者に警告するために詐欺の証拠をブロードキャストします。 **
ヴィタリック氏とムスタファ氏によると、彼らは実際に以前に提案されたアイデアを組み合わせ、その上に特定の革新を加えたという。概念全体の開始点と実装の観点から、いわゆる「データの可用性」とは、最新のブロックを検証するために必要なデータがブロック提案者によってリリースされており、ブロック提案者によって検証できるかどうかを指すことは明らかです。検証者を受け取ります。 **これは、「履歴データが取得できるかどうか」ではなく、「データが完全に公開されるかどうか」に関するものです。
イーサリアムロールアップのDAの実装方法
前の結論を踏まえて、イーサリアム ロールアップの DA 実装を見てみましょう. それは実際には比較的明確です: **ロールアップのブロック プロポーザーはシーケンサーであり、時々イーサリアム上で検証を発行します. レイヤ 2 状態遷移に必要なデータ。 **正確には、指定されたコントラクトに対してトランザクションを開始し、DA に関与するデータをカスタム入力パラメーターに挿入し、最終的にイーサリアム ブロックに記録されます。イーサリアムは十分に分散化されているため、シーケンサーによって送信されたデータが「バリデーター」によって正常に受信されることを確信できます。ただし、ロールアップ ネットワークごとに「検証者」の役割を果たすものは異なります。
*(Arbitrum シーケンサーはトランザクション バッチをイーサリアム上のコントラクトにポストします。コントラクト自体はこれらのデータを検証しませんが、L2 フル ノードがリッスンするイベントをスローするだけで、シーケンサーがトランザクション バッチをリリースしたことを L2 フル ノードに知らせます。 ) *
具体的には、ZK Rollup はイーサリアム上の Verifier コントラクトを使用して「検証者」として機能します。 **ZKR は少なくとも状態差分 + 有効性証明のみを公開する必要があります。**つまり、状態変更 + 有効性証明。検証者コントラクトは有効性証明を検出して、状態差分と一致するかどうかを判断します。検証に合格すると、シーケンサーによって発行された L2 ブロック/バッチは有効とみなされます。
(出典:旧 Polygon Hermez ホワイト ペーパー)
最も楽観的なロールアップは、データをダウンロードしてブロックの有効性を検証するために L2 フルノードのみに依存できるため、イーサリアム上でより多くのデータをリリースします。 **この場合、少なくとも各L2トランザクションのデジタル署名を公開する必要があり(現在は集約署名が一般的に使用されています)、コントラクトを呼び出す場合には入力パラメータも公開する必要があり、さらにトランザクション転送アドレスとリプレイ攻撃を防ぐための nonce 値を公開する必要があります。ただし、完全なトランザクション データと比較すると、まだある程度の剪定が行われています。
**ZK ロールアップと比較して、オプティミスティック ロールアップの DA コストは高くなります。**ZK ロールアップは、トランザクションのバッチが実行された後の最終状態の変更を開示するだけでよく、有効性証明書が付属しているため、 ZK SNARK/STARK; Optimistic Rollup では、すべてのトランザクションを他の L2 フル ノードで再実行できるようにする、最も面倒な方法のみを使用できます。
W3hitchhiker は以前、将来の 4844 と BLOB を考慮せずに、ZKR の拡張効果は OPR の数倍に達する可能性があると大まかに見積もっています。4337 関連のスマート ウォレットを考慮 (秘密鍵の署名を指紋と虹彩のデータに置き換える) とすると、ZKR の Optimistic Rollup とは異なり、指紋と虹彩のバイナリ データをイーサリアムにポストする必要がないため、利点はより明白になります)。
Validium と Plasma/Optimium に関しては、実際にはイーサリアム チェーンの下の DA 層を使用して DA を実装します。たとえば、有効性証明システムを使用する ImmutableX は、DA に関連するデータを公開するために一連の DAC ノード (Data Availability Committee) を構築しており、Metis は Memlabs で DA データを公開し、Rooch と Manta は Celestia を使用しています。現時点では、DAS と不正防止システムの存在により、**Celestia はイーサリアム以外で最も信頼できる DA レイヤー プロジェクトの 1 つであるようです。 **
参考文献
5