原文

あるチェーンが、複数のリソースによってイーサリアムバリデータの重みを加重すると仮定します。例えば、プルーフ・オブ・ワーク (Proof of Work)、ステークされた資本、および獲得した貢献スコアを組み合わせた重みで、支持重みが3分の2のスーパーマジョリティを超えたときにブロックをファイナライズするようなものです。これは合理的な設計です。しかし、これは失敗の連鎖の始まりでもあり、あなたが手を伸ばすあらゆる修正が次の穴を開けてしまいます。私は参照モデルを構築し、各ステップをテストしました。そして、この罠は特定の重み付けに固有のものではなく、一般的なものであるため、そのシーケンスを説明したいと思います。

まず、現実的で賢明な目標から始めましょう。投票重みがライブ参加を追跡するようにしたい、つまり静止したバリデータはより少なくカウントされるべきだと考えます。自然な動きは、陳腐化したバリデータの重みを減衰させることです。ワークと貢献は、その関連性が薄れる過去の記録であるため、バリデータの最後のハートビートからの時間でそれらの部分を減衰させます。

最初に壊れるのは、ミックス自体です。もし、活動状況に関わらず資本は現在リスクに晒されているという理由で、ワークと貢献部分を減衰させ、ステークされた資本はそのままにしておくと、関連する静止期間中、ライブ重みは資本へと偏っていきます。コインをロックして立ち去ったバリデータは完全な重みを維持し、活動的な参加者は重みが減少します。あなたが多元的であるように設計したフランチャイズは、減衰させなかった唯一のリソースへと静かに崩壊します。忍耐強い資本保有者は、構造的に常に新鮮です。そこで、これら3つすべてを対称的に減衰させます。これにより、均一な陳腐化の下でも実効的な組み合わせは設定通りに保たれ、資本は常に新鮮であるという利点を失います。これは正しい判断です。しかし、これが次の問題を招きます。

あなたのファイナライゼーションの閾値は、総ベース重みの一部でした。全員が減衰すると、現在存在するすべてのバリデータが同意しても、実際に集められる支持重みはそのベース閾値の3分の2を下回ってしまいます。参加率が低いとチェーンは停止します。閾値は、もはや存在しない重みに対して測定されています。明白な修正策は、ベース重みではなく、実効的な現在の重みに対して閾値を測定することです。これにより、現在存在するバリデータの全会一致のセットがファイナライズし、停止は解消されます。そして、これが3つの中で最悪の穴を開きます。

分母が現在の重みである場合、正直なバリデータを日食攻撃 (eclipse) やハートビートの検閲によって不在に見せかけることができる攻撃者は、分母を縮小させます。実際のセットの3分の2に決して到達できなかった少数派が、縮小されたセットの3分の2に到達し、単独でファイナライズしてしまいます。最初に設定したベース重みの閾値は、停止を引き起こすため見苦しかったですが、攻撃者がそれを縮小できなかったため、まさに日食攻撃に耐性がありました。あなたは、停止耐性と日食攻撃耐性を無意識のうちに交換してしまいました。なぜなら、これら2つの特性は同じオブジェクト、つまり閾値の分母に存在しているからです。

実際に機能する修正策はハイブリッドです。現在の実効重みと絶対的なクォーラムフロア (quorum floor) のうち大きい方を基準とします。ここでフロアはベースの固定された割合です。フロアを下回ると分母は縮小できないため、日食攻撃者は薄いセットからスーパーマジョリティを作り出すことはできません。フロアを上回ると実効項が支配するため、実際の参加は依然としてファイナライズされ、停止は解消されたままです。ドリフトは解消され、停止は解消され、日食攻撃も解消されます。しかしそれは、フロアが分母の崩壊を許さないからです。

一般的な教訓は、保持すべき部分です。これら3つの修正はそれぞれ、単独で発表しても良いと感じるようなものです。活動性 (liveness) を報いるために重みを減衰させる。実際に存在する参加者に対して閾値を測定する。それぞれは局所的には正しいですが、活動性と日食攻撃耐性が同じ量の関数であるため、それぞれが前のステップで解決した問題を再導入してしまいます。一方を調整すると他方も動いてしまい、唯一安定した点は分母の下にフロアを固定するものです。

反証可能な主張を明確に述べます。ハイブリッドな基準の下で、フロアがベース重みの固定された割合に設定されている場合、残りのバリデータがどれほど陳腐化しているか、あるいは日食攻撃を受けているかにかかわらず、正直なセットのそのフロア割合未満を保持する連合はファイナライズできません。もし誰かが、そのルールと実際に強制されたフロアの下で、フロア以下の連合によるファイナライゼーションを示すことができれば、そのハイブリッドは間違っており、私はそれを見たいと思います。

逆もまた然りです。もし誰かが、攻撃者がハートビートの可視性を制御する日食攻撃に、フロアなしの対称的な減衰と実効的な閾値が耐えうることを示せば、私が説明している日食攻撃は現実のものではなく、私はその理由を理解したいでしょう。

これらはすべて、貢献スコアが何を測定すべきかというより難しい問題には触れていません。それはそれ自体が問題であり、はるかに深いものです。これは、重みが減衰すべきだと決定した後のファイナライゼーションルールに関するものです。答えは、重みの減衰は無料ではないということです。それは参加の整合性をもたらしますが、その代償として、あなたが今や守らなければならない分母を売ることになります。

1投稿 - 1参加者

トピック全文を読む