
今回も、前回のPoW、PoS、PoIに引き続きコンセンサスアルゴリズムの種類・特徴についてまとめていきたいと思います!
あまりメジャーではありませんが、PoSと似通ったDPoS、PoCについて詳しく解説していきます。
今記事の前半も大元のコンセンサスアルゴリズムの概要を説明していますが、PoIの特徴のみを知りたい方は飛ばしてくださいね!
PoW、PoS、PoIについて詳しく知りたい方は下記からどうぞ!↓↓
コンセンサスアルゴリズムとは?

そもそも「コンセンサスアルゴリズム」の意味なのですが、
コンセンサス=合意、承認
アルゴリズム=方法、算法
つまり、合意を取る方法という意味合いになります。
なぜ「暗号通貨にコンセンサスアルゴリズムが必要になるのか」という理由なのですが、ブロックチェーンには特定の管理者、中央の管理者は存在しないという特徴を持っています。
そこで発生する問題「取引・契約に対しての不正チェックを誰が行うか」という部分の、不正チェックを行う人を決定する方式がコンセンサスアルゴリズムです。
そして、暗号通貨によって異なる方式を取っているのですが、ビットコインは「PoW」、ADAやイーサリアム(今後)は「PoS」というコンセンサスアルゴリズムを採用しています。
これらのコンセンサスアルゴリズムによって、ブロックチェーンを成立しているんですね。
そして、PoWやPoSなど色々種類がありますが、それぞれ取引・契約の整合性をチェックする人の選出方法が異なりますので、どういったものなのか見ていきましょう!
ブロックチェーンの仕組みについて
コンセンサスアルゴリズムをきちんと理解するためには、ブロックチェーンへの理解が必要不可欠です。
ブロックチェーンを一言で表すと、よく言われているのが「世界中のみんなが見れる台帳」です。
例えば、「ビットコインを私から渡辺さんに送りました」とかいう取引情報をいくつかまとめたものをブロックと呼び、ブロックをどんどんつなぎ合わせていったもの、つまり鎖のように繋いでいき改ざんを不可能にしていく仕組みです。
そして、ブロックに入れる取引情報をチェックする方法のことをマイニングと呼びます。
そして、ブロックに入れたあとは改ざんが難しいのはもちろんですが(なぜ難しいのかは後述します)、そのブロックに入れる取引情報がそもそも間違ったものを入れると大問題ですよね。
なので、ブロックに入れる前に取引情報を確認する必要があり、その確認方法のことをコンセンサスアルゴリズムと呼びます。
暗号通貨によって採用しているコンセンサスアルゴリズムは違えど、元のブロックチェーンのしくみ自体は違わないのであまり難しく考えなくて大丈夫ですよ。
ブロックチェーンを図解にして、細かくわかりやすくしたものをまとめてますので、下記の記事をご覧ください↓↓
ハッシュ値
こちらも上記のブロックチェーンのしくみについてまとめた記事の中にかなり分かりやすくしているのですが、重要なのでこちらでも軽く説明しますね。
ハッシュ値というのは、ハッシュ関数という技術を用いて算出される値で、該当のデータの受け渡し・保管時にそのデータが正しいままであるかどうかを確認するためにあります。
あるデータをハッシュ関数に入れるとハッシュ値が生成されるのですが、例えば「AさんからBさんに1000bit送金した」というデータが記録はされているものの、暗号化されてしまうとわたしのような素人がみてもちんぷんかんぷんな様に暗号化=ハッシュ値にされます。
暗号化された状態から元に戻すことは極めて困難になるため、元のデータが改ざんされていないことを確認できるといったしくみです。
そして、ブロックで生成されたハッシュ値は、次のブロックのハッシュ値生成にも利用されるため、そしてハッシュ値がチェーン上に繋がっているので、一箇所でもデータを改ざんしてしまうと永遠改ざんされた計算をしなければいけないため、ブロックチェーンが改ざんされるリスクはほぼゼロに近いといっても過言ではありません。
DPoS(Delegated Proof of Stake)とは?

DPoSのしくみ
DPoSは、PoSにDがついているだけなこともあり、似ているブロック生成の仕組みをとっています。
DPoSはDelegated Proof of Stakeを略したものなのですが、PoSの和訳は資産保有による証明、Delegatedを和訳すると委任という意味になります。つまり、資産保有による証明の委任になりますね。
詳しい仕組みとしては、通貨を保有する人の中からさらにブロック生成者を選出=委任するといった方法をとっています。
一言で表すと「ブロックを生成する人を選挙で決める」仕組みをとっており、日本の選挙と同じような感じですね。
該当の通貨を保有している人に投票権が与えられその人々が手数料を支払って投票を行い、ブロックの生成者を決めます。そこで選出されたブロックの生成者が取引の承認、つまりブロックの生成を行います。
決定されたブロック生成者が代表して生成作業を行なっていき、与えられた報酬を投票してくれた人にも分配をする仕組みです。
そして、DPoSのDelegated=委任の通りで、委任をうけたブロック生成者がしっかりと生成を行うと、委任をしている立場の人は何もしなくても自然と報酬が配布される仕組みです。
ブロック生成者=委任される人の人数や、報酬の受け取り方法に関してはそれぞれの通貨によって様々なので、DPoSを採用している気になる通貨があれば調べてみてくださいね!

