PoW vs PoS vs DPoSの比較とコンセンサスアルゴリズムの意味を整理する

PoW vs PoS vs DPoSの比較とコンセンサスアルゴリズムの意味を整理する

はじめに

分散ネットワークには中央のコーディネーターが存在しないため、トランザクションの処理順序およびその履歴について、何らかの方法で各ノードが合意し、台帳のコピーを保有する必要があります。

ブロックチェーンにおいて、各ノードが台帳のコピーを自律的に保持するための仕組みは、コンセンサスアルゴリズムと呼ばれています。説明によっては「Proof of Work」(PoW)などがコンセンサスアルゴリズムと呼ばれる場合もありますが、正確にはPoW=コンセンサスアルゴリズムではありません。

本記事では、コンセンサスアルゴリズムの意味を整理すると共に、ブロックを生成する上で重要なメカニズムである「Proof of Work」(PoW)や「Proof of Stake」(PoS)、「Delegated Proof of Stake」(DPoS)について解説していきます。

PoW、PoS、DPoSはコンセンサスアルゴリズム?

ブロックチェーン(分散型台帳)ベースのネットワークにおいて、各ノードが共通の台帳を保持するためには、取引に関するコンセンサスが必要です。PoWやPoS、DPoSなどを指してコンセンサスアルゴリズムと表現する事は少なくありませんが、正確にはPoWやPoSなどは、シビルコントロールメカニズム(Sybil Control Mechanism)あるいはシビル耐性スキーム(Sybil Resistance Scheme)と表現される類のものです。

膨大な計算を経てブロックが生成されているビットコインを例に見てみると、あくまでもPoWは、ブロック提案コストを高く設定してシビル攻撃を防ぎ、ブロックをネットワークに提案するためのルールに過ぎません。なお、シビル攻撃とは、オンラインシステム上の脅威であり、攻撃者が複数のアカウントを作成してネットワークを支配しようとする攻撃のことです。

このように、PoW単体でコンセンサスが形成されている訳では無いのです。例えば、ビットコインのネットワークにおいては、「もっとも長いチェーンを正史として扱う」というルールによって、ひとつの正しい台帳が決定されます。

とはいえ、PoWなどがコンセンサスを形成する際に重要な仕組みとなっている点は変わりません。管理者のいない分散ネットワークにおいて、二重支払いなどの不正行為を防止し、セキュリティを高め、各ノードが取引履歴についてコンセンサスを得るためにはPoWのような仕組みが不可欠なのです。

参考:PoW, PoS and DAGs are NOT consensus protocols

それでは、各メカニズムを紹介していきましょう。

Proof of Work(PoW)とは?

ビットコインで採用されていることもあり、Proof of Work(PoW)はパブリックチェーンにおいて、もっとも採用されているメカニズムです。Proof of Work=仕事の証明と訳されるように、PoWでは「ブロックヘッダ」と「nonce」のハッシュ値が、ターゲットとなる値よりも小さくなるようなnonceを見つける計算が行われています。

nonceを見つけてブロックを提案し、ネットワークに承認されるとブロックの生成が完了するのです。ブロック生成にはコストがかかりますが、ブロック生成者に対しては報酬としてビットコインが支払われます。

Proof of Work(PoW)のセキュリティ

10年以上、ビットコインが破綻せずに稼働していることもあり、現状ではPoWがもっともセキュリティが高く、実績ある仕組みだと言えるでしょう。PoWチェーンを攻撃するには、充分な計算リソースを確保する必要があり、ハッシュレートが大きなチェーンほど攻撃コストが莫大になります。

ただ、この性質は裏を返せば、ハッシュレートが低いPoWチェーンは51%攻撃などによって、二重支払いなどの不正が可能になるリスクを抱えている事に他なりません。例えば、同じマイニングアルゴリズムが採用されているビットコインとビットコインキャッシュを比べると、ビットコインの方が15〜30倍ほど大きいハッシュレートとなっているのです(日によって差は異なる)。

したがって、ビットコインのハッシュレートのうち、数%でもビットコインキャッシュに振り向ければ、ネットワークへの51%攻撃が可能になってしまいます。

参考:Coin Dance Bitcoin Hash Rates by Network Summary

PoWはもっとも実績があるメカニズムではあるものの、ハッシュレートが低いPoWチェーンに関しては、必ずしもセキュリティが高いとは言えません。実際に過去、PoWを採用しているモナコインやイーサリアムクラシックなどが攻撃されています。

膨大な電力消費による環境問題への懸念

また、PoWが抱える別の課題としては、ASICを動かすために必要な電力が膨大であり、環境問題への懸念が生じている点が挙げられます。ビットコインだけ見ても、PoWの計算に投下されているエネルギー量は、国で言えば40番目に多いのです。

