ブロックチェーンでのコンセンサスアルゴリズムといえば、プルーフ・オブ・ワークがあげられます。しかし、ブロックチェーンネットワークでのトランザクション増加などに伴い、さまざまな問題が見られるようになってきました。

プルーフ・オブ・ステークは、そのプルーフ・オブ・ワークに代わるコンセンサスアルゴリズムとして、現時点で最も有力なアルゴリズムのひとつです。

プルーフ・オブ・ステーク自体はピアコイン(Peercoin)などのアルトコインですでに導入されていますが、イーサリアムに導入されるということで動向が注目されています。

そこで、当記事ではPoWと比べたPoSのメリットおよびデメリットを中心にお伝えしていきます。

 

プルーフ・オブ・ステーク(Proof of Stake)とは

プルーフ・オブ・ステーク(Proof of Stake, PoS)とは、パブリックチェーンにおける合意形成アルゴリズムの一種です。

プルーフ・オブ・ワーク(Proof of Work, PoW)では、ハッシュパワー(計算力)を多く保持しているマイナーほどブロックが承認される確率が高いのに対し、プルーフ・オブ・ステークでは、Stake(ステーク、賭け金)を多く保持しているバリデーター(PoWにおけるマイナー)ほどブロックが承認される確率が高くなります。

 

アルゴリズムによってはステークは単に、保有しているコインの量だけで決まるわけではなくそのコインを保持している期間(CoinAge)も加味されることもあります。

例えば、1時間前に大量に取得したコインを大量に持っているバリデーターでは、そのCoinAgeが小さいのでステークは大きくなりません。(イーサリアムでは、コインを使うインセンティブが削がれるという理由でCoinAgeが導入される予定はありません)

PoSにおいても承認の計算は必要になりますが、PoWに比べ計算量は大幅に削減できるとされています。また、PoSではマイニング報酬はなく、トランザクション手数料の報酬のみとなります。

 

プルーフ・オブ・ステークのメリット

プルーフオブワーク(PoW)の仕組みを知らずにビットコインは語れない』で解説したようにPoWにはさまざまなデメリットが存在します。簡単に言えば、このPoWにおけるデメリットを解消できるのがPoSのメリットになります。

ここでは具体的なプルーフ・オブ・ステークのメリットとして、環境に優しいこと、51%攻撃に強いこと、そしてスケーラビリティ問題の対策になることを解説します。

 

環境に優しい(PoWに比べ消費電力が少ない)

PoSのメリットとしてまずあげられるのがPoWに比べて圧倒的に消費電力量が少ないということです。

ビットコインのマイニングではASICと呼ばれるマイニング専用のマシンを使用して大量の電力を消費しています。現在、ビットコインとイーサリアムのマイニングにより1日に1億円以上のコストがかかっているとされています。

 

PoSでも計算は必要となりますがPoWよりも圧倒的に少ないコストで行うことが可能です。専用のASICも必要ありませんし、計算量自体もかなり少なくなります。

なので、PoWに必要となる膨大な消費電力を削減することができ、より環境に優しいコンセンサスアルゴリズムとして期待されているのです。

 

51%攻撃に強い

PoWを採用している代表的な仮想通貨であるビットコインではマイニングプールの寡占化が問題になっています。つまり、大規模なマイニングプールがハッシュパワーを持ちすぎてしまっているのです。

2017年10月現在では、上位4位までのマイニングプールを合計することでマイニング市場全体の50%を超えることが分かります。これによりビットコインの二重支払いなどが可能になる51%攻撃が問題になっているのです。

参考:ブロックチェーンの安全性を脅かす「51%攻撃」の仕組みと実態

 

一方、PoSの場合51%攻撃に対してより強力になります。なぜなら、PoSにおいて51%攻撃をしようとすると大量のコインを保持する必要があるからです。大量のコインを保持することは、そのコインの時価総額が多いほど困難になります。

さらに、51%攻撃を実行するとそのコインの価値が暴落するため、攻撃者自身が保持しているコインの価値も大幅に下がってしまいます。

 

スケーラビリティへの対策ができる(ブロックの承認時間が早くなる)

