イーサリアムでよく聞くCasperとは?

初心者ブロックチェーンエンジニアが気になっているワードを軽く調べて解説するシリーズ第2回。Casper(キャスパー)というワードについて解説します。


Casperとは?

Casperは、現在のイーサリアムのコンセスアルゴリズムであるPoW(プルーフオブワーク)からPoS(プルーフオブステーク)へ移行させるためのプロジェクトです。前回取り上げたシャーディングと合わせて、イーサリアムのスケーラビリティー問題解決に貢献する予定です。

PoWではマイニングを行うマイナーが取引の検証を行ないますが、PoSではバリデーターと呼ばれる参加者が取引の検証を行います。バリデーターは自身のコインをステークして(担保にして)検証に参加し、ステークに応じた比率の報酬を受け取ることができます。

イーサリアムのCasperはPoSの中でも「懲罰」の仕組みを持っていることが特徴的です。バリデーターが悪意のある行動をして、「問題ないと報告」すると、すぐに叱責(Slash)され、掛け金を没収される仕様になっています。

こちらの記事が分かりやすく、よくまとまっています↓

Casperには2つのプロジェクトがあります。FFG Casperと CBC Casperです。

FFG Casper

FFG CasperはPoWとPoSを組み合わせたハイブリッドなコンセンサスアルゴリズムです。

ブロックの生成をPoWで行い、一定間隔毎(100ブロック毎)に設定されたチェックポイントごとにメインチェーンをPoSを用いて決定していく仕組みとなっています。

Vitalik による FFG Casperの論文
https://arxiv.org/pdf/1710.09437.pdf

日本語の解説
https://medium.com/teamgeekhash/casper-ffg-1a41fb401464


CBC Casper

Correct By Constructionという方式を用いたコンセンサスアルゴリズムです。

“Correct-by-construction”とは、このようにコンセンサスプロトコルを定義した時に、その時点で望ましい性質が満たされているようにする方法論のことです。具体的には、コンセンサスプロトコルが最低限満たすべき二つの性質であるsafety(バリデータが矛盾した意思決定をしないこと)とliveness(バリデータがいつかは意思決定をすること)のうち、safetyに関して、CBC Casperから定義されたプロトコルは全て同じ証明が成立します。Liveness含めその他の性質は、実際に生成されたプロトコルにおいて個別に議論する形になります。
このフレームワークは非常にフレキシブルで、下図にあるような“block-and-vote”のプロトコルから、“vote-by-block”のプロトコルまで表現することができます。したがって、コンセンサスプロトコルにまつわる様々なトレードオフ (例: ファイナリティまでの時間と必要なメッセージ数の関係)を、一つの枠組みで議論することができます。

最新のホワイトペーパー
https://github.com/cbc-casper/cbc-casper-paper/blob/master/cbc-casper-paper-draft.pdf

日本語の解説


次回はサイドチェーンのPlasmaについてみていこうと思います。

この記事が気に入ったらサポートをしてみませんか?