プルーフ・オブ・ワーク(PoW)の仕組みをわかりやすく解説

プルーフ・オブ・ワークの仕組みを解説

仮想通貨の承認の方式をコンセンサスアルゴリズムと言います。コンセンサスアルゴリズムの種類は複数ありますが、その中でも最もメジャーなのがプルーフ・オブ・ワーク(PoW)です。

プルーフ・オブ・ワークはビットコインを始めとする多数の仮想通貨で採用されており、簡単に言えば計算競争によって採掘者を決める仕組みです。今回の記事ではこの仕組みのルール、リスクなどについて解説いたします。

コンセンサスアルゴリズムとは

非中央集権的な仮想通貨には、管理者が存在しません。管理者がいない中で不正取引を防ぎ、ブロックチェーンを健全に保つためには、ネットワーク内の誰かが正当に取引の承認を行う必要があります。
コンセンサスアルゴリズムとは言ってしまえば、「ブロックを生成する権利を誰に与えるか」を決めるためのルールです。

プルーフオブワーク(PoW)とは?

プルーフ・オブ・ワークは、直訳すれば「仕事による証明」です。もう少し具体的に言えば、仕事量、つまり計算量が豊富なコンピュータを保有するユーザーに対して優先的にブロックを生成する権利を与える仕組みのことです。ブロック生成者には、「新規発行分の仮想通貨+ユーザーが支払った仮想通貨=報酬」を受け取る権利が与えられます。

権利が与えられなかった多数のユーザーは、そのブロックの正当性を確認します。ブロック生成者とチェック者を分けることによって、安全性を保ちます。

ビットコイン(BTC)、ビットコインキャッシュ(BCH)、ライトコイン(LTC)など、主要な仮想通貨で採用されている仕組みでもあり、その信用性は現状では高いです。

プルーフ・オブ・ワークの仕組み

プルーフ・オブ・ワークは、コンピュータの計算競争によって成り立っています。

ビットコインの場合、各ブロックには、トランザクション(個別の取引情報)の他に、ハッシュ値やナンスと呼ばれるデータも入っています。ハッシュ値とは、元の値をハッシュ関数と呼ばれる関数に通したときに出てくる、元の値とはまるで無関係に見える値です。

ある値を少し変えるだけでも、その結果出てくるハッシュ値はまるで別のものになります。逆にある値を変えない限りは、毎回同じハッシュ値が出てきます。参考までに、ビットコインで採用されているSHA-256にある値を通した時出てくるハッシュ値を掲載しておきます。

元の値 ハッシュ値
あいうえお FDB481EA956FDB654AFCC327CFF9B626966B2ABDABC3F3E6DBCB1667A888ED9A
あいうえお。 216ACFE78EC67C088596BBF313B415D510B7F04F23D0B09E862C0E851B111D7E
あいうえオ 78FB8BA3C0F21202DD67814F78EEA4E5A9F3E76E2EA1AB196DC999FE60921CE4

元の値が少し違うだけで、ハッシュ値がまるで別のものになっていることがわかります。

ノンスはそれ自体には特に意味がない使い捨ての32桁の値です。プルーフ・オブ・ワークでは、最新ブロックに入れるノンスを計算します。

ビットコインのブロックを生成するためには、前のブロックのハッシュ値、最新のブロックのトランザクション、最新ブロックのノンスが必要です。最新ブロックのノンスはまだ確定していないので、マイニングを行う側が適当に決めます。この3つをまとめてハッシュ関数に通すと、1つの新しいハッシュ値が生まれます。

この際に、先頭の16桁が全て0になってばブロック生成は成功、そうでなければ失敗となります。失敗した場合はノンスを別のものに変えて計算し直しです。

PoWのハッシュ値をマイニングする流れ

先頭16桁が偶然全て0になることなどそうそうないので、1回や2回の計算でブロックが生成されることはまずありません。しかし、ネットワークに多数接続されたコンピュータで延々と計算を繰り返せば、いつかは成功するはずです。