DPoSの中でも有名なのがLISKコインなのですが、LISKの場合でみてみるとブロックの生成者は101人選出される仕組みをとっていて、その101人の中から委任する人を選出するために投票を行うことができます。
少し余談ですが、LISKは通貨の発行上限が決まっていないので、ブロック生成の報酬としてLISKホルダーの取引手数料の他にも新しくLISKが無限に発行され続けます。
PoSと似通っている部分として、該当の通貨をより多く持っている人ほど投票できる票数が多くなります。
また違っている部分として、PoSの場合は誰でもブロックの生成者になることが可能ですが、DPoSの場合はノードの投票によってブロックの生成者が決定されるため、信頼度の高いノードでないとブロック生成が行うことができないような仕組みになっています。
DPoSのメリット
DPoSのメリットとして、PoWのように難しい演算を解いたり莫大な電力を使う必要がありません。
また、そしてPoW・PoSだと、ブロック毎にハッシュの計算を行なってランダムにブロック生成者を選ぶためにどうしても時間がかかってしまいます。
対してDPoSの場合、一定期間ごとにブロック生成者を事前に選ぶだけで、そのあとはブロック生成者・ブロック生成の順番ともに決められた状態でただひたすらにブロックを生成するのみなので、低コストで生成を行うことが可能です。
通貨の保有量・保有期間に応じてブロックを生成できる確率があがる点はPoS同様です。
また、ほかのアルゴリズムとは違って委任していれば何もしていなくても報酬を受けとることができるということは、PCを稼働させなくても寝ても遊んでいても問題ないのでとても楽ですよね。
DPoSのデメリット
DPoSのデメリットとしては、ブロックの生成者候補が集まって徒党が作り出された場合に、ブロックの改ざんなどの不正がでてくる可能性があります。
そうなってしまうと非中央集権を取っているにも関わらず、ブロックを中央集権的にコントロールすることが可能になってくる危険性が否めません。
また、委任される立場になるには、通貨の保有量、コンピューターのスペックなどいくつか条件があるためすこし大変です。
ブロックの生成者を決める立場に回って投票を行い、委任してDPoSの通貨を増やす方が効率的なのと、断然楽ですね。笑
DPoSを採用している暗号通貨
- LISK(リスク)
- EOS(イオス)
- ARK(アーク)
- BTS(ビットシェアーズ)
再々になりますが、それぞれの通貨によってブロック生成者や報酬の受け取り方法は違うのでお気をつけくださいね。
PoC(Proof of Consensus)とは?

PoCの仕組み
PoCとは、Reppleが採用しているコンセンサスアルゴリズムです。
PoIはNEMのみが採用しているのと同じ感じですね。
PoCの仕組みとしては非中央集権型の暗号通貨とは少し違ってくるのですが、中央集権的な特徴を持ち、ブロックの生成者を事前に信用力の高い特定のノードを選出し、その選出された者の80%以上の人が認めた取引のみが有効な取引だと見なされる仕組みをとっています。
他のアルゴリズムのように不特定多数の中からブロックの生成者を選出するのではなく、特定の人たちが管理する仕組みです。
PoCのメリット
PoCのメリットと言えば、なんといっても取引承認=ブロック生成の速さです。
PoWの場合、世界中のノードと演算競争を行なって正しい答えを導き出された結果が取引として承認されますが、PoCの場合はそのような労力・電力・時間を要さず事前に信頼性の高いブロック生成者が事前に決まっているため、毎回不特定多数の中から選出するよりブロックの生成スピードがそのぶん速くなっています。
PoCのデメリット
デメリットは、やはりあらかじめ特定のブロックの生成者が決まっているということは不特定多数の人から選出される権利が行き渡らずに、中央集権的な仕組みになってしまっている点です。
そして、中央集権的な仕組みのデメリットとして不透明性があげられます。
また、どうしても元々のブロックチェーンが信頼のおける第三者を必要としない仕組みをとっているので、PoCの場合はブロック生成者を信頼する他ありません。
また、ブロック生成者である管理団体が改ざんを行ったりと不正なブロックを作ったとしても、不透明なのでわからない点は問題としてあげられます。
ただ、信頼性の高い組織のみがブロック生成者として選出されるからこそこのような仕組みをとってるので、不透明だからとはいえブロック生成において信頼できない訳ではありません。
そして、実際にリップルはUNL(ユニークノードリスト)と呼ばれている団体がブロックの生成を行なっています。
PoCを採用している暗号通貨

- Repple(リップル)のみ
リップルの特徴として一番にあげられるのはやはり取引承認にかかる時間がかなり短いことかと思いますが、PoCというアルゴリズムによって実現されていることが理解できたかと思います。