
どうも、りゅうけんです。
今回は、ブロックチェーンのコンセンサス・アルゴリズム(合意形成の方法)について簡単に解説します。
さて、代表的なオリジナル・ブロックチェーンをベースにしたビットコインでは「プルーフ・オブ・ワーク(PoW)」というコンセンサス・アルゴリズムを採用しているのですが、他にもいくつか合意形成の方法があります。
このコンセンサス・アルゴリズムは複数あって少しややこしい部分ですが、今回解説するのはそのルールやインセンティブを分ける重要な部分です。
「コンセンサス・アルゴリズムって何ぞや?」状態な人は、これを読んで知り合いに涼しい顔して説明できる位になりましょう。
Contents
ブロックチェーンを健全化させるコンセンサス・アルゴリズム
コンセンサスアルゴリズムとは何かというと、ブロックチェーン上で取引が正当かどうかを判断する合意形成の方法です。
つまり、コンセンサス・アルゴリズムにはブロックチェーンを健全化させる重要な役割なんですね。
さて、ブロックチェーンでは個人のノード(ネットワーク)にチェーンで繋がれるブロックの、最新で正しい取引情報を常に共有していかなければなりません。
しかし中央管理者がいないブロックチェーン上で一体どうしてそんな面倒臭い事する人がいるのでしょうか?
なんで、そんなことを企業もこぞってやるようになったのでしょうか?
ではまず、簡潔にコンセンサス・アルゴリズムをまとめたものを見てみましょう。
コンセンサス・アルゴリズム |
特徴 |
仮想通貨 |
プルーフ・オブ・ワーク(PoW) |
複雑な計算を早く計算した人が報酬を得る |
ビットコイン |
プルーフ・オブ・ステーク(PoS) |
コインを多く保有している人が報酬を得る |
イーサリアム(予定) |
プルーフ・オブ・インポータンス(PoI) |
コインの保有や期間、使用頻度が多い人が報酬を得る。 |
NEM |
主に上の3つの方法があるのですが、それぞれをなるべくアカデミックにならないよう以下より解説します。
プルーフ・オブ・ワーク(PoW)とは
プルーフ・オブ・ワーク(以下PoW)は、ブロックチェーン上で改ざんを防いだり二重使用されることを防ぐ為に複雑な計算をして合意を取る方法です。
何を計算するのかと言うと、ブロックチェーンのブロックを生成する為に用いられる「ナンス値」という数値です。
ブロックチェーンの一つのブロックのまとまりには、「前のブロックのハッシュ値+ナンス値+取引データ」がセットで入ってるんですが、ちょっと図で見てみましょう。
このようなブロックが連なってブロックチェーンができてるんですが、PoWを行うためにはこのナンス値の正しい値を計算して算出しなければなりません。
「ナンス値(nonce)」=「number used once」
というようにナンス値自体に特段の意味は無く、PoWで取引を承認する為に一度だけ使われる使い捨ての数字なのです。
取引の承認をする為には条件を満たすナンス値を見つけ出す必要があるんですが、ここでマイナー達による「早く数字を解いた者勝ちの計算合戦」が行われます。
そして、見事計算によってブロック全体のハッシュ値を求められると、取引が承認されて確定します。
で、この計算合戦で報酬を勝ち取る為に、コンピューターに莫大な投資をしている中国のマイニング企業のビジネスマン達がこぞって参入していたわけですね。
お陰でブロックチェーンの安全性が保たれているのです。
じゃあ、なんで複雑な計算を競争していかないといけないのかっていうと、複数の人達がバラバラに取引ブロックを作ってしまったら混乱しますよね。
つまり、マイナー間で誰が新しいブロックを作って報酬をゲットするかを決めないといけないのです。
このように、計算力があるほど有利になるのがPoWです。
プルーフ・オブ・ステーク(PoS)とは
プルーフ・オブ・ステーク(以下PoS)は、ブロックチェーンの参加者間でネット上の保有通貨の量が大きく、期間が長いほどマイニングが簡単になって更新権限が得やすくなる仕組みです。
PoSのマイニングの難易度は「コインの保有期間×コインの保有期間=コイン年数」という方法で決まり、複雑な計算を早くした者勝ちのPoWとは違って、コインを多く長く持ってる人が勝つんですね。
なので、マイニングの効率が良いのはPoWよりPoSです。
なぜならPoSでは「マイニングのマシンに莫大な電気代をつぎ込む」みたいな事はありませんからね。
そしてコインを多く長く持っている人は、マイニングの難易度が軽減されるので、そのコインを多く長く持つインセンティブが生まれます。
儲かってる人が一番儲かる、みたいな。
さらにPoSは、PoWのように複雑な計算がなく、難易度が相対的に簡単になるので、電気代以外に承認の時間が早く済むメリットもあります。 このような問題をスケーラビリティと言いますが、スケーラビリティとは要求に対応できる適応力とキャパです。
そして、マイナーによる不正もほぼ無いでしょう。 コイン年数が大きい大口のコイナーが自分で不正して自分の資産価値を下げるような事は普通しませんからね。不正せずに真面目に動く方が儲かるインセンティブがあるのはPoWと同じです。
しかし、このPoSの仕組み上、資産の流動性が鈍る事がデメリットの一つです。
そして、保有割合が大きい人が権威を持っているので、富の集中化が懸念されますね。
「儲かってる人が更に儲かる」というなんだかキャピタリズムな感じであることは否めません。
しかし、流動性が肝となる決済用通貨ではPoWを使えば良いわけで、仮想通貨の特徴によって使い分ければ良いのでしょう。まあ、よくできてます。
このように、PoWとPoSで根本的な部分が異なってるんですね。
プルーフ・オブ・インポータンス(PoI)とは
プルーフ・オブ・インポータンス(以下PoI)は、PoSの手法であるコインの保有量と保有期間に加えて、使用頻度の高さも考慮された上でマイニングの難易度が決まります。
つまり、その経済圏でたくさん貢献している人が報酬を受け取ることができるんです。
PoSと似ていますが、ちょっと違うのは保有している資産を使ってるかどうかなんですね。
貨幣が血液のように流通して経済が成り立つように、PoIのアルゴリズムでもそれを循環させなければいけません。
PoIはNEMが導入したコンセンサス・アルゴリズムなんですが、保有量以外に保有期間や頻度も考慮して、皆が平等に報酬を得られるように意図して設計されてるんですね。
これはPoSの問題点であった「保有割合が多い人たちへ偏ること」を防ぐもので、
「みんなで積極的にネットワークに貢献して新しい経済圏創り出そうぜ!ウェイ!」みたいなイメージに近いです。
とはいっても、そもそもある程度の保有量がなければ資産を総合的に見たときに結局保有資産額が大きな人が勝ってしまいそうですが。
さいごに
これらの3つのコンセンサス・アルゴリズムは、全て不正する奴らをネットワーク内に参加させない為の方法であり、たくさん説明しましたがこれが本質です。
ブロックチェーンの世界では、全て管理者を不在にした上で不正を非合理化できるんです。
今回説明した各アルゴリズムは、不正を防ぐための作業のプロセスがそれぞれただ違うってことですね。
では、最後にもう一度整理します!
プルーフ・オブ・ワーク・・・・・・仕事の証明プルーフ・オブ・ステーク・・・・・保有の証明
プルーフ・オブ・インポータンス・・重要性の証明
それぞれ「何を証明しないといけないのか」さえ覚えておけば、あとはイメージで掴めると思います。