最初に成功したコンピュータの保有者には前述の通りブロックを生成する権利が与えられ、その時点で最新のブロックに格納されるノンスが決まります。PoWにおけるマイニングは「正しいハッシュ値を導けるノンスを求めるために総当たりで計算を繰り返す行為」と考えてください。

プルーフ・オブ・ワークが計算競争と言われるのは、このような仕組みになっているためです。計算能力が高ければ高いほど、最初に正しいノンスを見つけられる可能性が高まります。もちろん、時には計算能力の低いコンピュータが偶然競争に勝つこともありますが、長い目で見れば計算能力が高いコンピュータのほうが有利なことは間違いありません。

ハッシュ値からノンスを導くことは出来ないの?

ノンスをいちいち入れ替えて総当たりで計算せずとも、導きたいハッシュ値を最初に決めてそこからノンスを割り出せばいいのでは、と思われるかもしれません。しかし、残念ながらそれは不可能です。

ハッシュ値とノンスの関係

ハッシュ関数では、元の値からハッシュ値を求めることは簡単にできますが、元の値からハッシュ値を求めることはほぼ不可能だからです。頑張ればできるのかもしれませんが、それよりも総当たりで解いたほうが早いです。

プルーフ・オブ・ワークとプルーフ・オブ・ステークの違い

プルーフ・オブ・ステーク(PoS)は、プルーフ・オブ・ワークに次いで有名なコンセンサスアルゴリズムです。現時点ではピアコイン、ブラックコインなどが採用しています。また、仮想通貨時価総額ランキング2位のイーサリアムは現在はプルーフ・オブ・ワークを採用していますが、将来のハードフォークでプルーフ・オブ・ステークへ移行する予定です。

プルーフ・オブ・ワークは大まかに言えば計算能力の高いコンピュータに優先的に承認する権利(報酬を受け取る権利)が与えられる仕組みでしたが、プルーフ・オブ・ステークの場合は現時点での通貨保有量が多いコンピュータに優先的に承認する権利が与えられます。

プルーフ・オブ・ワークとプルーフ・オブ・ステークの違い

競争ではなく、予め決められたルールに従って権利が割り振られると考えてください。

通貨を少しだけしか保有していないコンピュータにはたまにしか承認する権利が与えられないため、受け取れる報酬も少なくなります。通貨を大量に保有しているコンピュータにはより頻繁に承認する権利が与えられるため、受け取れる報酬も多くなります。通貨の保有量に報酬が比例するこの仕組みは、銀行預金の金利にも似ています。

プルーフ・オブ・ワークで不正認証が防止できる

プルーフ・オブ・ワークでは、原則として、不正認証を防止することができます。原則として、という但し書きがついているのは、この原則が該当しない場面では、不正認証ができてしまう可能性があるためです。
ただし、その実現可能性は現状低く、それを行うメリットに対してデメリットが大きすぎるため、あまり過剰に心配する必要はないでしょう。不正認証のメリットやデメリットについては、「51%攻撃のリスクがある」の見出し内で説明しています。

プルーフ・オブ・ワークにおける問題点

プルーフ・オブ・ワークは仮想通貨のブロックチェーンを健全に保つ上で非常に有効な仕組みですが、一方で問題点も複数存在しています。現状、特に問題視されることが多いのが、51%攻撃というブロックチェーンに対する攻撃へのリスクと、電力消費量の多さです。

51%攻撃のリスクがある

51%攻撃とは、PoWを採用している仮想通貨のマイニングの計算能力を特定のマイナーグループが保有しているときに発生しやすくなる、ブロックチェーンに対する攻撃のことです。

ご存知の方も多いかと思いますが、Bitcoinを始めとする多くの仮想通貨のマイニングに参加するためには、事実上ASICという高額なコンピュータが必要不可欠です。それ以外のコンピュータでも参加できなくはないのですが、計算能力でASICに全く太刀打ちできないので、参加する意味はありません。

マイニングで安定的に報酬を得るためには、ASICを多数揃える必要があります。それができるのは十分な資金力があるグループに限られるため、必然的にマイニンググループの寡占化が進みます。この寡占化が進行し、ある1つのグループが過半数の計算能力を得たときに、51%攻撃のリスクは大いに高まります。

ブロックチェーンの世界では、ブロックが分岐した場合に、より長いブロックチェーンを正当なものとみなします。

51%攻撃の図解

仮に悪意ある攻撃者が計算能力の過半数を手に入れた場合、本来は間違っているはずのブロックを正当なものをみなしたり、正しいはずのブロックを正当なものとみなしたりすることができるのです。

実際に51%攻撃が発生する可能性は現状低い

51%攻撃は理論上は大きなリスクの一つではありますが、実際にそれが起こる可能性は低いと考えられます。

まず、現状では、過半数の計算能力を保有するマイニンググループは存在していません。一番シェアが大きいマイニンググループはBTC.comですが、それでも30%程度です。仮に51%を超えるためには、3位もしくは4位辺りまでのグループを完全に巻き込まなければなりません。それぞれ自分の都合があって動いているマイニンググループを完全に自陣に引き入れるのは極めて困難と言えるでしょう。

また、51%攻撃は基本的に赤字になります。51%攻撃を行うためにかかる費用とそこから得られる収入では、前者のほうが圧倒的に多くなりやすいのです。

51%攻撃をするためにかかる費用は、ASICの購入費用と追加で掛かる電気料金です。悪意あるマイニンググループが51%攻撃をするためには自分達の計算能力を底上げする必要がありますが、高額なASICを過半数のシェアを得るまで買い続けるのには多額の資金が必要になります。

一方、51%攻撃をして得られる収入は、不正な取引の承認によって得た仮想通貨の売却益ですが、これは思った以上に小さいです。51%攻撃を受けたことが明らかになると、その仮想通貨の価格が大幅に下がるからです。価値が大幅に下がった仮想通貨を大量に手に入れても、大した収入にはなりません。

現時点である程度シェアを獲得しているマイニンググループは、51%攻撃を行うよりも、現時点のシェアを大きく落とさないように気をつけながら、マイニングに励んだほうが効率的に稼げます。マイニンググループは利益集団なので、より大きく稼げる方を選ぶでしょう。

大量の電力消費を伴う

マイニングでは大量のASICを稼働させます。ASICの稼働には大量の電力が必要です。イギリスのエネルギー価格比較プラットフォーム「Power Compare」が発表したデータによれば、現状、Bitcoinのマイニングで消費される電力量は、159カ国それぞれで消費されている電力量よりも多いそうです。

このデータでは、このまま消費される電力量が増え続ければ、2018年10月にはイギリスのそれをも超えるのではないかと予想されています。

また、モルガン・スタンレーのアナリストチームの調査によれば、ビットコインのマイニングに必要な電力消費量は、2025年には電気自動車のそれを上回る規模で成長する可能性が高いとのことです。その消費電力量は最大で140TW/hで、世界の総消費電力量の役0.6%に相当します。

この問題は仮想通貨の黎明期から度々問題視されていました。プルーフ・オブ・ステークが生まれた背景には、この問題への対処という一面もあります。プルーフ・オブ・ステークはプルーフ・オブ・ワークと違って計算競争はなく、自動的に承認者が決まるため、大量の電力消費を必要としません。そのため、プルーフ・オブ・ワークと比べれば遥かにエコロジーであると言えます。

また、アメリカのテック企業であるインテル社がマイニングの消費電力量を35%削減する技術を特許出願するなど、この問題を新たな商機と見る企業も増えてきています。こうした取り組みが成功し、少ない消費電力量でブロックチェーンが健全に保たれる技術が確立されてほしいものです。

0 0

この記事の共有はここから