ブロックチェーン、プルーフ・オブ・ワークって何?

暗号通貨を支える技術的な要素として、ブロックチェーン技術と分散型台帳システムが挙げられる。

その分散型台帳の世界で、ブロックチェーンの改竄を防ぐために用いられる手法の一つが、プルーフ・オブ・ワーク(Proof of Work)である。

本記事では、そのブロックチェーンとProof of Workを分かりやすく解説してみる。

 

ブロックチェーンってなに?

ブロックチェーンとは、一定期間毎の取引データをまとめて、ひと塊にしたもの(ブロック)の連続であり、取引データの記録そのものでもある。

一つのブロックには、以下の物が入っている。

  • 前ブロックから算出される数字(ハッシュ値)
  • 一定期間の取引データ
  • Nounceという数字(Proof of Workによって算出される)

 

Proof of Workってなに?

上述したように、ブロックの中には、Nounceという数字を入れることになっています。このNounceという数字を探す作業が、Proof of Workという手続きなんです。

ブロック同士は、ハッシュ値という数字で繋がりを保っているのですが、このハッシュ値は、ブロックの情報を特定の関数(ハッシュ関数)に入れて、計算結果として算出されるます。

ブロックチェーンの仕組みでは、このハッシュ値が、一定の条件を満たすことが求められています。(具体的には、最初の何桁かがゼロゼロゼロ。。。とか)

 

BlockchainとProof of Workのイメージ

 

なので、各ブロックを作るときには、「前ブロックのハッシュ値」と「取引データ」と「???」を合わせて、ハッシュ関数に入れ、条件を満たすハッシュ値が算出される数字(=???)を探す。 という作業が行われることになります。このことを、Proof of Workと呼んでいます。

 

超簡単な例で言えば…

超単純化して、以下のような前提で考えてみましょう。

  • ハッシュ関数が「9で割った余りの数字」
  • 求めるべきハッシュ値が「4」

とします。

ブロック xx1

  • 前ブロックのハッシュ値: 4
  • 取引データ: 6
  • Nounceの計算: 「1」はちがう、「2」はちがう、、「3!! 4+6+3=13で、9で割ればあまり4になる!」
  • このブロックのハッシュ値: 4

ブロック xx2

  • 前ブロックのハッシュ値: 4
  • 取引データ: 11
  • Nounceの計算: 「1」はちがう、「2」はちがう、、「7!! 4+11+7=22で、9で割ればあまり4になる!」
  • このブロックのハッシュ値: 4

注1: 本当は、ハッシュ関数は割り算じゃなくて、素因数分解を用いた暗号技術が用いられます

注2: 本当は、ハッシュ値は特定の数字ではなく、特定の条件を満たす数字なら何でもOKとなっています。なので毎回変わります。

 

Proof of Workの計算は超大変

上記の簡略化した事例だと、超簡単なことじゃん。って思ったかもしれませんが、実際は、割り算とかではなくて、巨大な素数を使った暗号通貨技術を利用しています。

そして、このNounceを見つけるには、総当たり方式で数字計算してみているので、膨大なコンピューターリソースを消費することになります。

 

マイニングってなに?

さて、暗号通貨界隈でよく耳にする「マイニング」(Minning、採掘)ですが、このProof of Workに深く関連しています。

ブロックチェーンの世界では、このProof of Workを一人ではなくて、世界中のコンピューターが競争して計算します。

そして、一番最初に解答を見つけた人に、新規に発行される暗号通貨が与えられることになっているのです。

 

なので、暗号通貨を獲得したい人は、高性能のコンピューターを使って、上記の数字探しをし続けているのです。

 

ちなみに、このマイニングに掛かるコストは、コンピューターの設備投資と、コンピューターを稼働させる電気代になります。

コンピューターの調達コスト、どこでも大差ないとすると、電気代の安い国が有利になるということもあって、マイニング業者の多くが中国に集まっているといわれています。

 

 

スポンサーリンク

スポンサーリンク


2 Comments

コメントを残す

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