
原作者:Xiang|W3.ヒッチハイカー
原文編集者:Evelyn|W3.ヒッチハイカー
さまざまな多項式コミットメントスキームのリスト
上の表において、FRI は量子レベルのセキュリティを実現できる Starkware が採用する多項式コミットメント方式であり、証明データ量が最も多く、IPA は Bulletproof および Halo2 のゼロ知識アルゴリズムのデフォルトの多項式コミットメント方式であり、検証時間は比較的長く、Monero、zcash などがあり、最初の 2 つは信頼できる初期設定を必要としません。
上図から、KZG 多項式コミットメントは証明サイズと検証時間の点で比較的大きな利点があり、現在最も広く使用されている多項式コミットメント方法でもあることがわかります。ただし、KZG は楕円曲線とペアリング関数に基づいており、信頼できる初期設定が必要です。
ETH アップグレード ルートを多項式コミットメントにリンクする
副題
The Merge:
副題
The Surge:
副題
The Verge:
副題
The Purge:
副題
The Splurge:
アップグレード後の 4 つの異なる部分の調整は、EVM の改善とアカウント抽象化モデルの追加だけでなく、エラー (バグ) の発生を減らし、ネットワークのスムーズな動作を確保することを目的としています。
その中で、The Surge アップグレードは多項式コミットメント技術を使用してデータサンプリング機能を実現し、The Verge アップグレードは多項式コミットメントを使用してデータ構造を最適化し、ETH L2 の zkrollup も多項式コミットメントを使用してゼロ知識証明によるパフォーマンス拡張を実現します。
KZG 多項式コミットメントとは
この記事では、よく理解されている KZG 多項式コミットメントのみを紹介します。KZG 多項式コミットメント (KZG 多項式コミットメント) は、カーター多項式コミットメント スキームとも呼ばれ、Kate、Zaverucha、Goldberg によって出版されました。多項式スキームでは、証明者は多項式のコミットメントを計算し、多項式内の任意の点でそれを開くことができます。このコミットメント スキームは、特定の位置における多項式の値が指定された値と一致していることを証明できます。
これは、コミットされた値 (楕円曲線上の点) がオブジェクト (検証者) に送信されるとき、証明者は現在計算中の多項式を変更できないため、コミットメントと呼ばれます。彼らは多項式の有効な証明しか提供できません。不正行為をしようとした場合、証明を提供できないか、証明が検証者によって拒否されます。
KZG の数学的原理
詳細については、Dapp Learning で Qi Zhou 博士が説明した内容を参照してください。KZGビデオ。
最初のレベルのタイトル
副題
単一の証拠
カーターは、単一データの式が次のように導かれることを証明しました。楕円曲線グループは加法準同型性のみをサポートしているため、多項式間の乗算をサポートできません。これはペア関数で解決する必要があります。
楕円曲線グループは多項式間の乗算演算をサポートしていないため、問題を解決するにはペアリング関数を使用する必要があります。
バッチプルーフ
特定のアプリケーションシナリオ
多項式コミットメントの適用方向は 3 つのカテゴリに要約できます。
データ可用性 (ETH サージ アップグレード、ETH ダークシャーディング、L2 コスト削減、モジュラー データ可用性プロジェクト Avails)
データ構造の最適化 (MPT ツリーから Verkle ツリーへの変更、ETH Verge のアップグレード、ステートレス クライアント、ETH の軽量検証ノード)
ゼロ知識証明システム (Zksync、Zkswap、Scroll、PSE は Zk に多項式コミットメント スキームを提供し、チェーンの拡張能力を大幅に向上させます)
1. データの可用性
DAS (データ可用性サンプリング)
主な目的: データが欠落している場合、ほとんどのノードのスポット チェックに合格しません。
最善を尽くします。占有帯域幅を減らし、サンプリング プロセス中に必要な計算量を減らします。
消去コード(セレスティア)
イレイジャーコーディングにより追加のデータブロックが追加されるため、スポット調査で簡単に検出できるため、セキュリティが向上します。
上の図を例にとると、データは 4 つあり、一度にサンプリングできるのは 1 つだけです。1 つのデータに問題があると仮定すると、各ユーザーがエラーを見つける確率は 1/4 ですが、2 つのデータを追加した後ではブロックされているが、1 つのデータにはまだ問題があり、ユーザー サンプリングでは、発見の確率は 1/2 (3/6) に達する可能性があります。これによりセキュリティが大幅に向上します。
KZG は、ラグランジュ公式を使用して消去コードを実装することもできます。
たとえば、式 y=3x+3 に (0,3)、(1,6) を入力します。
y1、y2は保存するデータとして理解できますが、
対応する点 (2,8) (3,12) など。y 値は消去コード データとして使用でき、任意の 2 点は元の多項式の係数から導き出すことができます。
さまざまなデータ利用可能項目の構成
Celestia = Tendermint (cosmos) + 2D 消去コード + 不正防止 + 名前空間マークル ツリー + IPFS インフラストラクチャ (データ ストレージには IPFS Blockstore、伝送ネットワークには IPFS の Libp2p とビットスワップ、データ モデルには IPFS の Ipld)
Polygon Avail = 基板(ポルカドット) + 2次元消去コード + KZG多項式コミットメント + IPFSインフラストラクチャ
ETHprotoDankSharding = BLOB データ (データ可用性のためのストレージ、既存の呼び出しデータを置き換える) + 2 次元消去コード + KZG 多項式コミットメント (未定、プランまだ議論中) + ETHインフラストラクチャ
EIP-4844 アップグレードでは、「プロト ダンクシャーディング」が導入され、マージ後の次のイーサリアム フォーク アップグレードで BLOB トランザクション タイプ (EIP-4844) が追加されます。これにより、道が開かれながら、第 2 層のロールアップのスケーラビリティが向上することが期待されます。完全なシャーディングの場合。
追加のストレージを含む新しいトランザクション タイプを追加しました - BLOB
BLOB はわずか 128 KiB のストレージから始まります
(1) トランザクションには最大 2 つの BLOB (256 KiB) が含まれます。
(2) ブロックには最大 16、つまり 2 MiB が含まれます。ターゲットは 8、つまり 1 MiB (拡張可能)
BLOB は、マークルと同様に、データ検証用のハッシュとして KZG コミットメント ハッシュを使用します
ノードがチェーン上の BLOB トランザクションを同期した後、一定期間後に BLOB 部分が削除されます
DankSharding をサポートするには、L2 が L1 の現在のコントラクトを更新する必要があります。
Celestia は不正行為の証明を通じて実装されています。データが正しく削除されていないことを目撃者が発見すると、その人は他のノードに警告するために不正行為の証拠を提出します。ただし、最低限の誠実性の前提 (少なくとも 1 つの誠実なノードに接続する) と同期の前提 (誰かが不正行為の証拠を送信したときに、一定の期間内に通知を受け取ることができるようにする必要がある) があります。
protoDanksharding 以降、イーサリアムと Polygon Avail は KZG 多項式コミットメント (KZG コミットメント) の手法を採用しています。
KZG 多項式コミットメント スキームは理論的には不正防止スキームよりも優れており、帯域幅要件が小さく、サンプリングに必要な計算が少なく、また、いくつかの正直な仮定や同期の仮定など、不正防止におけるセキュリティの仮定も排除されています。将来的には、ETHは、量子コンピュータ攻撃を回避するために、反ポスト量子暗号(楕円曲線を基礎として使用する代わりにハッシュを使用するスタークを参照)を導入する予定でもある。
2. データ構造の最適化 Verkle Tree
Verkle Tree の概念は 2018 年に開始されました。ETH アップグレードの重要な部分として、Merkle Tree と比較して Proof のサイズが大幅に向上しました。10 億レベルのデータの場合、Merkle Tree の Proof には約 1kB が必要です。 Verkle Tree の場合は 150 バイト未満になります。
Merkle Tree と同様に、Verkle Tree も Proof of Inclusion (PoI) を実装でき、追加の Proof なしで KZG ルートとデータのみを検証できるため、帯域幅が節約されます。
1. 要件: ステートレス クライアント
(1) ノードは完全な状態ツリーを保存せず、ブロックを検証するために必要な状態のみを取得します。
(3) ステート ツリーの PoI にはより高いパフォーマンス要件があります
2. データの可用性の確認KZG commitment
各葉は多項式上の点です
サイズが一定である証明、葉の数とは関係ありません
さまざまなツリー構造での証明の構築、証明の更新、および証明に必要な複雑さ:
Verkleスキームは、イーサリアムクライアントが完全な状態データをダウンロードする必要がないため、ETHバリデータライトノード(携帯電話の操作もサポート)、多項式コミットメント(初期段階でKZGが検討されていたVerkleツリーの多項式コミットメントスキーム)、 IPA は近い将来にまだ検討されています)) は、スペースの複雑さが大幅に軽減され、帯域幅要件も大幅に軽減されることを証明する必要があります。
3. ゼロ知識証明システム
初期の zk 手法 (Groth16) は線形 PCP カテゴリに属します。信頼できるセットアップが必要であることに加えて、主な欠点は、別の計算 (別の回路/多項式) に対して証明を提供する必要がある場合、新しいセットアップが必要になることです。最近の zk テクノロジーの PIOP クラスは、一般的な初期セットアップと透過的なセットアップ (信頼の前提は必要ありません) をサポートしています。
新しい zk 証明システムは通常、PIOP (Polynomial Interactive Oracle Proof) + PCS (Polynomial Commitment Scheme) として説明できます。前者は証明者が検証者を説得するために使用する合意されたプログラムと考えることができ、後者はプログラムが破られないことを保証するために数学的手法を使用します。プロジェクト関係者は、必要に応じて PIOP を変更し、さまざまな PCS から選択できます。
アンバーの記事の写真から、Ploygon Hermez、Scoll、Zksync2.0、Aztec、Aleo、Manta、およびイーサリアムによってサポートされている PSE (Privacy and Exploration Team) を含む、ほとんどの zk パブリック チェーン プロジェクトが KZG スキームを採用していることがわかります。 Foundation.KZG スキームも使用されます。 Starknet、Risc0、および Polygon Miden は FRI スキームを使用し、Polygon Zkvm (Hermez) は FRI と KZG を組み合わせたものです。
いくつかの新しいゼロ知識証明システムは多項式コミットメント スキームの切り替えをサポートしており、KZG は将来的に他の多項式コミットメント スキームに切り替えることもできることに言及する価値があります。
元のリンク