目次

    全ての目次を見る
  1. ビットコイン(bitcoin)のProof of Workとは?
  2. 理解に役立つ前提知識~ビットコインの取引データの管理方法~
  3. ビットコイン(bitcoin)のProof of Workの概要
  4. ビットコインのProof of Work~『仕事』の内容とは~
  5. ビットコイン(bitcoin)のProof of Work~『証明』とは~
  6. ビットコインのProof of Workで不正を防止
  7. ビットコイン(bitcoin)のProof of Workの懸念点とは
  8. ビットコインのPoW(Proof of Work)のまとめ
Large partnership it s a win win situation 484556630 1256x838

最近ニュースやSNSで注目されているビットコインについて調べ、Proof of Workという言葉を目にした読者の方は多いのではないですか。

Proof of Work(プルーフオブワーク)とは、中央管理者が存在しないビットコイン(bitcoin)において、全体で1つの意思決定に絞るためのシステムです。

この記事では『ビットコインのProof of Work』について、基本的な情報に加えて、Proof of Workが抱える課題など、より詳細な内容をわかりやすく解説していきます。

ビットコインの取引データは、ブロックチェーンという台帳に記載し、ビットコインネットワークの参加者で、分散して管理しています。

ブロックチェーンとは、取引データをまとめたブロックが、チェーン上に繋がっている台帳のことで、改ざんが極めて困難という特徴があります。

ビットコインでは図のように、中央管理者が存在しないで、ネットワーク参加者が同じブロックチェーンを管理しています。

では、前提知識を理解したところで、ビットコインのProof of Workの概要についてみていきましょう。

Proof of Workとは、参加者全員が、同じブロックをブロックチェーンに追加するための仕組みです。

ビットコインでは、同じブロック(取引データ)を含むブロックチェーンが、参加者によって管理されています。

仮に、参加者が自分の好きなブロックを、ブロックチェーンに追加できるとしたら、同じデータを持つブロックチェーンを、みんなで管理することはできません。

Proof of Workとは全体で適切な意思決定を行うために、必要な仕組みと、まえがきで解説しましたが、 『全体の意思決定』=『参加者が同じブロックチェーンを管理する』ということです。

では、ビットコインのProof of Workでは、どのようにして、参加者に同じブロックをブロックチェーンに追加してもらうことを実現しているのか確認しましょう。

Proof of Workでは、以下の一連の作業によって、全体での意志決定が実現しています。

  • ①取引データをまとめたブロックを生成

  • ②ブロックチェーンへのの追加権利をかけて、計算問題を解く

  • ③一番早く計算をしたAさんは、答えを他の参加者に報告

  • ④ほかの参加者が、正否を判断

  • ⑤正解なら、Aさんが生成したブロックをブロックチェーンに追加する

Proof of Workとは直訳すると『仕事(Work)の証明(Proof)』です。

『仕事』=『①,②の作業』『証明』=『②,③』のことを指します。

すなわち、『仕事』と『証明』が実行されることで、⑤の全体での意志決定が実現しているのです。

『ブロックの生成』や『計算問題の内容』、『証明の内容』『証明作業をする理由』について知りたい方は次の段落をご覧ください。

Proof of Workの『仕事』と『証明』の詳細についてそれぞれ解説しています。

ビットコインのProof of Workの『仕事』とは、取引データをまとめたブロックを新規生成し、ブロックを追加する権利をかけて、計算問題を解くことでしたね。

この計算問題とは、ナンスという数値を見つけ出すための膨大な計算処理のことを指します。

ナンスとは、計算問題の答えのことで、一番最初に正解のナンスを見つけた参加者が、ブロックチェーンにブロックを追加する権利を得ることができます。

この新規ブロックの生成から、、ナンスを求める一連の作業を、マイニングといいます

マイニングは、約10分の時間と電気代などのコストがかかる面倒な作業ですが、マイニングに成功すると、見返りとして報酬がもらえます。

ちなみに、2017/12/06現在の報酬は約1500万円と非常に高額です。

高額な報酬があるため、参加者は面倒にもかかわらず、マイニングを行っています。

ここではProof of Workの『仕事』=『マイニング』ということがわかりましたね。

では、Proof of Workの『証明』とは、何か確認していきましょう。

Proof of Workの『証明』とは、『1番早く求められた、ナンスが正しいかどうか確かめる』作業のことです。

この証明作業は、ナンスを発見した参加者以外の、参加者によって行われます。

第三者によって正しいかどうかの確認が行われるため、嘘の答え(間違っているナンス)を報告しても、すぐにばれてしまいます。

ナンスには『求めるのは難しい』が、『答え合わせをするのは簡単』という特徴があるため、証明作業はすぐに完了します。

ナンスとは、クロスワードパズルの答えのに似ています。

クロスワードパズルでは、『答えを探すのは大変』ですが、『答え合わせ』は簡単に可能です。