参考:Bitcoin Energy Consumption Index

Proof of Stake(PoS)とは?

Proof of Stake(PoS)は、PoWの電力問題やマイナーの寡占化といった問題を克服しようと考案されたメカニズムです。様々な仕様が提案されていますが、ネットワークのネイティブ通貨の保有量に応じて、ブロック生成者が確率的に選ばれるという仕組みを基本としています。また、PoWと同様に、PoSにおいてもブロック生成者は報酬としてコインを獲得可能です。

研究開発が進み、PoWの代替となるか?

PoSは、ブロックを生成するために必要な計算リソースがPoWほど高くならず、消費電力も少ない点がPoWと比較したときの優位性だと言えるでしょう。PoWのように膨大な計算リソースに依存することが無く、コインの保有量に基づいて確率的にブロック生成者が選ばれます。

2020年1月現在、PoS系のブロックチェーンは増えており、PoWを採用しているイーサリアムも将来的にはPoSへと移行する予定です。PoSの研究開発が進められており、PoSはPoWに代わる仕組みとして期待されています。

しかし、PoWほど稼働実績がないため、どちらのメカニズムの方が高いセキュリティを低コストで享受できるかは定かではありません。ただ、51%攻撃を行うには、(理論的には)ネットワーク上の過半数のコインを保持する必要があるため、時価総額の大きなコインであれば攻撃コストは高くなるでしょう。

Proof of Stake(PoS)の課題

PoSを採用すれば、たしかにPoWよりも電力消費を抑えられます。しかし、コインのステーキングによってブロック生成確率が上がる仕組みであるがゆえに、ネットワーク上に流通するコインの総量が減り、流動性が下がるのではないかという懸念もあります。さらに、コインの大量保有者ほど、ブロック生成報酬を獲得できるため、構造的に経済格差が拡大する仕組みだという批判もあります。

その他にも、PoSチェーンでは、計算コストをあまり掛けずにブロックを生成できてしまうため、ブロックチェーンがフォークした際に、すべてのブロックに対して容易にマイニング可能です。これは「Nothing at stake問題」と呼ばれており、対策としては、採用されなかった(正史とならなかった)ブロックをマイニングした場合にペナルティを課すなどの提案が行われています。

また、PoS系コインをいかに公平に分配するかという点もセキュリティの観点から検討課題となっています。

Delegated Proof of Stake(DPoS)とは?

Delegated Proof of Stake(DPoS)は、ネットワークからの投票によって選出されたブロック生成者が新しいブロックの生成・検証を行う仕組みです。投票権があるのは、ネイティブ通貨を保有しているノードであり、ブロック生成者に対してブロック生成を委任(Delegate)しています。DPoSは、間接民主制のような仕組みだと言えるでしょう。

ブロック承認速度の上昇が期待できるが、ブロック生成者による不正リスクがある

DPoSは、選出された少数のノードがブロックを承認するため、PoWやPoSよりもスループット(単位時間あたりの処理能力)が高くなります。また、PoWのように膨大な計算が必要な訳でも無いので、電力消費も少なくて済みます。

ただ一方で、ブロック生成者が結託して、不正を働くリスクが他のメカニズムよりも高くなってしまう点がデメリットだと言えるでしょう。このリスクに対しては、不正を働いたブロック生成者を追放する仕組みなどが提案されています。DPoSもPoSと同様に、時間をかけて検証されている最中だと言えるでしょう。

おわりに:完璧なメカニズムは存在せず、一長一短

本記事でも解説したように、PoWやPoS、DPoSはコンセンサスアルゴリズムというよりは、シビル攻撃への対策として導入されているメカニズムです。ただし、現状ではブロックチェーンの文脈においては、コンセンサスアルゴリズム=PoW、PoS、DPoSなどとして説明されるケースは少なくありません。

ビットコインのPoWをはじめとして、様々なメカニズムが考案され、実装されていますが、現状ではPoWがもっとも実績があり、安全性が高いと言えるでしょう。ただし、膨大な計算が必要な分、スループットが低かったり、電力消費が莫大だったりと、PoWはいくつかの課題を抱えています。

PoSやDPoSは、PoWよりも電力消費が少なく、DPoSに関してはスループットの大きな改善が期待できますが、セキュリティの観点で充分な検証が行われているとは言えません。現在のところ、分散ネットワークにおけるブロック提案およびシビルコントロールのメカニズムは一長一短であり、今後も研究開発が進んでいく分野だと言えるでしょう。

ブロックチェーンカテゴリの最新記事