ブロックチェーン

【解説】ブロックチェーンを支えるProof of Work(PoW)とは?

【解説】ブロックチェーンを支えるProof of Work(PoW)とは?

仮想通貨ビットコインなどを支えているブロックチェーンを理解するのに、重要になりますProof of Work(プルーフ・オブ・ワーク→以下、PoW)。

ビットコインの概要は、以下の記事で解説しておりますので、ご覧下さい。

分散型のP2Pネットワーク構成を採用しているブロックチェーンでは、どのデータが正しいのか?を判断する管理者が存在しておりません。

そこで、その判断を行える環境を作っているのが、以下で解説するPoWです。

今回は、そんなPoWの仕組みを中心に解説しようと思います。

その前に・・・

ブロックチェーンの流れを簡単に確認

PoWの解説を始める前に、簡単にブロックチェーンの流れを確認しておきましょう。

まず、ビットコインなどを利用した取引が行われた場合、ブロックチェーンに取引データの入ったブロックが生成されます。

このブロックが生成される事により、初めてその取引が、正式な取引として扱われるのですが、生成するにはマイニングと呼ばれる作業が発生しています。

マイニング(Mining)とは?

ブロックチェーンでブロックを生成するには、膨大な計算量が必要になりますので、その計算をブロックチェーンに参加しているノードで分散し行なっています。

行なっている内容としては、

・前ブロックのハッシュ値

・取引データをハッシュ値に変換した値

を足して、ある一定の値以下に出来るNonce値を探しています。

ハッシュ値、Nonce値に関しては、以下の記事で解説しております。

ハッシュ値を、ある一定の値以下に出来るNonce値を探すには、Nonce値を適当にハッシュ値に代入し計算する必要があります。この処理に、膨大な計算量が必要になります。

ですので、見事適切な値を探し出したノードには、報酬として、新規発行されたビットコインなど仮想通貨を得る事が出来ます。この作業をマイニングと呼び、作業を行なっている方達をマイナーと呼びます。

PoWとは?

計算=仕事

PoWとは、上記で解説したマイニング形態を指しています。

膨大な計算(仕事=Work)を行い、最初に答えを出したノードが報酬を得る

この仕組みを、Proof of Workと言います。

Proof of WorkのWorkの部分は、マイニングの解説を事前にしておりましたので、簡単でした。

では、次にProof(証明)の部分を解説します。

ブロックを生成=改ざんは不可能

ブロックを生成するには、マイニングが必要

これは、前項で確認していただいていると思いますが、「最初に答えを出したノード」この部分には、少し触れていない部分があります。

PoWでは、最初に答えを出したノードがブロックを生成していますが、その答えを正しい答えとして扱うには、ブロックチェーンに参加しているノードの51%以上の承認が必要になります。

また、生成されたブロックには、前ブロックと連結しているハッシュ値が含まれていますので、生成されたブロックを改ざんしようとするのであれば、過去にある全てのブロックを変更しなくてはいけません。

1個のブロックを生成するのに、

・膨大な計算量が必要

・そのブロックを承認するのに、全体の過半数以上の承認が必要

になりますので、実質改ざんは不可能と考えられています。

ですので、ブロックを生成=正式なブロックとして証明された事になります。

これがProofと呼ばれる所以です。

PoWのメリット・デメリット

メリット

悪意のある攻撃を防ぐ

PoWで生成されたブロックを改ざんするには、過去のブロック全てを変更しなくていけない為、実質改ざんは不可能と解説しました。

つまり、PoWは、悪意のある攻撃に強いシステムである事が分かります。

公平性を保てる

また、膨大な計算量が必要になる為、ある程度CPUの強いマシンが有利にはなりますが、言い返せば、それ以外は公平であると言う事です。

PoWでは、新規参入した組織であっても、計算性の高い処理が出来る組織であれば、充分に参入する事が出来ると言う事です。

デメリット

電気代などのコスト増大

やはり、膨大な計算量を必要とするシステムなので、マシンを稼働させる電気代などのコストがかなりかかります。

また、電気代がかかると言う事は、それだけ電力を消費している事になります。この電力消費量は、環境破壊を懸念するレベルでの消費になっているのが現状なので、PoWを批判する声は多く上がっています。

51%問題

PoWは、過半数以上の承認が必要になり、ブロックチェーンに参加しているノードの過半数を集めるのは実質不可能と上記で述べましたが、言い換えれば、集めてしまえた場合、PoWは完全に崩壊すると言う事です。

何事にも絶対は存在しないので、不可能と言われていても、起こり得る可能性はあると考えておくのが大切です。

PoWの課題を克服した?システム

如何でしたか?

今回、解説した通りPoWにも良い点、悪い点が存在します。そして、悪い点は改善する必要があります。

そこで、最後に余談ですが、ビットコインなどの仮想通貨に利用されているPoW以外に、

・PoS(プルーフ・オブ・ステーク)保有の証明・・・対象の仮想通貨を多く持っているノードにブロックを生成する権利を与える。イーサリアムは、今後PoSへ移行予定。

・PoI(プルーフ・オブ・インポータンス)重要性の証明・・・多くの保有量、取引量、取引回数、取引をした人にブロックを生成する権利与える。NEMなどは、Polを採用している。

・PoC(プルーフ・オブ・コンセンサス)合意の証明・・・リップル社が認めた機関の8割が承認する事で、取引が有効とされる。XRPなどは、PoCを採用している。

など、PoWの問題を回避している通貨もあります。

どのシステムが正しいのか?は明確ではありませんが、その通貨の特性に合わせて利用するのが最善だと思われます。