今回の元の論文は↓こちら
今回の内容
Casper FFGについてちょっとだけ勉強します。
中でも特にSection 3のEnabling Dynamic Validator Setsの最初の段落2つくらいを読んでみます。
そもそもCasperってなぁに?
Proof of Stakeに基づくファイナリティシステムで、部分的なコンセンサスメカニズムです。
なんのための王朝か
ヴァリデーターの集合は変わらなければなりません。新しいヴァリデーターは参加できなきゃですし、既存のヴァリデーターは抜けられなきゃです。このためにブロックの王朝を定義しています。
王朝の定義
ブロック$b$の王朝とはジェネシスブロックから$b$の直前のブロックまでのチェーンで、ファイナライズされたチェックポイントの数です。
ヴァリデーターになるとき
ヴァリデーターになりたい者のdepositメッセージが王朝$d$でブロックに含まれた場合、そのヴァリデーター$\nu$は王朝$d+2$の最初のブロックからヴァリデーターの集合に参加します。
(論文ではこの$d+2$を$\mathrm{DS}\left(\nu\right)$と呼びます)
ヴァリデーターの集合を抜ける時
ヴァリデーター$\nu$のwithdrawメッセージが王朝$d$のブロックに含まれた時、ヴァリデーターになる時と同様に、王朝$d+2$の最初のブロックでヴァリデーターの集合を抜けます。
(論文ではこの$d+2$を$\mathrm{DE}\left(\nu\right)$と呼びます)
ヴァリデーターの集合には参加し直せない
一度ヴァリデーターの集合を抜けたらそのヴァリデーターの公開鍵が永遠に禁止されます。
これは、1つのIDに対して複数の王朝があることを取り扱う必要をなくすためです。
感想
せっかくQiitaがお祭り状態なので毎日ちょっとだけ何か読んでアウトプットに記事を書くのもいいかもしれないと思いました。(毎日続けるとは言っていない)