仮想通貨(ビットコイン)のブロックチェーンを成り立たせるためのコンセンサスアルゴリズム
ビットコイン(BTC)をはじめとする仮想通貨は、革新的なブロックチェーン(分散型台帳)の技術開発と合わせて生み出されましたが、仮想通貨の改ざん困難なブロックチェーン上の取引データは「コンセンサスアルゴリズム」によって検証されています。仮想通貨の仕組みやブロックチェーンの構想の背景には、「第三者に一方的に管理されていない自由な個人のコミュニティ」があり、仮想通貨は政府・中央銀行に依存しなくてもトラストレスに機能する「ウェブ上の通貨(トークン)」としての特徴を持っています。
仮想通貨のコンセンサスの種類によって違いはありますが、ビットコインを典型とする仮想通貨のブロックチェーンは「自律分散的・非中央集権的なシステム」として稼働し続けるために、コンセンサスアルゴリズムと呼ばれる「ブロック承認・追加の合意形成ルール」を持っているのです。
仮想通貨におけるブロックチェーンとは、一定の取引データの塊(かたまり)を「ブロック」として形成して、そのブロックをチェーン(鎖)のようにつなげていく技術です。ブロックチェーンでは複数の承認者(検証者)の承認作業によって、複数のチェーンが分岐することもありますが、常に一番長いチェーンの先にあるブロックを「正しいデータが記録されたブロック」と見なすことで、間違ったチェーンを淘汰(消去)していく仕組みが備わっています。
現在に至るまで、仮想通貨のブロックチェーンのセキュリティー技術そのものが破られて、取引データが改ざんされた前例はありませんが、「モナコイン攻撃(51%攻撃)の特殊事例」が起こったことで、仮想通貨やブロックチェーンの「マイナー数+マイニング計算量が不十分なPoWの脆弱性」について問題視する声も出てきています。
ビットコイン(BTC)のブロックチェーンは「nonce値を見つけるマイニング(複雑な計算作業)」によって改ざんが極めて困難
仮想通貨のブロックチェーンにおけるコンセンサスアルゴリズムは、ブロックチェーンに新規ブロックを追加する際の合意形成ルールであり、その中で最も有名なものはビットコイン(BTC)に採用されている「PoW(Proof of Work:仕事の証明)」です。ブロックチェーンでは「ハッシュ関数」に仮想通貨の取引データを入力・計算することで、ランダムな長い英数字列である「ハッシュ値(1jysgfiowu87xm7vxpo……のようなデタラメな英数字列)」が生成されますが、このブロックチェーンのハッシュ値は元の取引データ(数字)に復元することが技術的・暗号学的に不可能になっています。
仮想通貨におけるブロックチェーンでは各ブロックに「ハッシュ値」が生成され、そのハッシュ値がチェーン状につながっているので、途中のブロックの内容だけを改ざんして書き換える事は原理的にほぼ不可能になっています。
仮想通貨のブロックチェーンを書き換えるとしたら、現在から過去(最初期)までの全てのブロック内のデータを再計算する膨大なハッシュパワーとマイニング(超複雑な計算)の電力が必要になるからです。大きなハッシュパワー(コンピューターの計算力)を必要とするPoWのマイニング(採掘)とは、ブロックのハッシュ値に変換されるnonce(ナンス)値を見つけ出すために意図的に作られた「複雑かつ大量な計算」です。nonce値をハッシュ関数に入力することで、ハッシュ値が得られるという関係性にあります。
ビットコインのPoW(プルーフ・オブ・ワーク)の特徴とメリット・デメリット
仮想通貨であるビットコインのブロックチェーンに採用されているコンセンサスアルゴリズムは「PoW(Proof of Work)」で、不特定多数のコンピューター(ハッシュパワー)がノードに参加して、nonce値を探す複雑で大量な計算を行います。このブロックチェーンの計算作業が「マイニング(採掘)」と呼ばれるもので、最初にnonce値を探し当てたマイナーに報酬(BTC新規発行分)が与えられる事になるのです。
nonce(ナンス)は32ビットの値で32ビットは2の32乗で「4,294,967,296」、nonceの組み合わせは「約43億通り」もあるので、1つのnonceを見つけるマイニングのために膨大な計算量が必要になります。ビットコインではブロックの末尾につけられる「ハッシュ値(nonceをハッシュ関数に入力したもの)」は、先頭に0が16個並ぶ数字列になると事前に決められています。
仮想通貨におけるPoWのメリットは世界中のコンピューターによって、ブロックチェーンのブロックの記録である「フルノード」が共有されているので、数字の改ざんが非常に難しくてPCと電気代のコストもかかるという事です。PoWのマイニングとP2Pのネットワーク管理には仮想通貨が「単なる数字のコピー」ではない事を保証するメリットもあります。つまり、仮想通貨は膨大な計算量を維持するために必要な電力と有限の発行枚数の前提によって、ブロックチェーンによって「ビットコインの有限性・希少価値」が担保されているという見方が有力になっているのです。
PoWのデメリットは、仮想通貨の希少価値の裏返しで「マイニングに大量の電力が必要・環境負荷が大きい」があります。PoWのデメリットとして、マイニングに必要な計算量の51%以上を1つの企業(1人の個人)に独占されるとブロックチェーンを改ざんされるリスクが生じる「51%攻撃(51%問題)」もあります。PoWは「決済が確実に承認された状態であるファイナリティーが取れない(100%に近い確率で改ざんされていない証明になる)」という特徴もあり、「100%確実な承認」に強くこだわる人にとっては問題があるという事になります。
PoS(プルーフ・オブ・ステーク)のコンセンサスアルゴリズムの特徴とメリット
仮想通貨であるビットコインのPoWのデメリットを改善したコンセンサスアルゴリズムとして、DashやNEOなどに採用されている「PoS(Proof of Stake:保持数の証明)」があります。同じく仮想通貨イーサリアム(ETH)も将来的にはアップデートの完成によってPoWからPoSに移行する予定になっています。
ブロックチェーンにおけるPoSは「保持数の証明」と翻訳されているように、「仮想通貨の保持数・保有数」が多ければ多いほど、承認作業を安定的に行ってブロックを形成しやすくなるというコンセンサスアルゴリズムです。PoWのように「コンピューターの演算能力の速度(ハッシュレート)」によってブロック承認の競争をするのではなく、PoSでは「仮想通貨の保有数・保有期間」によってブロックの承認権限と報酬の分配を行っていきます。PoSのブロック承認作業は「マイニング」ではなく「フォージング(承認)+ステーキング(報酬の分配を得る)」と呼ばれる事が多くなっています。
ブロックチェーンにおけるPoSの最大のメリットは、PoWの弱点である「電力消費の多さ(環境破壊問題)・51%攻撃のリスク」を改善している事にあります。PoWのようにnonce値を探すためだけの複雑な計算作業(コンピューター性能の競争)をする必要がないので、消費電力を節約する事ができます。PoSのブロック承認は「仮想通貨の保有数・保有期間」によって承認権限と報酬の比率が決まってくるので、ハッシュレート(採掘速度)の51%以上を保有する誰かからブロックチェーンを改ざんされるリスクも殆どありません。大量にその仮想通貨を保有している人・企業が、不正なフォージング(承認)をしてブロックチェーンの信用を毀損すれば自分が損をするだけなので、大量に保有する人ほど公正な承認作業をする動機づけが強いからです。
PoSのデメリットと「非中央集権的・自律分散的な仮想通貨」の民主的運営の理想
ブロックチェーンにおけるPoS(Proof of Stake)のデメリットとしては、ブロック承認に対する競争原理が働かないことで、「仮想通貨の大量保有者の権限・優位」が強くなり過ぎてしまうことがあります。PoSはPoW以上に、「仮想通貨保有者間の格差(富める者がますます富むという有利)」が大きくなりやすいコンセンサスアルゴリズムなのです。つまり、大量保有可能な開発者・資産家などがただその仮想通貨をたくさん持っているだけで、どんどんブロックを承認して仮想通貨での大きな報酬を手に入れていくことになります。
ブロックチェーンにおけるPoSではその仮想通貨を保有しているだけでフォージングやステーキングによる報酬が入ってくるので、基本的によほど価値下落の恐れがない限りは、その仮想通貨を大量に持っている人が売ろうとはしません。その結果、仮想通貨市場における流動性が落ち込みやすい(価格も上がりにくい・格差も縮小しにくい)というデメリットもあるのです。高性能PC群(ASIC群)も電力も必要ないPoSは、ノーリスク(ノーコスト)でブロック承認をして仮想通貨で報酬が貰えるため、正しいチェーンを生成する動機が弱まるという「Nothing at Stake問題」も指摘されています。
ビットコイン発明時からの仮想通貨の基本理念は、「非中央集権的・自律分散的なP2Pネットワークに基づく民主的運営」とされていますが、PoWとPoSのコンセンサスアルゴリズム(合意形成ルール)では、PoWの方が「公正な競争原理(大量保有者のお金持ちだけを優遇しない)」を前提とした民主主義的運営が行いやすい仕組みとは言えるでしょう。
しかし厳密に言えば、PoWのマイニングも、ASIC群の大規模設備を持つマイニングプールが報酬を独占しがちで、一般個人が市販PCでマイニングに参加することは難しくなっています。ただPoWとPoSを比較して、コンセンサスアルゴリズムとしてどちらが優れているかを一概に決めることはできず、ケースバイケースで優劣は分かれます。PoWとPoS以外にもNEM(XEM)のPoIなど新たなコンセンサスアルゴリズムもありますが、各種のブロックチェーンの合意形成ルールは一長一短なのです。