トランザクションの量が多くなると送金時間が遅くなるなどのスケーラビリティ問題が深刻になってきます。PoSを導入することでこのスケーラビリティ問題への対策にもなるのです。

なぜかというと、PoSはPoWに比べてブロックの承認プロセスが非常にシンプルで、ブロック生成時間を短くすることができるからです。大規模な計算は必要なく、誰がステークを多く賭けているかチェックするだけでいいことになります。

 

また、PoSはシャーディング(Sharding)の実装もより簡単にします。Shardingとは、トランザクションをノードごとに役割分担させる技術で、イーサリアムにおいてPoS後に導入が予定されています。

参考:ShardingはEthereumのスケーラビリティ問題を解決することができるのか

 

プルーフ・オブ・ステークのデメリット

もちろんプルーフ・オブ・ステークにもデメリットは存在します。ここでは代表的なデメリットとして、富の集中化の加速およびNothing at Stake問題などを解説します。

 

富の集中化が加速する懸念

PoSの根幹的なアルゴリズムとして、「コインを多く持つ者ほどコインを多く手に入れられる」ということがあげられます。

つまり、これは富の集中化を意味します。この富の集中化が進行すると、PoSでコインを手に入れることができないユーザーがPoWなどを採用するコインに資産を移し始め、PoSのコインの価値が低下してしまうという現象が考えられます。

 

PoSによる富の集中化を考察するために重要なのは、PoSに参加するためには最低どのくらいのコインのデポジットが必要なのかを考慮に入れることです。

なぜなら最低デポジットが高いほど、すでに裕福な人しかPoSに参加できないことを意味し富の集中化が加速してしまうことが考えられるからです。一方、最低デポジットが十分に低ければ多くのノードがPoSに参加することができ報酬を得る機会が多くなります。

 

PoSを導入しようとしているイーサリアムの場合、「初期の段階では1000ETHのデポジット、shardingが導入されれば10ETH程度のデポジット」とヴィタリックはAny updates on Ethereum’s POS?で発言しています。

2018年1月現在の相場で考えると、1000ETH=1億2000万円であり、これでは富裕層のみしかPoSに参加できません。一方、Shardingが導入されれば10ETH=120万円であり、多くのノードがPoSに参加できる権利を得ることができるようになるでしょう。

 

Nothing at Stake問題

Nothing at Stake問題とは、不正なブロックをリスクなく生成しようとすることができてしまう問題です。

PoWでは、ブロックを作るためには膨大な計算を行うために電気代をコストとしてマイナー同士で競い合っています。つまり、マイニングはリスクのある事業であり、他のマイナーに勝ってマイニング報酬を得ることができないと大きな赤字になってしまうのです。

それに対し、PoSでは、PoWのように時間をかけて膨大な計算を行う必要がないのでブロックが簡単に作れてしまいます。電気代もそこまでかかりませんし大規模なマイニングファームも必要ありません。

 

つまり、バリデーターは少ないリスクでブロック生成できてしまうことになります。ということは、不正なブロックを作ろうと試みることもリスクなく行うことができ、二重支払いなどが問題となってしまうということです。

 

また、PoWでは外部からコストを投資しなくてはいけないので、ブロックチェーンが分岐したときにはひとつのブロックチェーンに収束しようとする力が働きます。(メインチェーンにブロックを追加しないとマイニング報酬が得られないので。)

一方、PoSではブロックチェーンが分岐したときに両方が延び続けようとする力が働いてしまいます。なぜなら、ブロック生成に試みにコストがかからないので、両方のチェーンでブロック生成を試みる方が単純に成功する確率が2倍になり報酬を得やすくなるからです。

つまり、分岐時に戦略的な二重投票が問題になってしまうのです。

 

この問題を解決するために、イーサリアムではSlasherというアルゴリズムを採用することによって、不正なブロックを作った場合にペナルティを与えるという方針を取ろうとしています。

しかし、このようにSlasherで懲罰的なアルゴリズムを与えても、罰せられるのは不正攻撃を行なったになります。ビットコインのPoWの場合は、不正攻撃を行うにペナルティが与えられることになるので、ここでセキュリティ的に大きな差が生まれてしまうのです。

 

