【図解】誰でもわかるプルーフ・オブ・ワーク(proof of work)の仕組み

ビットコイン(BTC)は、プルーフオブワークProof of Work:以下PoW)という仕組みが採用されています。

この記事では、ビットコインの中心技術の一つであるプルーフオブワークについて、可能な限り分りやすく図解します。

この記事を理解するためには、ビットコインの仕組みを理解している必要があります。まだ理解に自信がない方は、下記のリンクをご参照いただければと思います。

コンセンサスアルゴリズム(承認アルゴリズム)とは?

プルーフオブワーク(PoW)とは、コンセンサスアルゴリズムの一つです。

コンセンサスアルゴリズムは、直訳すると承認処理の方法です。つまり「取引を正しいと承認・証明する方法」です。中央集権で管理されている銀行では、中央サーバーで取引の不正が行われないように絶えず監視を行なっています。

しかし、ビットコインは、中央集権の管理者・監督者がいません。

多くの取引や決済は、中央の監督者が「取引が正しいかどうか」を厳密にチェックしています。

例えば、クレジットカードを利用する場合であっても、クレジットカード会社が取引を監視しています。クレジットカード会社は、決済を監視する役割を担う代わりに、手数料を徴収し利益を得ています。

「いやいや、クレジットカードを利用しても手数料は取られていない!」と思う方もいますが、利用者側ではなく店舗側が手数料をしっかりと負担しているんですね。

一方で、ビットコインは、プルーフオブワーク(PoW)という仕組みを用いて、決済を中央監督者なしに成立させることができます。取引を監視するコストがかかりませんから、ビットコインの手数料は非常に安くすることが可能なのです。

まとめ
一般的な取引は、中央監督者が取引を監視し、手数料を徴収する。
ビットコインは、プルーフオブワーク(PoW)によって、中央監督者が不在で取引を正しいと証明できす。
監視・監督のコストがないので、一般的には手数料が安くなる。

プルーフオブワーク(Proof of Work:PoW)とは?

プルーフオブワークとは、簡単にいうと「仕事量による証明」です。仕事量が多い取引を正しいとするアルゴリズムです。

取引の承認アルゴリズム(コンセンサスアルゴリズム)は下記の手順で行われます。

STEP.1
ブロック作成
複数の取引を一つにまとめた取引群のブロックを作る
STEP.2
ハッシュ値検索
マイナーたちは、すでに承認されているブロックに、1.で作成した未承認のブロックをチェーンで繋げるためにハッシュ値を検索する。ハッシュ値の検索は、例えるなら「暗証番号を連打して解読するようなもの」なので大量のマシンパワー(電力)を消費して行う。
STEP.3
ネットワークノード提示
マイナーの中で、いち早く暗号を解いた人が未承認ブロックをネットワークノードに提示する
STEP.4
投票
提示されたブロックが正しいかどうかを、ぶつけたハッシュ量(暗証番号の連打量)を投票券として投票する
STEP.5
承認
51%以上の承認が得られれば正式なブロックとして承認される
STEP.7
報酬獲得
承認を得たマイナーは25BTCの報酬を得る

マイナーとは何か?

「miner png free」の画像検索結果

上述のアルゴリズムに、マイナーと呼ばれる存在が登場しました。

マイナーとは、ビットコインを採掘する人々(集団)のことです。マイナーはアルゴリズムの最後に得られる25BTCの報酬のために、大量のコンピューターと電力を駆使して、正解のハッシュ値を探します。

一般的には、この行為は「マイニング」と呼ばれています。
マイニングの報酬を得るためには、マイナー間の競争に勝たなくてはいけません。

また、マイナーは世界中に分散して存在しており、銀行のように中央管理ではありません。銀行は中央サーバーが障害を起こしたらシステムがダウンしてしまいますが、ビットコインは分散管理のため破壊することができません。

なぜ不正が起きにくいか

これだけでは「なぜ取引の不正が行われないのか」理解することが難しいかと思います。それを理解するためには、上記の2と3のステップをより詳しく説明する必要があります。

2と3で記載したハッシュ値は、「ある値を入力」すると出力される「文字列」のことを言います。ここでポイントとなるのは、ハッシュ値は、同じ値を入力すると必ず同じ文字列が出力されますが、出力した文字列からは入力文字列を復元することはできません。

SHA256のジェネレーターで試すことができます。

この暗証番号でもあるハッシュ値は、どのように作られるのかというと、一つ前のブロックの「ハッシュ」「ノンス」「取引群」の情報から生成されます。「ノンス」とは、ハッシュ値と合致する「正解の入力文字列」のことです。

MEMO
ノンスとは、ハッシュ値と合致する正解文字列

つまり、あるブロックの取引の改ざんを行うと、次のブロックのハッシュ値(正解の暗証番号)が変わります。次のブロックのハッシュ値が変わると、その次のハッシュ値も変わることになります。

下記のようにブロックが鎖のようにつながっており、一つのブロックを改ざんすると、それ以降のブロックを全て改ざんしなくてはいけません。

仮に、過去のブロックを改ざんしようとした場合、それ以降に連なっている全てのブロックを再計算しなくてはいけません。地道にコツコツ再計算し続ければ改ざんが可能なのでしょうか?

答えはノーです。ビットコインにおけるプルーフオブワーク(PoW)では、「最も長く連なっているチェーンが正しい」というアルゴリズムとなっており、短いチェーンは破棄される仕組みになっています。

つまり、最も長く連なっているブロックチェーン=仕事量が多く費やされているブロックチェーンです。
これがプルーフオブワーク(仕事量の証明)と言われている理由です。

下記の図のように、仮に改ざんをしようとしても(全てのマイナーがグルを組まない限りは)正しいチェーンに追いつくのは理論上ほぼ不可能です。

以上のようにプルーフオブワーク(PoW)は非常に不正が行われにくいアルゴリズムとなっています。

ブロックチェーンとは?

上記のように正しいと証明されたブロックがチェーンのように連なっていくためブロックチェーンと呼ばれています。

承認アルゴリズムが異なれば、チェーンが連なっていくスピードも異なりますし、取引の不正が行われる確率も異なります。プルーフオブステークやプルーフオブコンセンサス等、様々なアルゴリズムが開発され実験が繰り返されています。

51%攻撃:ブルーフオブワーク(PoW:Proof of Work)の欠点

プルーフオブワークは完全ではありません。PoWには51%攻撃という欠点が存在します。上記の承認アルゴリズムのステップ6は下記の通りでした。

6. 51%以上の承認が得られれば正式なブロックとして承認される

つまり、51%以上のハッシュパワーを獲得してしまえば、不正ブロックを承認することが可能です。しかし51%のハッシュパワーを獲得することは、非常にコストがかかり難しいとされています。

プルーフオブステーク(PoS:Proof of Stake)とは?

プルーフオブワークの欠点を補う方法としてプルーフオブステークというアルゴリズムが考案されています。
プルーフオブステークは将来的には時価総額2位のイーサリアムで採用されることが決まっています。

下記リンクでプルーフオブワークとプルーフオブステークの違いを解説しています。

おすすめの取引所は?

QUOINEXはセキュリティが非常に高い取引所でおすすめです。下記のリンクから口座開設が可能です。


【QUOINEX】口座開設はこちら

クリトピさん

口座開設の方法を知りたい方は下記左のリンクから説明しています。またQUOINEXをおすすめする理由が知りたい方も下記右のリンクを参考にして頂ければと思います!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください