レッスン2

分散型バリデーターの内部構造

DVTの内部構造について技術的な詳細を解説します。本解説では、鍵のシャーディング、しきい値BLS署名、マルチパーティ計算、ゴシッププロトコルによる調整がどのように連携し、複数の独立したノードが一体となって安全なバリデーターとして動作する仕組みを明らかにします。

バリデータキーのシャーディングと分散型鍵生成(DKG)

DKG
従来のイーサリアムバリデータでは、単一の秘密鍵がメッセージの署名やブロックへのアテステーション、新規ブロックの提案に利用されてきました。この秘密鍵は一般的に単一デバイスで管理されています。そのため、デバイスの故障や侵害が発生すれば、バリデータのダウンタイムやスラッシングの危険性が高まります。DVTは「鍵の全体を1台のデバイスが保持する」という前提自体を排し、最初から分散的に鍵を生成する「分散型鍵生成(DKG)」プロセスを採用することでこの問題を解決します。

DKGプロセスでは、複数の当事者が協力して秘密鍵を生成しますが、誰も秘密全体を知ることはありません。各参加者はバリデータ秘密鍵の一部(シェア)を受け取ります。この過程では高度な暗号技術が用いられ、最終的に得られる公開鍵がイーサリアムのコンセンサスレイヤーで利用されるBLS(Boneh–Lynn–Shacham)公開鍵と一致することが保証されます。生成された鍵シェアは数理的に結び付いており、後からバリデータとして有効な署名を共同で生成することができます。

DKGによる鍵シャーディングは、DVTにおける基盤的なセキュリティ機能です。誰もが鍵全体を制御しないため、バリデータ構成は根本的に侵害へ強くなります。たとえ1ノードが侵害されたりオフラインになっても、署名に必要なシェアがしきい値分集まれば、残りのグループは正常に稼働を継続できます。

しきい値BLS署名とマルチパーティ計算(MPC)

鍵シェアの配布後、バリデータクラスタはフルの秘密鍵を一度も復元せずに、ブロックの提案やアテステーションなどの署名処理を遂行する必要があります。ここでしきい値BLS署名とマルチパーティ計算(MPC)が機能します。

イーサリアムのコンセンサスレイヤーで利用されるBLS署名スキームは、しきい値署名生成をサポートしています。DVT構成では、あらかじめ定めた人数の参加者が協調して署名を生成する必要があります。たとえば5ノードクラスタなら、任意の3ノードが協力すれば有効な署名を生み出せます。このしきい値は鍵生成時に設定され、バリデータの耐障害性を決定する指標となります。

署名処理自体はセキュアなマルチパーティ計算で処理されます。各参加者は自身保有の鍵シェアでメッセージに部分署名し、これら部分署名を集約して完全なBLS署名を生成し、イーサリアムのビーコンチェーンに提出します。この過程において、秘密鍵が全体として復元されたり外部露出することはありません。

MPCにより、信頼性が低い、あるいは信頼できない参加者が含まれていても、バリデータは安全に稼働します。これは、独立した複数ノードがネットワーク上では単一のバリデータとして機能しうることを暗号的に担保するものです。この抽象化によって、DVTはイーサリアムのプロトコルやコンセンサスルールに一切変更を加えることなく、完全な互換性を保っています。

ゴシップ型協調とクライアント互換性

DVTクラスターは分散型バリデータクライアント群として複数ノードで構成されます。ノード同士は、同期維持や業務の調整、ブロック提案・アテステーション・部分署名などの情報共有のため、絶えずコミュニケーションを取ります。多くのDVTシステムでは、このためにゴシップ型のピア・ツー・ピア通信レイヤーを採用しています。

ゴシップネットワークでは、各ノードが自分のピアの一部にメッセージを伝達し、さらにそのピアが他のノードに情報をリレーしていくことで全体へ拡散します。この分散型通信はメッセージ集中やボトルネックのリスクを下げ、どのノードにも通信集約が生じません。ゴシッププロトコルはノード障害やネットワーク分断への耐性が高く、バリデータ協調の仕組みとして最適です。

分散型バリデータクライアント(ObolのCharonやSSV.Networkのノードソフトウェアなど)は、署名協調、障害回復、参加状況管理などの機能を実装しています。これらクライアントはPrysm、Lighthouse、Teku、Nimbusなど主要なイーサリアムバリデータスタックと高い互換性を持つ設計となっており、DVTクラスター内の各ノードは従来のイーサリアムコンセンサスクライアントと並行してDVT機能を稼働できます。

クライアント互換性の高さは普及に不可欠です。オペレーターはDVT対応のためにインフラ全体を刷新する必要なく、従来慣れ親しんだソフトウェアをそのまま使いながら耐障害性向上や業務分散の恩恵を得られます。こうしたプラグアンドプレイ型アーキテクチャが、DVTを既存ステーキング運用へ円滑に統合する鍵となります。

レイテンシ、クォーラムサイズ、正直多数仮定

DVTは分散性と耐障害性を高める一方で、いくつか新たなトレードオフも生じます。特に注目すべきはレイテンシです。従来バリデータでは署名はローカルマシン上ですぐ行われますが、DVTでは複数ノード間で署名を調整し、全員の部分署名が揃って初めて最終的な署名が生成されます。そのため、通信オーバーヘッドが生じ、ネットワーク混雑や一部ノードの応答遅延があれば、全体の遅延にもつながり得ます。

そこでDVTシステムでは、署名生成に必要な最小ノード数(クォーラム)を定義し、迅速性と安全性のバランスを取ります。クォーラムが少なければ速度や遅いノードへの耐性が増しますが、障害許容数は減ります。逆に多ければ障害耐性は高まる反面、署名速度は遅くなり遅延リスクも上昇します。

例えば5-of-7のDVTクラスタでは、7ノード中5ノードがオンライン・応答可能であれば署名が実施できます。この方式では最大2ノードのオフライン・不応答を許容し、3ノード以上が機能しなくなると、バリデータは署名不能となりダウンタイム等のペナルティリスクを負うことになります。これらパラメータはクラスターのリスク許容度やノードの地理的分散状況に応じて慎重に設定される必要があります。

DVT運用の前提となるのは、正直多数(Honest-Majority)です。つまり一定数のノードがネットワークの利益を優先してルール通りに動作することが想定されています。もし多数のノードが侵害されたり、意図的に共謀した場合、不正な署名を生み出す、またはわざとバリデータの参加を妨げることも理論上はありえます。こうした事態は設計優れたクラスターなら稀ですが、リスクアセスメントや運用計画の中では無視できません。

実際、多くのDVTクラスタは独立したオペレーター、またはインセンティブを共有するステーキング集団により構成され、こうした構成によって共謀リスクを下げ、全体のセキュリティを高めています。今後技術が成熟すれば、新たな協調メカニズムや信頼モデル、評判システムなどが登場し、分散バリデーションの保証をさらに強固なものにしていくでしょう。

免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。