メインコンテンツまでスキップ

イーサリアム 2.0:コンセンサスアルゴリズム Gasper

· 約5分

下記記事をまとめて、やっとイーサリアム 2.0 のコンセンサスアルゴリズムの全貌を見えるようになりました。

LMD-GHOST + Casper FFG ということで、イーサリアム 2.0 のコンセンサスアルゴリズムは、Gasper と呼ばれています。 また、上記以外にコンセンサスの為に、他のルールもいくつあるので、合わせて紹介します。

報酬

報酬は、バリデータとしてブロックを提案したり、各投票に正しい投票をしたりの行為によって得られます。 バリデーターの総数と保証金の総金額によって基本報酬を決めてから、各行為によって重みを加算して算出します。

行為と重みについては、下記になります。 合計 64 の中

重み行為
14FFG 投票において、正しい「ソース」に投票した
26FFG 投票において、正しい「ターゲット」に投票した
14LMD-GHOST 投票において、正しいブロックヘッダーに投票した
2委員会に選定された際に、正しく検証作業を行った
8ブロック提案者に選定された際に、正常に新しいブロックを提案した
  • 委員会に選出され正しく投票を行い、ブロック提案者として新しいブロックを提案すると、64 / 64 * 基本報酬 を貰える
  • ブロック提案者以外の委員会メンバーは、(64 - 8) / 64 * 基本報酬 を貰える
  • 委員会以外のバリデーターは、 (64 - 8 - 2) / 64 * 基本報酬 を貰える

もう一種面白い報酬は、ブロック提案者が 他のバリデータの不正な行為の証拠を提出する ことで報酬をもらえます。また、スラッシングを含めると スラッシングされるバリデータの有効な残高金 / 512 の報酬をもらえます。

罰則

罰則については、それほど厳しくありません。

  • FFG と LMD-GHOST の投票を逃した場合は、単に受け取るはずだった報酬を得られなくなるだけ
  • ブロック提案者は提案に失敗しても罰則はない

スラッシング

悪意の行為をしたバリデーターに対して、スラッシング(Slashing)と呼ばれる手段があります。 スラッシングとは、バリデーターをネットワークから強制的に排除しステークされた保証金を失う厳しい罰です。 下記3つの行為は、スラッシングされます。

  1. 同じスロットに対して、2つ異なるブロックを提案し署名する
  2. 別のブロックを囲むブロックに署名する(事実上歴史を変える)
  3. 同じブロックの2つの候補に署名する

1 と 3 は理解しやすいので、2 だけちょっと説明します。 投票は source -> target というペアで、エポックナンバーを2つ提出します。たとえば、101 -> 102 という投票があるとします。 次にエポックになると、102 -> 103 や、101 -> 103の投票はスラッシングではないが、100 -> 103 は、101 -> 102 を囲んでいるので、101 と 102 をなくすようになるため、スラッシングの対象になります

まとめ

PoW はシンプルですが、PoS になると、案外に複雑になってきました。