ここまでで、ビットコインのProof of Workについて確認しましたが、『マイニングの解答』の『正当性を参加者が確認する』のでしたね。

Proof of Workでは、膨大な計算処理を行っていると解説しましたが、ビットコインでは、あえて膨大な計算作業を実行させているのです。

なぜ、膨大な計算作業を参加者に課しているのかというと、『改ざんを防止するため』です。

次の段落では、あえて膨大な計算作業を課すことで、いかにして改ざんを防止しているのか解説していきます。

ビットコインのProof of Workでは、参加者に約10分の時間と電気代などのコストがかかる、計算作業をあえて課すことで、取引データの改ざんなどの不正を防止しています。

取引データの改ざんをおこなうには、取引データの改ざんに加えて、その取引データを含むブロック以降のブロックのナンスを求めなおさなくてはならないのです。

例えば、1~50番のブロックが、ブロックチェーンに格納されているとします。

45番目のブロックに格納されている、取引データを改ざんした場合、45番目から50番目までのナンスを再計算しなければなりません。(理由は後述

ナンスを求めるには、約10分の時間と電気代などのコストをかけた膨大な計算作業が必要でしたね。

1つのナンスを見つけるのも負担になるのに、複数のナンスを求めるには、さらに時間とコストが必要です。

また、改ざんのための計算作業をしている間に、新たなブロックが他の参加者によって生成されているので、それを上回るスピードで計算作業を行わなくてはなりません

これは、ほとんど不可能といわれています。(後述する51%問題では改ざんのリスクがあります

このようにビットコインのProofof Workでは、あえて時間とコストのかかる、膨大な計算作業を課すことで、改ざんなどの不正を防止しているのです。


参考情報

改ざんした取引データを格納するブロック以降のナンスを求めなければならない理由は、ビットコインのブロックチェーンのデータ構造に由来します

詳細はここでは解説しません。

気になる方は『革命を起こすブロックチェーン(blockchain)の仕組みとは?』の記事をご覧ください。


ビットコインのProof of Workは、分散型ネットワークでの意思決定を可能にした、革新的な技術ですが、一方で懸念点もあります。

次にビットコインのProof of Workの懸念点について確認していきましょう。

ビットコイン(bitcoin)のProof of Workの懸念点には下記のようなものがあります。

  1. 時間がかかる

  2. 電気代がかかる

  3. 51%問題により、改ざんが可能になる

これらについてそれぞれ解説していきますね。

Proof of Workの実行には『約10分』の時間かかることが、懸念点として挙げられています。

ビットコインでは、ブロックチェーンに格納されるまで取引(データ)が承認されることはありません。

すなわち、決済や送金が完了するには約10分の時間が必要ということです。

10分の時間が必要なので、即時決済(普段の支払い)での使用には適していないことが問題なのです。

10分の時間を要することで、セキュリティ面での安全性を確保している一方で、使用する際に問題が発生してしまう恐れがあるのです。

Proof of Workでマイニングを行うには電気代がかかるということは解説しましたね。

Proof of Workでは、実際にツールを使用することでマイニングを行っているため、電気代や機器にかかるコストが発生します。

すなわち、Proof of Workでは、電気代などのコストを払ったうえで、ビットコインの報酬を貰っているのです。

マイニングを行うために、電気代や機器にコストをかけなくても済む方法が、現在では考えられています。

51%問題とは、ナンスを求める計算速度が、全体の計算速度の一定以上を占めることで不正が可能となるという問題です。

先ほど、ビットコインのPoWには約10分間の時間が必要だと解説しましたが、これは目安にすぎません。

圧倒的な計算処理能力をもつ参加者がいれば、10分未満でナンスを発見することができ、新たに生成されるブロックを上回る速度で不正を行うことが可能になってしまうのです。

この問題はビットコインのPoWが抱える潜在的な課題で、ほとんど起こることはないといわれていますが、2013年にGHash.ioという企業の計算処理能力が、全体の50%を超えそうになるという問題が発生しました。

ビットコインのProof of Workとはまとめると以下の通りです。

  • マイニングで生成されたブロックを、参加者で承認する一連の流れ

  • あえて面倒な計算作業を課すことで、改ざんなどの不正を防止している

  • 時間や電気代がかかりすぎる。

  • 一定の計算力がコントロールされることによる、51%問題

ビットコインのProof of Workは初期に考えられたブロックチェーンのコンセンサスアルゴリズムです。

現在では、その問題点を解決したProof of Stake(PoS,プルーフオブステーク)やProof of Inportance(PoI,プルーフオブインポータンス)などのコンセンサスアルゴリズムが使用されている仮想通貨が存在します。

この記事をご覧になり、他のコンセンサスアルゴリズムについても知りたいという方がいらっしゃいましたら、『ブロックチェーンのコンセンサスアルゴリズム(合意形成)とは?』の記事をご覧ください。