第四回となる今回は、前回の「プルーフ・オブ・ワーク(PoW)」の紹介記事の最後にPoWの改善策として紹介した「プルーフ・オブ・ステーク(PoS)について調べてみました。
PoWのデメリット
PoSがPoWの改善策のために開発された仕組みということで、PoSの説明に入る前に、PoWの大きな2点のデメリットを振り返ってみます。
1点目は、マイニングによる電力消費が多く、電気代が高くかかってしまうという点です。PoWでは、マイニングの計算量とスピードが非常に重要になります。そのため、大量の高性能コンピューターを用意する必要がありました。どれだけ報酬を得たとしても、そのためにかかる出費が多くなってしまっては意味がありません。
2点目は、「51%攻撃」問題です。PoWの仕組みでは、生成されたブロックは、検証作業がマイナーによって行われて、承認されるか否かの判断がされます。そのため、万が一悪意を持った団体がネットワーク全体の51%以上の計算能力を持った場合、都合の良いように取引の承認状態を操作できるようになってしまいます。
PoSの仕組み
PoWのデメリットに共通する点は、どちらもマイニングが原因であるという点にあります。マイニングをいち早くするために電気を多く消費し、マイニングされたブロックをマイナーが検証するのです。
そのため、PoSでは、マイニングの能力でなく、コインを持っている割合を基にブロックを生成・承認できる権利を持たせるようにしました。簡単に言えば、PoSはコインの保有量や保有年数に比例して、新しくブロックを生成・承認する権利を得ることができるようになる仕組みにしたのです。
この「コインの保有量」を決める仕組みとして、以下の2種類の仕組みが存在します。
1つ目は、Coin Ageという仕組みです。「(コインの)保有量×保有期間=Coin Ageの値」を算出し、その値が大きければ大きいほど、ステーキング(PoWでいうマイニングのこと)に成功しやすくなるという仕組みです。一度ステーキングに成功すると、Coin Ageの値は減少していきます。
2つ目は、Randomized Proof of Stakeという仕組みです。これは、コインの保有量に比例してランダムに取引の承認者を選ぶ仕組みです。コインの保有量が多ければ多いほど、ステーキングに成功しやすくなります。
PoWのデメリットはどのようになくなった?
具体的に、どのようなメカニズムでPoWのデメリットが改善されたのかを解説します。
まず、1つ目のマイニングによる電気の大量消費です。PoSでは、ブロックの生成や承認できる人が限定されるため、ステークホルダーが大量の計算をしなくて済みます。そのため、結果として電力の消費を抑えることができます。
次に、「51%攻撃」問題です。PoSで51%攻撃を行うためにはネットワーク全体の51%以上の計算能力ではなく、大量のコインを確保する必要があります。そのために、それ程のコインを確保するまでにかなり多くのコストがかかります。そのうえ、51%攻撃を行った場合、通貨への信頼が損なわれて通貨の価値も下がるために、コインが無価値になってしまうというリスクもあります。攻撃をしてコイン自体の価値を下げるより、規則に従ってステーキングを行っていた方が儲かるのは明白です。
PoSのデメリット
PoWのデメリットが改善されて完璧なシステムに見えるPoSですが、これにもデメリットがあります。4つ紹介します。
1点目が、「コインの保有量が多ければ多いほど、ステーキングに成功しやすくなる」という性質上、コインを使用せずに貯めこんで保有量を増やそうとする人が現れる点です。多くの人がコインを使わないようになってしまうと、通貨の流動性が損なわれてしまいます。
2点目が、分岐したチェーンにおいて、複数のブロックの承認ができてしまうという点です。分岐は、同時にブロックが公開されたことによって、一本に繋がっていたチェーンに複数のブロックが繋がれた時に起きる現象です。分岐されたチェーンはいったんそのままにし、ユーザーが正だと思うブロックのその後のブロックをマイニングします。そして、結果的に長くなったチェーンを正しいチェーンとして扱うことになります。
どちらのブロックも正しかった場合も例外ではなく、どちらも正として扱いつつもどちらかが長くなるまで計算をして一本のチェーンに絞ります。PoWでは、分岐しても同時に複数のチェーンが伸びていく確率は低いため、自然と片方のチェーンが長くなり収束していきます。
しかし、PoSでは、コインを保有しているだけでブロックが生成できてしまうために、複数のチェーンを承認してしまってもデメリットが存在しません。そのため、PoSではどんどんステーキングされてしまって、チェーンが分岐することが多くあります。分岐には、承認されたはずの取引が未承認になってしまうという可能性が発生する恐れがあります。
3点目が、保有するコインの格差が広まりやすい点です。PoSでは、コインの保有量に比例してステーキングも成功しやすくなります。そのため、多数のコインを保有している人はどんどんステーキング出来る一方で、あまりコインを保有していない人はステーキングすることが難しく、コインを増やすことも難しくなります。
4点目が、「低コスト51%攻撃」問題です。まず、悪意を持ったマイナーが、コインの51%を買うと公表します。そうすることで、ステークホルダーはコインの価格が下がることを恐れてコインを早々に売却し、コインの価値が下がります。そこで、コインを低コストで大量に購入します。そうすることで、コインを大量に独占することができます。PoWだろうとPoSだろうと、51%攻撃のリスクは変わらず存在するのです。
まとめ
前回と今回の2回に渡り、ブロックチェーンにおける取引が不正でないかどうか確認する合意検証の方法を紹介してきました。
管理者がいない中で信用して取引ができるようになる仕組みを持つPoWとPoSは確かに優秀ですが、マイニングやステーキングをするユーザ側の視点から見ると、参入し辛いでのではないかと感じました。
PoWは、初期の頃は一般の人でもマイニングを成功させやすい環境でした。しかし、次第にマイニング用のハードウェアを用意しなければ利益を得ることが出来なくなっていき、さらにはマイニング専門の業者まで現れるようになり、資本を持たない人間が参加するのは難しくなってしまいました。
一方、PoSは、コインの保有量に比例してステーキングの成功率が上昇します。このため、コインを多く保有している人はそのままでいるだけでさらにコインが増えていきます。逆に言えば、あまりコインを保有出来ない人はそもそもコインを増やすことが難しく、コイン保有率の格差は開くばかりになってしまいます。
ただ、PoWやPoSの他にも、あらかじめ承認者を限定するPoC(プルーフ・オブ・コンセンサス)や富の格差を防ぐために開発されたPoI(プルーフ・オブ・インポータンス)といった、ブロックチェーンに参加してユーザーが報酬を得る選択肢や方法は増加しています。それによって、仮想通貨に参加することのハードルはどんどん低くなっていくでしょう。
《参考記事》
・Proof of Stake とは何か?「https://block-chain.jp/blockchain/proof-of-stake/」
・PoWとPoSの違いとは?〜ブロックチェーンを支える合意形成の仕組み〜「https://blockchainexe.com/powpos/」