バリデーターの証明:イーサリアムのスケーリングにおける重要なセキュリティパズル
執筆:深潮 TechFlow
今日は、イーサリアム研究フォーラムで新しい概念が静かに誕生しました:Proof of Validator。
このプロトコルメカニズムは、ネットワークノードが具体的なアイデンティティを明かさずにイーサリアムのバリデーターであることを証明できることを許可します。
これが私たちにとって何を意味するのでしょうか?
一般的に、市場はイーサリアム上の特定の技術革新がもたらす表面的な物語に注目しがちで、技術そのものを事前に深く研究することはほとんどありません。例えば、イーサリアムの上海アップグレード、合併、PoWからPoSへの移行、そしてスケーリングについて、市場はLSD、LSDFi、再ステーキングの物語だけを記憶しています。
しかし、性能と安全性はイーサリアムにとって最も重要な要素であることを忘れてはいけません。前者は上限を決定し、後者は下限を決定します。
明らかに、イーサリアムは性能を向上させるためにさまざまなスケーリングソリューションを積極的に推進していますが、一方で、スケーリングの道のりでは、自己の内功を修練するだけでなく、外部からの攻撃にも備える必要があります。
例えば、バリデーターノードが攻撃を受けてデータが利用できなくなると、イーサリアムのステーキングロジックに基づいて構築されたすべての物語やスケーリングソリューションが、全体に影響を及ぼす可能性があります。ただし、この影響やリスクは背後に隠れており、最終的なユーザーや投機家は気づきにくく、時には関心を持たないこともあります。
この記事で取り上げるProof of Validatorは、イーサリアムのスケーリングの道のりにおける重要なセキュリティパズルかもしれません。
スケーリングが避けられないのであれば、スケーリングプロセスに潜むリスクをどのように軽減するかは、避けられないセキュリティの課題であり、私たち全員に関係しています。
したがって、新たに提案されたProof of Validatorの全貌を明らかにする必要があります。しかし、技術フォーラムの全文はあまりにも断片的でハードコアであり、スケーリングに関する多くのソリューションや概念が絡んでいるため、深潮研究院は元の投稿を統合し、Proof of Validatorの背景、必要性、可能な影響についての関連情報を整理しました。
データサンプリング (Data Availability Sampling): スケーリングの突破口
焦らないでください。Proof of Validatorを正式に紹介する前に、イーサリアムの現在のスケーリングのロジックと、その中に潜むリスクを理解する必要があります。
イーサリアムコミュニティは、複数のスケーリング計画を積極的に推進しています。その中で、データ可用性サンプリング(略称DAS)は最も重要な技術と見なされています。
その原理は、完全なブロックデータをいくつかの「サンプル」に分割し、ネットワーク内のノードは自分に関連する少数のサンプルを取得するだけで、完全なブロックを検証できるというものです。
これにより、各ノードのストレージと計算量が大幅に削減されます。別の理解しやすい例で言えば、異なる人々にアクセスすることで全体の状況をまとめるサンプリング調査のようなものです。
具体的には、DASの実現方法は以下のように要約されます:
- ブロックプロデューサーはブロックデータを複数のサンプルに分割します。
- 各ネットワークノードは、完全なブロックデータではなく、自分が関心を持つ少数のサンプルだけを取得します。
- ネットワークノードは、異なるサンプルを取得することで、完全なブロックデータが利用可能かどうかをランダムにサンプリングして検証できます。
このようなサンプリングによって、各ノードが少量のデータしか処理しなくても、全体でブロックチェーンのデータ可用性を完全に検証できます。これにより、ブロックサイズを大幅に増加させ、迅速なスケーリングを実現できます。
しかし、このサンプリングソリューションには重要な問題があります:膨大なサンプルはどこに保存されるのか?これには、完全な分散型ネットワークが必要です。
分散ハッシュテーブル(Distributed Hashed Table):サンプルの家
これにより、分散ハッシュテーブル(DHT)が活躍する機会が与えられました。
DHTは巨大な分散型データベースと見なすことができ、ハッシュ関数を使用してデータをアドレス空間にマッピングし、異なるノードが異なるアドレス範囲のデータを管理します。これにより、膨大なノードの中からサンプルを迅速に検索および保存できます。
具体的には、DASがブロックデータを複数のサンプルに分割した後、これらのサンプルをネットワーク内の異なるノードに分散して保存する必要があります。DHTは、これらのサンプルを保存および取得するための分散型の方法を提供します。その基本的な考え方は次のとおりです:
- 一貫したハッシュ関数を使用して、サンプルを巨大なアドレス空間にマッピングします。
- ネットワーク内の各ノードは、特定のアドレス範囲内のデータサンプルを保存および提供します。
- 特定のサンプルが必要な場合、ハッシュを使用して対応するアドレスを検索し、そのアドレス範囲を担当するノードをネットワーク内で見つけて、サンプルを取得します。
例えば、一定のルールに従って各サンプルをハッシュしてアドレスを生成し、ノードAが0-1000のアドレスを担当し、ノードBが1001-2000のアドレスを担当するとします。
この場合、アドレス599のサンプルはノードAに保存されます。このサンプルが必要なときは、同じハッシュを使用してアドレス599を検索し、ネットワーク内でそのアドレスを担当するノードAを見つけて、そこからサンプルを取得します。
この方法は、中央集権的なストレージの制約を打破し、耐障害性と拡張性を大幅に向上させます。これこそがDASサンプルストレージに必要なネットワークインフラです。
中央集権的なストレージと検索に比べて、DHTは耐障害性を向上させ、単一障害点を回避し、ネットワークの拡張性を強化します。さらに、DHTはDASで言及された「サンプル隠蔽」などの攻撃に対抗するのにも役立ちます。
DHTの痛点: ウィッチ攻撃
しかし、DHTには致命的な弱点もあります。それは、Sybil攻撃の脅威に直面していることです。攻撃者はネットワーク内に大量の偽ノードを作成し、周囲の本物のノードがこれらの偽ノードに「圧倒」されてしまいます。
たとえば、誠実な商人が偽の商品に囲まれてしまうと、ユーザーは本物を見つけるのが難しくなります。このように、攻撃者はDHTネットワークを制御し、サンプルが利用できなくなる可能性があります。
例えば、アドレス1000のサンプルを取得するには、そのアドレスを担当するノードを見つける必要があります。しかし、攻撃者が作成した何千もの偽ノードに囲まれると、リクエストは偽ノードに導かれ、本当にそのアドレスを担当するノードに到達できなくなります。その結果、サンプルが取得できず、保存と検証が失敗します。
この問題を解決するためには、DHT上に高信頼のネットワーク層を構築し、バリデーターノードのみが参加する必要があります。しかし、DHTネットワーク自体はノードがバリデーターであるかどうかを識別できません。
これがDASとイーサリアムのスケーリングを大きく妨げています。この脅威に対抗し、ネットワークの信頼性を保証する方法はあるのでしょうか?
Proof of Validator: スケーリングの安全性を守るZKソリューション
さて、この記事の焦点に戻りましょう:Proof of Validator。
イーサリアム技術フォーラムで、今日、George Kadianakis、Mary Maller、Andrija Novakovic、Suphanat Chunhapanyaの4人が共同でこのソリューションを提案しました。
その全体的な構想は、前のセクションのDHTのスケーリングソリューションにおいて、誠実なバリデーターのみがDHTに参加できる方法を考え出せれば、ウィッチ攻撃を仕掛けようとする悪意のある者も大量のETHをステーキングしなければならず、経済的に悪事のコストが大幅に増加するというものです。
この構想を私たちがよりよく理解できる言葉で言い換えると、「あなたのアイデンティティを知らずに、あなたが良い人であることを知り、悪い人を識別できる方法を考えたい」ということです。
この限られた情報の証明シナリオにおいて、ゼロ知識証明が明らかに役立ちます。
したがって、Proof of Validator(以下PoV)は、誠実なバリデーターのみで構成される高信頼のDHTネットワークを構築するために使用され、ウィッチ攻撃に効果的に対抗します。
その基本的な考え方は、各バリデーターノードがブロックチェーン上に公開鍵を登録し、ゼロ知識証明技術を利用して、その公開鍵に対応する秘密鍵を知っていることを証明することです。これは、自分がバリデーターであることを証明する身分証明書を提示することに相当します。
さらに、バリデーターノードに対するDoS(サービス拒否)攻撃に対して、PoVはネットワーク層でバリデーターのアイデンティティを隠すことを目指しています。つまり、このプロトコルは攻撃者がどのDHTノードがどのバリデーターに対応しているかを識別できないことを望んでいます。
では、具体的にどうすればよいのでしょうか?元の投稿では多くの数学的公式と導出が使用されているため、ここでは詳述しませんが、簡略版を示します:
具体的な実装では、Merkleツリーやルックアップテーブルを使用します。例えば、Merkleツリーを利用して、登録された公開鍵が公開鍵リストのこのMerkleツリーに存在することを証明し、その後、この公開鍵から派生したネットワーク通信用の公開鍵が一致していることを証明します。全体のプロセスはゼロ知識証明を利用して実現され、実際のアイデンティティは漏洩しません。
これらの技術的詳細を省略すると、PoVが最終的に実現する効果は次のとおりです:
身分確認を受けたノードのみがDHTネットワークに参加できるようになり、その安全性が大幅に向上し、Sybil攻撃に効果的に対抗でき、サンプルが故意に隠蔽されたり変更されたりするのを防ぎます。PoVはDASに信頼できる基盤ネットワークを提供し、間接的にイーサリアムの迅速なスケーリングを支援します。
ただし、現在PoVは理論研究段階にあり、実現可能性には不確実性があります。
しかし、元の投稿の研究者たちは小規模な実験を行い、その結果、PoVがゼロ知識証明の効率やバリデーターが証明を受け取る効率が良好であることが示されました。特筆すべきは、彼らの実験装置はノートパソコン1台で、5年前のIntel i7プロセッサが搭載されているだけであることです。
最後に、現在PoVは理論研究段階にあり、実現可能性には不確実性があります。しかし、いずれにせよ、これはブロックチェーンがより高い拡張性に向かう重要な一歩を示しています。イーサリアムのスケーリングロードマップの重要なコンポーネントとして、業界全体が引き続き注目する価値があります。