ロング・レンジ攻撃(Long Range Attacks)

Casperでは不正なフォークを防ぐために、デポジットした賭け金を没収するという懲罰的なSlasherアルゴリズムを導入しています。しかし、このSlasherアルゴリズムが適用している以前の(すでにデポジットを引き出した)古いブロックからは、ノーリスクでフォークを行うことが可能になってしまいます。

このような攻撃をロング・レンジ攻撃と言います。

 

攻撃者は古いブロックでPoSに成功しブロックを作成しています。そして、そのブロック生成報酬はすでに手に入れているのでデポジットもありません。また、このブロックはかなり古いのでSlasherアルゴリズムの適用外です。

そして、攻撃者はこのブロックからフォークさせるための鍵を持っているので(以前PoSに成功しているので)、デポジットを失うことなくそのブロックから新しいチェーンを分岐させることができてしまうのです。そのブロックチェーンをメインチェーンより速いペースで伸ばしていくことにより、メインチェーンを置き換えてしまうというのがロング・レンジ攻撃なのです。

ロングレンジ攻撃

(source: Casper the Friendly Finality Gadget)

イーサリアムのPoS「Casper」では、「リアルタイムで賭け金をデポジットしているバリデーターのみブロックを生成することが可能」というプロトコルを導入することでロングレンジ攻撃を防いでいます。

つまり、ノードはリアルタイムでデポジットを行っている正当なバリデーターが誰なのか分かっていなくてはならないので、そのリストを保持していなくてはならないのです。これにより、ロングレンジ攻撃を行おうとするデポジットを行なっていないバリデーターのあらゆる主張(メッセージ)は無視することが可能です。

 

イーサリアムにおけるProof of Stake

イーサリアムはCasperというプロトコルのPoSを導入していきます。

まず、PoSに参加するためには自身のステークを一部ロックアップする必要があります。このロックアップが機会損失のコストであると捉えることで、PoSにおけるリスクテイクであるとも言われています。(しかし、富裕層がコインを多く持っていることにかわりはないので、これが富の集中化の根本的な解決にはならないと思います。)

そして、そのロックアップをブロックの承認作業に賭けることでブロック承認を行なっていきます。もし、そのブロックが無事承認され正式にブロックチェーンに追加されれば、賭けたステークの分だけ報酬を得ることができます。一方、もし不正なブロックに賭けてしまった場合は、ロックアップしたステークはペナルティとして没収されてしまいます。

 

また、イーサリアムは一気にPoWからPoSに移行するのではなく、PoWとPoSのハイブリッド式としてSlasherを導入したCasper(FFG)を実施していきます。これにより、上述したPoSのデメリットを緩和し、移行時の混乱を避けることができるとともに、PoW派イーサリアムのハードフォークを防ぐことができると考えられます。

イーサリアムのPoSについてはこちらの記事で詳しく書いています。

参考:Casperのthe Friendly Finality Gadget(FFG)を分かりやすく解説

 

プルーフ・オブ・ステークは プルーフ・オブ・ワークより優れているのか

PoSはPoWより優れているのか。これは一概に優れていると断定することはできません。当記事でも見てきたとおり、PoSにはさまざまなメリットがある反面、富の集中化などのデメリットも存在します。なので、現時点ではさまざまな意見が混在し、PoSの方が優れていると断定することはできないでしょう。

さらに、実質的にコンセンサスアルゴリズムとしての機能性、安全性が唯一証明されているのは、現時点でPoWだけだと思っています。

 

しかし、イーサリアムではスマートコントラクトが使われ、ネットワーク全体としてより大きな処理能力が必要になってきます。そのためにも、PoWからPoSに移行する必要性があります。

例えば、イーサリアムではスケーラビリティ問題の解決策としてシャーディングという技術の導入が考えられており、このシャーディングはPoSを導入していることが前提となる技術になります。

この理由について詳しくは以下の記事で解説していますが、PoWのままシャーディングを導入してしまうと51%攻撃が簡単になってしまいセキュリティ的に大きな問題となってしまうのです。

参考:ShardingはEthereumのスケーラビリティ問題を解決することができるのか

 

Proof of Stake FAQ | github