【7/31〆】Bybit×ぱんだくりぷと公式コラボ開催中!詳細はこちら!

【かんたん図解】プルーフオブワークとは?仕組みをわかりやすく解説!

🐼 当サイトのコンテンツ制作ポリシー

「ぱんだくりぷとの」のコンテンツ制作・編集ポリシーはこちらでご紹介しています。なお、当サイトの記事には企業からのPRが含まれている場合があります。

この記事から分かること

  • プルーフオブワークの仕組み
  • プルーフオブステークとの違い
  • プルーフオブワークの問題点
この記事を書いた人
  • 米国公認会計士WA州
  • Core30経理職
  • 2021年上期の仮想通貨バブル期にアルトコイン投資とBCGに夢中になりクリプトの世界へ
  • 仮想通貨投資は1000万円以上、NFTは50点以上保有、BCGは20作以上プレイ。一番やさしい丁寧なクリプト情報を発信中!
  • 詳しい運営者情報はこちら

プルーフオブワーク(Proof of Work)とは、ブロックチェーンの取引承認ルール「コントラクト・メカニズム」の1つで、直訳で「作業証明」という意味です。

名前の通り、高スペックなマシンで負荷の掛かる計算作業を行い、電気コストを費やすことで取引承認者(バリデーター)は初めて取引を承認することができ、報酬として仮想通貨をもらえます。

プルーフオブワークを採用した「ブロックチェーン」上の取引検証で報酬を稼ぐことは、金や銀といった地球上に限りがある希少鉱物資源を掘ることに見立て「マイニング」と呼ばれ、マイニングを行う人は「マイナー」と呼ばれます。

ぷる
さとう

以下のプルーフオブワークを採用しているブロックチェーン上の取引は、全てこの方法で取引が処理されます。

ブロックチェーン代表通貨
BitcoinBTC
Ethereum(2022年8月まで)ETH
KaspaKAS
LitecoinLTC
Bitcoin CashBCH
プルーフオブワーク 採用ブロックチェーン

この記事を最後まで読むことで、プルーフオブワークの仕組みと特徴を学び、ブロックチェーンに関する理解を深めることができます。

目次

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

プルーフオブワーク(Proof of Work)とは、ブロックチェーンの取引承認ルール「コントラクト・メカニズム」の1つで、直訳で「作業証明」という意味です。

ビットコイン」がプルーフオブワークを採用している代表的なブロックチェーンです。

さとう

細かい仕組みは各ブロックチェーン毎によって異なりますが、いずれも次の3つの共通する仕組みがあります。

共通の仕組み①:計算競争で承認者決定

プルーフオブワーク(Proof of Work)では、計算作業で勝つとブロックの生成者・承認者である「マイナー」に選ばれます。

プルーフオブワークは計算作業で承認者を決める

ブロックチェーンは中央集権的で管理者がいない分散型で自律している仕組みなので、計算作業自体には必要最低限のマシンを用意すれば誰でも参加できます。

ぱんだ

仮想通貨の取引の承認作業に誰でも参加できるってすごいね。

しかし、報酬をもらえるのは高度な計算処理を最も早く終えることができた「マイナー」のみです。

さとう

個人が用意できるレベルのマシンでは競争に勝つことが難しく、工場規模の設備を用意しないと成功しません。

個人規模でプルーフオブワーク上で検証作業に参加する場合は、本記記事後半で解説している「プールマイニング」を活用する必要があります。

共通の仕組み②:報酬がインセンティブ

プルーフオブワーク(Proof of Work)の承認作業では、計算競争に勝ってブロックの承認に成功すると仮想通貨を報酬としてもらえるため、コストを支払って多くのマイナーがブロックチェーンの運営に貢献します。

さとう

特にプルーフオブワークは計算作業は電気コストが多く発生するため、それに見合う高額なブロック報酬が提供されます。

例えばビットコインは2024年4月以降の1ブロック承認あたりの報酬は、3.125BTCです。(約3500万円)

半減期ブロック報酬
Genesis2009年1月50BTC
1回目2012年11月25BTC
2回目2016年7月12.5BTC
3回目2020年5月6.25BTC
4回目2024年4月3.125BTC

1ブロック当たりの承認時間は約10分のため、1日に約144ブロックが承認され、1日に支払われる総報酬量は450BTCになります。(日本円で約495億円)

ぱんだ

報酬をもらえるからブロックチェーンの仕組みは維持されるんだね。

さとう

報酬はセキュリティ面でも役立っています。

詳しくは後述していますが、ブロックチェーン上の過去の取引情報を改ざんするためには、過去の取引から最新のブロックまで全て自分で改ざんして承認作業を行う必要があります。

