ダンクシャーディングは、イーサリアムが真にスケーラブルなブロックチェーンになるための方法ですが、そこに到達するにはいくつかのプロトコルアップグレードが必要です。プロト・ダンクシャーディングは、その過程における中間ステップです。どちらもレイヤー2 (L2) でのトランザクションをユーザーにとって可能な限り安価にすることを目的としており、イーサリアムを毎秒10万トランザクション以上にスケーリングするはずです。
プロト・ダンクシャーディングとは何ですか?
プロト・ダンクシャーディング(EIP-4844 (opens in a new tab)としても知られています)は、ロールアップがより安価なデータをブロックに追加するための方法です。この名前は、アイデアを提案した2人の研究者、ProtolambdaとDankrad Feistに由来しています。歴史的に、ロールアップはトランザクションをCALLDATAに投稿するという事実により、ユーザートランザクションをどれだけ安くできるかに制限がありました。
ロールアップは短期間だけデータを必要とするにもかかわらず、すべてのイーサリアムノードによって処理され、オンチェーンに永久に保存されるため、これは高価です。プロト・ダンクシャーディングは、送信してブロックに添付できるデータブロブを導入します。これらのブロブ内のデータはEVMからアクセスできず、一定期間(執筆時点では4096エポック、または約18日間に設定されています)後に自動的に削除されます。これにより、ロールアップはデータをはるかに安価に送信でき、節約されたコストをより安価なトランザクションという形でエンドユーザーに還元できます。
ブロブデータはどのように検証されますか?
ロールアップは、実行したトランザクションをデータブロブに投稿します。また、データへの「コミットメント」も投稿します。これは、データに多項式関数を当てはめることによって行われます。この関数は、さまざまなポイントで評価できます。たとえば、非常に単純な関数 f(x) = 2x-1 を定義した場合、x = 1、x = 2、x = 3 についてこの関数を評価し、1, 3, 5 という結果を得ることができます。プルーバーは同じ関数をデータに適用し、同じポイントで評価します。元のデータが変更された場合、関数は同一ではなくなるため、各ポイントで評価された値も同一にはなりません。実際には、コミットメントと証明は暗号関数でラップされているため、より複雑です。
KZGとは何ですか?
KZGは、データのブロブを小さな暗号化された「コミットメント」 (opens in a new tab)に縮小するスキームの3人の原著者 (opens in a new tab)の名前であるKate-Zaverucha-Goldbergの略です。ロールアップによって送信されたデータのブロブは、ロールアップが不正行為をしていないことを確認するために検証される必要があります。これには、プルーバーがブロブ内のトランザクションを再実行して、コミットメントが有効であったことを確認することが含まれます。これは概念的には、実行クライアントがマークル証明を使用してレイヤー1 (L1) でのイーサリアムトランザクションの有効性を確認する方法と同じです。KZGは、データに多項式方程式を当てはめる代替の証明です。コミットメントは、いくつかの秘密のデータポイントで多項式を評価します。プルーバーはデータに対して同じ多項式を当てはめ、同じ値で評価して、結果が同じであることを確認します。これは、一部のロールアップや、最終的にはイーサリアムプロトコルの他の部分で使用されるゼロ知識技術と互換性のあるデータを検証する方法です。
KZGセレモニーとは何でしたか?
KZGセレモニーは、イーサリアムコミュニティ全体の多くの人々が、一部のデータを検証するために使用できる秘密のランダムな数字の文字列を共同で生成するための方法でした。この数字の文字列が誰にも知られず、再作成できないことが非常に重要です。これを確実にするために、セレモニーに参加した各人は前の参加者から文字列を受け取りました。次に、新しいランダムな値を作成し(たとえば、ブラウザにマウスの動きを測定させることによって)、前の値と混合しました。その後、その値を次の参加者に送信し、ローカルマシンから破棄しました。セレモニーの参加者のうち1人でもこれを誠実に行った限り、最終的な値は攻撃者には知られません。
EIP-4844のKZGセレモニーは一般に公開され、何万人もの人々が独自のエントロピー(ランダム性)を追加するために参加しました。合計で14万件以上の貢献があり、この種のセレモニーとしては世界最大のものとなりました。セレモニーが損なわれるためには、それらの参加者の100%が積極的に不誠実である必要があります。参加者の視点から見れば、自分が誠実であったことを知っていれば、セレモニーを安全にしたことを知っているため(個別にN人中1人の誠実な参加者という要件を満たしたため)、他の誰かを信頼する必要はありません。
ダンクシャーディングとは何ですか?
ダンクシャーディングは、プロト・ダンクシャーディングから始まったロールアップスケーリングの完全な実現です。ダンクシャーディングは、ロールアップが圧縮されたトランザクションデータをダンプするための膨大なスペースをイーサリアムにもたらします。これは、イーサリアムが何百もの個別のロールアップを簡単にサポートし、毎秒数百万のトランザクションを現実のものにできることを意味します。
これが機能する方法は、ブロックに添付されるブロブをプロト・ダンクシャーディングの6つから、完全なダンクシャーディングでは64に拡張することです。必要な残りの変更はすべて、新しい大きなブロブを処理できるようにするためのコンセンサス・クライアントの動作方法の更新です。これらの変更のいくつかは、ダンクシャーディングとは無関係の他の目的ですでにロードマップに載っています。たとえば、ダンクシャーディングではプロポーザー・ビルダー分離 (PBS) が実装されている必要があります。これは、ブロックの構築とブロックの提案のタスクを異なるバリデータ間で分離するアップグレードです。同様に、ダンクシャーディングにはデータ可用性サンプリングが必要ですが、これは履歴データをあまり保存しない非常に軽量なクライアント(「ステートレスクライアント」)の開発にも必要です。
現在の進捗状況
完全なダンクシャーディングは数年先です。その間、KZGセレモニーは14万件以上の貢献を得て終了し、プロト・ダンクシャーディングのEIP (opens in a new tab)は成熟しました。この提案はすべてのテストネットで完全に実装されており、2024年3月のCancun-Deneb(「デンクン」)ネットワークアップグレードでメインネットに導入されました。
参考文献
- プロト・ダンクシャーディングのメモ (opens in a new tab) - Vitalik Buterin
- Dankradによるダンクシャーディングのメモ (opens in a new tab)
- Dankrad、Proto、Vitalikによるダンクシャーディングの議論 (opens in a new tab)
- KZGセレモニー (opens in a new tab)
- Carl BeekhuizenによるDevconでのトラステッドセットアップに関する講演 (opens in a new tab)
- ブロブのデータ可用性サンプリングに関する詳細 (opens in a new tab)
- Dankrad FeistによるKZGコミットメントと証明 (opens in a new tab)
- KZG多項式コミットメント (opens in a new tab)
ページの最終更新: 2026年6月6日