メインコンテンツへスキップ
Change page

弱い主観性

ページを編集 (opens in a new tab)

ブロックチェーンにおける主観性とは、現在の状態について合意するために社会的な情報に依存することを指します。ネットワーク上の他のピアから収集した情報に基づいて選択される、複数の有効なフォークが存在する場合があります。その逆は客観性であり、コード化されたルールを適用することで、すべてのノードが必然的に合意する唯一の有効なチェーンが存在するチェーンを指します。また、弱い主観性として知られる第3の状態もあります。これは、初期の情報のシードが社会的に取得された後、客観的に進行できるチェーンを指します。

前提条件

このページを理解するには、まずプルーフ・オブ・ステーク (PoS)の基礎を理解する必要があります。

弱い主観性はどのような問題を解決するのか?

複数のフォークから正しいチェーンを選択することは過去の投票を数えることによって行われるため、主観性はプルーフ・オブ・ステーク (PoS) ブロックチェーンに固有のものです。これにより、ブロックチェーンはいくつかの攻撃ベクトルの危険にさらされます。これには、チェーンの非常に初期に参加したノードが代替のフォークを維持し、後になって自分たちに有利になるようにそれを公開する長距離攻撃が含まれます。あるいは、バリデータの33%がステークを引き出しつつも、証明とブロックの生成を続ける場合、正規のチェーンと競合する代替のフォークを生成する可能性があります。新しいノードや長期間オフラインだったノードは、これらの攻撃を行っているバリデータが資金を引き出したことに気づかない可能性があるため、攻撃者は彼らを騙して誤ったチェーンに従わせることができます。イーサリアムは、メカニズムの主観的な側面、つまりトラスト前提を最小限に抑える制約を課すことで、これらの攻撃ベクトルを解決できます。

弱い主観性のチェックポイント

弱い主観性は、「弱い主観性のチェックポイント」を使用することで、プルーフ・オブ・ステーク (PoS) イーサリアムに実装されています。これらは、ネットワーク上のすべてのノードが正規のチェーンに属することに合意した状態ルートです。これらは、ブロックチェーンのジェネシス位置にないことを除けば、ジェネシスブロックと同じ「普遍的な真実」の目的を果たします。フォーク選択アルゴリズムは、そのチェックポイントで定義されたブロックチェーンの状態が正しいことを信頼し、その時点以降のチェーンを独立して客観的に検証します。弱い主観性のチェックポイントより前にあるブロックは変更できないため、チェックポイントは「リバートの制限」として機能します。これは、メカニズム設計の一部として長距離フォークを無効と定義するだけで、長距離攻撃を弱体化させます。弱い主観性のチェックポイントがバリデータの引き出し期間よりも短い間隔で分離されていることを保証することで、チェーンをフォークするバリデータは、ステークを引き出す前に少なくとも一定のしきい値の量だけスラッシングされることが保証されます。また、ステークを引き出したバリデータによって、新規参入者が誤ったフォークに騙されることも防ぎます。

弱い主観性のチェックポイントとファイナライズ済みブロックの違い

ファイナライズ済みブロックと弱い主観性のチェックポイントは、イーサリアムのノードによって異なる扱いを受けます。ノードが競合する2つのファイナライズ済みブロックを認識した場合、ノードは2つの間で板挟みになります。どちらが正規のフォークであるかを自動的に識別する方法はありません。これはコンセンサスの失敗の兆候です。対照的に、ノードは弱い主観性のチェックポイントと競合するブロックを単に拒否します。ノードの観点からは、弱い主観性のチェックポイントは、ピアからの新しい知識によって損なわれることのない絶対的な真実を表しています。

どの程度「弱い」のか?

イーサリアムのプルーフ・オブ・ステーク (PoS) の主観的な側面は、同期の起点となる信頼できるソースからの最近の状態 (弱い主観性のチェックポイント) が必要であるという点です。ブロック・エクスプローラーや複数のノードなど、いくつかの独立した公開ソースと照合できるため、不正な弱い主観性のチェックポイントを取得するリスクは非常に低いです。ただし、ソフトウェア開発者が誠実なソフトウェアを作成したと信頼するなど、ソフトウェアアプリケーションを実行するには常に一定の信頼が必要です。

弱い主観性のチェックポイントは、クライアントソフトウェアの一部として提供されることさえあります。間違いなく、攻撃者はソフトウェア内のチェックポイントを改ざんでき、同様にソフトウェア自体も簡単に改ざんできます。この問題を回避する現実的な暗号経済学的な手段はありませんが、イーサリアムでは、それぞれが異なる言語で同等のソフトウェアを構築し、誠実なチェーンを維持することに既得権益を持つ複数の独立したクライアントチームが存在することで、信頼できない開発者の影響は最小限に抑えられています。ブロック・エクスプローラーも、弱い主観性のチェックポイントを提供したり、他の場所から取得したチェックポイントを追加のソースと相互参照する方法を提供したりする場合があります。

最後に、チェックポイントは他のノードにリクエストすることもできます。おそらく、フル・ノードを実行している別のイーサリアムユーザーがチェックポイントを提供し、バリデータはそれをブロック・エクスプローラーのデータと照合して検証できます。全体として、弱い主観性のチェックポイントの提供者を信頼することは、クライアント開発者を信頼することと同じくらい問題になり得ると考えられます。全体として必要な信頼の度合いは低いです。これらの考慮事項は、バリデータの過半数が共謀してブロックチェーンの代替フォークを生成するという、極めて起こりにくい事態においてのみ重要になることに注意することが重要です。それ以外の状況では、選択できるイーサリアムのチェーンは1つしかありません。

参考文献

ページの最終更新: 2026年2月26日