この改ざんに途中で失敗すると、報酬をもらえません。

多くの電気代を掛けてまず成功することはない不正を行うより、真面目に承認を行って報酬を貰った方が良いという判断に自然となる仕組みになっています。

共通の仕組み③:チェーンで安全性確保

プルーフオブワーク(Proof of Work)ではブロックがチェーンのように結びつくことでセキュリティ面で強くなり、不正が起きない仕組みになっています。

プルーフオブワークでは計算作業の競争に勝って承認を行うと、これまでの取引情報が全て反映された最新のブロックを作ることになるため、ブロックがチェーンのように繋がっています。

proof-of-work-block-chain

過去の取引情報を改ざんしようとすると、それより後ろのブロックとの整合性が取れなくなります。

さとう

つまり、過去の取引を改ざんするためには、改ざん対象ブロック以降の全てのブロックを改ざんする必要があるという訳です。

プルーフオブワークで不正が難しい理由

不正を行っている最中でも、最新のブロックは常に取引が承認されてどんどん先に伸びていきます。

このように、過去のブロックから最新のブロックまで全てを個人で改ざんすることは難しく、強固なセキュリティが構築されています。

ビットコインのプルーフオブワークの仕組み

仮想通貨「ビットコイン」で採用されているプルーフオブワークを例に挙げて、6つの仕組みについて詳しく解説していきます。

ここの内容の参考文献

仕組み①:取引はブロック単位で承認

ビットコインのプルーフオブワーク(Proof of Work)では、取引は10分毎に生成される「ブロック」と呼ばれる単位でまとめて承認されます。

プルーフオブワークの仕組み
ぱんだ

だから「ブロック」チェーンと呼ばれているんだね。

さとう

約10分毎の承認なので、ビットコインを送金してから着金するまでに掛かる時間は理論的には10分となっています。

ちなみに、ブロックを承認するために掛かる計算作業は「難易度調整」により10分になるように調整されるため、約10分毎に新しいブロックが生成される仕組みになっています。

計算作業に掛かる時間は、次の2つの要素で変わります。

  • コンピューター・マシンスペックの進化
  • 承認者(バリデーター)の参加状況

マシンスペックは技術の進歩で年々高くなっており、素早く承認作業ができるようになっています。また、承認者が多ければそれだけ早く計算が終わる確率も高まります。

従って、そのままでは年々ビットコインが報酬としてどんどん新規発行されて希少性が下がってしまうため、定期的に計算の難易度を調整する仕組みがあります。(難易度調整)

ビットコインの難易度調整の概要
  • 2016ブロック毎に実施(約2週間)
  • 2週間で承認されたブロック数の移動平均で難易度算出
  • 1ブロック/10分の難易度になるように調整

現在の難易度を確認できるサイト:https://btc.com/stats/diff

仕組み②:ブロックは全部繋がってる

ビットコインのプルーフオブワーク(Proof of Work)では、ブロックは全てチェーンのように繋がっています。

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

繋がっている理由は、最新のブロックに過去の取引情報が全て入っているからです。

さとう

過去の取引に新しい取引の情報が付け加えられながら、新しいブロック生成されチェーンが伸びていくイメージです。

この仕組みが高いセキュリティを実現している理由の1つです。

過去のある1つの取引を改ざんすることは、非常に難しいです。

削除したブロック以降のブロックも全て書き換えないと、ブロックチェーン全体の整合性が取れなくなるからです。

また、全て書き換えるには、多額の電気代を費やして難しい計算処理を何度も行う必要があります。

成功するか分からない改ざんを行うくらいなら、真面目に承認作業に協力してビットコインを報酬として貰った方が良いという判断に自然になる仕組みになっています。

仕組み③:チェーンはさかのぼれない

ビットコインのプルーフオブワーク(Proof of Work)では、遡って(さかのぼって)取引の内容を修正したり、削除したりする仕組みがありません。

プルーフオブワークの仕組み
さとう

承認済みの取引をキャンセルしたり、修正したりすることは絶対にできない仕組みです。

ビットコインのプルーフオブワークを考案した匿名の人物「サトシ・ナカモト」氏の論文の言葉を使うとブロックチェーンは「不可逆的」となっています。

これにより、ブロックチェーンは匿名で低コストで利用できるようになっています。

例えば銀行の場合、過去に行われた取引も管理する必要があります。

振り込み済みでも、誤送金等の問題があった時に差し戻す必要があるからです。

ぱんだ

確かに銀行は修正対応とか忙しそうだよね。

また、こういった可逆的なサービスを行うには、個人情報の管理等のコストが掛かります。

