コンセンサス・アルゴリズムとは暗号資産(仮想通貨)の基盤技術であるブロックチェーンがブロックを追加するときのルールとなるコンセンサス(合意)形成を行うアルゴリズム(方法)のことを指します。コンセンサス・アルゴリズムにはさまざまな種類が存在しますが本記事では、「PoW(Proof-of-Work)」と「PoS(Proof-of-Stake)」、「DPoS(Delegated Proof-of-Stake)」を解説しながら、理解を深めることを目的にします。
PoWを採用するビットコインの取引は、P2Pネットワークに参加する者同士が、お互いに取引を監視して不正がなければ承認されます。この承認作業を「マイニング」といいます。マイニングは10分ごとに行われます。そして、マイニングとは膨大な計算を必要とする競争(レース)です。マイニングに参加するノードは数えきれないほど膨大ですが、マイニング報酬であるビットコインを獲得できるのは競争の勝者のみです。とはいえ、マイニングを言葉で説明することには限界があります。より視覚的に理解した方がわかりやすいと思いますので、次の図をご覧ください。
ブロックチェーンは、取引(トランザクション)がまとめられたブロックが鎖状に繋がって構成されています。ブロックは、ハッシュ関数と呼ばれる計算でハッシュ値に置き換えることができます。新たにブロックチェーンにブロックを追加するためには、「直前のブロックのハッシュ値 + 今回のブロックに含まれる全取引データ + 任意の文字列(ノンス値)」を同様に、ハッシュ値に置き換えます。そしてそれが、定められたターゲット以下の値になる必要があります。マイニングとは、ターゲット以下のハッシュ値が得られるまでノンス値を変化させてハッシュ値を計算し直すプロセスのことをいいます。
PoS(Proof-of-Stake)は、暗号資産(仮想通貨)の保有量が多いほどブロックの承認の役割を割り当てられる確率が高まる仕組みです。承認作業が完了すると、承認者には報酬として暗号資産(仮想通貨)が付与されます。
PoSの発展形としてDPoS(Delegated Proof-of-Stake)というコンセンサスアルゴリズムがあります。DPoSでは、ブロック生成者が暗号資産(仮想通貨)保有者(ユーザー)の投票によって選ばれる仕組みです。保有者は、ブロックを正しく承認させるために、適切な代表者を選びます。
DPoSでは、いかなる分岐(フォーク)も存在しません。その理由は、簡単にいえば、ブロック生成者同士がPoWのように競争するのではなく、ブロックを生成するために「協調」するからです。少数のブロック生成者から生み出されるブロックチェーンより、多くのブロック生成者によって生み出されるブロックチェーンの方が、いち早く長くなることができます。
安全性 |
分散性 |
拡張性 |
|
PoW |
◯ |
◯ |
× |
PoS |
△ |
△ |
◯ |
DPoS |
◯ |
× |
◯ |
ブロックチェーンの世界では安全性と分散性と拡張性を3つ同時に実現するコンセンサス・アルゴリズムが存在しないというトリレンマ問題が存在します。PoWでは安全性および分散性は担保されますが拡張性に欠けます。PoSでは拡張性はあるものの安全性および分散性に少し不安があります。DPoSでは安全性と拡張性は担保されますが、分散性に欠けるという弱点があります。
またPoWによるマイニングは環境負荷が懸念されています。一方、PoSやDPoSは電力を大量に消費するわけではないので、サステイナビリティの重要性が増す昨今、市民権を得てきています。Ethereumも現在はPoWを採用していますが、段階的にPoSに移行していくことを発表しています。今後の動向に注目しましょう。