proof-of-stake(PoS) プルーフ・オブ・ステイク

http://jpbitcoin.com/translation/peercoinwhitepaper
proof-of-work(PoW)の代替として提案されている「正しいブロックチェーン」を決定するための指標。
Peercoin、Nxtcoin等で実装されている。
PoWは最も多くの演算量を投入したブロックチェーンが正しいものとされるが、PoSでは最も多くのコイン年数(coin age)というものを投入したブロックチェーンが正しいものとされる。
コイン年数とは「コインの量×そのコインが使われなかった時間」のことであり、ブロック生成時にその中にコインを使ったという情報を書き込むことで、コイン年数を投入できる。
コイン年数はブロックチェーンの中の情報と現在時刻から求められるので偽造できない。
イメージとしては、コインを保有しているとその量に比例して毎日ブロック生成権ポイント(コイン年数)が得られ、そのポイントを最も多くつぎ込んだ人がブロックを生成できるといった感じ。

メリット

・計算パワーの浪費が必要ない
本質的に演算量証明が要らないため、PoWを使ったシステムと比較して無駄なCPUパワーやそれを生み出すための電力をつぎ込む必要が無い。
・51%アタックに強い。
PoWの場合、一度51%以上の演算量を投入できる体制が整えば以降は何らかの対策がされるまでずっと脅威が続く。
しかしPoSの場合は有限の資産であるコイン年数を消費してブロックを生成するので、継続的に圧倒的なコイン年数を投入されるということが起こりづらい。
……とあるが本当にそうか?マイニングプールでコイン年数が発生する側からマイニングプールに集約して利用する体制が出来てしまうと、やはりビットコインと同じ脆弱性が現れる気がする。

デメリット

・二重支払い攻撃に弱い
コイン年数を投入するタイミングはユーザが任意に決められるので、ある瞬間にブロックチェーンを書き換えるだけであればPoWよりも攻撃が成功しやすい。
これに対する対策として、その時点より過去のブロックチェーンの変更を許さないようにする「チェックポイント」というものを頻繁に作るようになっているらしい。
・チェックポイントは集約的である
分散型のチェックポイント生成も考案されてはいるが、まだ悪意ある攻撃に対しての対策が十分でないため、現在は集約的なチェックポイント生成が利用されている。