ブロックチェーンは遡ることができない仕組みのため、匿名かつ低コストで利用できる訳です。

仕組み④:チェーンは分岐できない

ビットコインのプルーフオブワーク(Proof of Work)では、ブロックは一本のチェーンのように繋がっており、分岐してはいけません。

プルーフオブワークの仕組み
ぱんだ

確かに、取引の内容や結果に複数のパターンがあったらおかしいよね。

しかし、仕組み上稀に2人のマイナーが完全に同時にマイニングに成功し、自然と分岐してしまうことがあります。(ブロックチェーン上の分岐はフォークと呼ばれます)

分岐した場合は、最も長いチェーンが採用されます。

分岐してもブロックの中身の取引は基本的同じなので、分岐した短いチェーンのブロックは削除されるだけです。

仮に違う取引が入っていた場合は再度承認にかけられ、メインの長いチェーンの1本の方に統合されます。

さとう

ビットコインではなくモナコインですが、このフォークによる削除・統合の性質を悪用し、不正を行う事例が過去にありました。

2018年5月17日に発生した事例で、意図的にチェーンを分岐させ、メインのチェーンの長さを超えるとチェーンを自分で作成し、メインのチェーンの取引を削除することで二重支払いを行いました。(▶当時のニュース記事はこちら

モナコインは利用者が少ないため、個人レベルでもフォークしたチェーンの方を伸ばしていくだけの計算能力を確保できる状況だったことが原因です。

下の記事で不正内容の詳細について図を使って解説しています。

仕組み⑤:承認はハッシュ化の繰り返し

ビットコインのプルーフオブワーク(Proof of Work)で行われている承認作業では、「ハッシュ化」と呼ばれる計算作業繰り返し行っています。

ハッシュ化では、ブロックの情報を特定の条件を満たす値になるまで少しずつ変えながら変換していきます。

さとう

まずは、ハッシュ化を理解するために必要な「ブロックの中身」についてご紹介します。

ブロック1つ1つは「取引内容」と「ブロックヘッダ情報」の2つで構成されます。

プルーフオブワークのブロックの中身
Proof of Workのブロック1つ1つの中身

「取引内容」については10分間で発生するビットコインの取引内容です。

「ブロックヘッダ情報」は大きく分けて次の4つで構成されます。

  • 前のブロックハッシュ:過去のブロック全ての情報の要約
  • ルートハッシュ:このブロックの取引内容全ての要約
  • ナンス:マイニングで使用する値(詳細は後述)
  • その他色々:ブロックの生成時刻など

ハッシュ化は、このブロックヘッダ情報に対して行います。

プルーフオブワークのハッシュ

「ハッシュ」は「ハッシュドポテト」のハッシュで、「細切れにする・ごちゃ混ぜにする」といった意味があります。

ハッシュ化を行うと、文字列を特定の桁数の文字列に変換することができます。

  • 例①:satou⇒999413ee3e892395b9fa006d9262e37f653c95193a53e1ba7b7dbbeac7477042
  • 例②:satou2⇒e3368ad8da26fa8afb8e32b1b57d699b87a35c2d2bef4d20bc1dc87facbcc219

このように、「satou」に「2」を付け加えただけでまったく別の文字列に変換されます。

ハッシュ化された後の文字列は、元に戻せないという特徴があります。

例えば、y=x^2の2次関数で、x=2と入れるとy=4となり、値は1つに定まります。一方、y=4の時、xは「+2」と「-2」の両方が解となってしまいます。

さとう

このように、ハッシュ化された文字列から元の文字列を推定することはできますが、答えを決めきれません。

ハッシュ化では、ブロックヘッダ情報が以下のようにゼロが連続する値になるまで、ナンスを変えながらブロックヘッダ情報のハッシュ化を繰り替えします。

そして、ゼロが一定数連続する文字列を見つけることに最初に成功したコンピューターがビットコインを報酬として貰える競争のような仕組みになっています。

例:00000000000000000000006d9262e37f653c95193a53e1ba7b7dbbeac7477042

ちなみに、この必要なゼロが連続する数を調整することで、承認作業の難易度は調整されます。

これだけ大変な承認作業が必要になっていることが高いセキュリティの理由です。

多額の電気代を費やしてまで成功するか分からない不正を行う気にならず、真面目にマイニングを行ってビットコインを報酬として貰った方が儲かるからです。

ぱんだ

高い電気代を払ってまで失敗するリスクは負いたくないよね。

仕組み⑥:半減期による報酬量の減少

このビットコインの新規発行量は4年に1回半分になるタイミングがあり、この時期のこと「半減期」と呼びます。

ビットコインはブロックチェーンに参加している他のユーザーが取引の承認を行い、承認に成功すると報酬としてビットコインを受け取ることができます。

さとう

これがビットコインの唯一の新規発行です。

ビットコインとプルーフオブワーク
さとう

半減期はビットコインの希少性を高めるために行われており、半減期後はビットコインの価格が上場する傾向があります。

半減期累積ブロック数報酬/ブロック
2012年11月28日210,00025BTC
2016年7月9日420,00012.5BTC
2020年5月11日630,0006.25BTC
2024年4月20日840,0003.125BTC

210,000ブロック毎に半減期が訪れますが、ブロックの承認の早さは”約”10分に1個なので、正確に月日が決まっている訳ではありませんが、大体4年毎です。

ビットコインが発行上限である2100万枚に到達するのは、2140年頃になる見込みです。

ぱんだ

新規でビットコインが発行されなくなると、取引の承認を行ってくれる人がいなくなるのかな?

取引承認者の報酬となるビットコインは、ビットコインの取引を行う側からも手数料として少しだけ支払われることになるため、承認の体制に問題はありません。

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

プルーフオブワーク(Proof of Work)とプルーフオブステーク(Proof of Stake)の違いを解説します。

Proof of Stakeは主にイーサリアムで採用されている仕組みです。(2022年9月15日のアップデート後)

違い①:PoWは重労働・PoSは軽作業

プルーフオブステークは主にイーサリアムで採用されているコンセンサスメカニズムで、直訳すると「掛け金証明」という意味です。

プルーフオブステークでは、仮想通貨を保有して預けることで承認者(バリデーター)になることができ、沢山保有すればするほど承認者になって報酬をもらえる確率が高くなります。

さとう

仮想通貨を保有して預け入れることを「ステーキング」と言います。

プルーフオブステークにおけるブロック生成は計算作業による競争ではなく、仮想通貨を持っているだけで順番が回ってきます。

プルーフオブワークのように「ハッシュ化」といった電気コストが高い負荷の掛かる作業を行う必要がありません。

プルーフオブワークは環境面で問題視されていたため、プルーフオブステークは環境面で優れている仕組みです。

違い②:PoWは電気・PoSは資産を賭ける

プルーフオブワークでは電気コスト、プルーフオブステークではステーキングしている仮想通貨を賭けて承認の作業を行っています。

プルーフオブステークでは承認作業をルールに沿って行わなかった場合、ステーキングした仮想通貨を没収される「Slashing(スラッシング)」と呼ばれるペナルティを受けます。

このペナルティを避けながら報酬をもらうことが、プルーフオブステークで正しく検証を行う動機です。

違い③:PoWは処理能力が低い傾向

プルーフオブワーク(Proof of Work)の方がブロックの承認に時間が掛かり、処理能力が低い傾向があります。

プルーフオブワークでは、承認作業でハッシュ化と呼ばれる計算作業を何度も繰り返す必要があり、処理に時間が掛かります。

また、特にビットコインは最も古いブロックチェーンで処理速度に特化して開発されていません。

一方、プルーフオブステーク(Proof of Stake)ではブロックに対してコンピューター上で投票を行うだけで簡単に承認作業が終わるため、効率的です。

ビットコインのPoWマイニングのやり方

次に、ビットコインでマイニング(承認作業)を行い、ビットコインを稼ぐ方法をご紹介します。

結論、ビットコインのバリデーターになるには、マイニング専用の「ASIC」と呼ばれるマシンを用意し、工場規模レベルまで設備を拡大させる必要があります。

ビットコインのマイニング作業は他のバリデーターとの計算処理競争です。

従って、数億円のブロック報酬を獲得するためには膨大な計算能力が必要となっており、この難易度の高さがビットコインの高いセキュリティの裏付けにもなっています。

さとう

個人レベルで参加する場合は「プールマイニング」を活用します。

複数のバリデーターが協力してマイニングを行うことを「プールマイニング」といい、工場規模の設備を設けて単一の組織でマイニングを行うことは「ソロマイニング」と呼ばれます。

プールマイニングを取りまとめる組織「Nicehash」等を活用し、自分の所有するパソコンでマイニングを行い、プールマイニング参加している誰かがマイニングに成功すると、全体でその報酬を分け合う仕組みです。

https://www.nicehash.com/
さとう

最近は電力単価が高く、相当にスペックの高いマシンでないと赤字になりやすいので、活用には注意が必要です。

Proof of Authorityを詳しく知りたい方向け!

>>Proof of Authorityの仕組みを徹底解説!

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次