クリプト

Blockchain技術 ④ - マイニング

Jimmy's icon'
  • Jimmy
  • 2018/07/01 21:49
Content image


まなさん、おはようございます。前回の記事ではビットコインのブロックチェーンのブロックの中身について説明させていただきました。それをまだ読んでいない方は、この記事を読む前に読んでいただけると幸いかと思います。今回はProof of Work(PoW)式のマイニングについて説明します。

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

マイニングは競争です。PoWでは、ビットコインの場合、誰が一番早くパズルを解けるかという競争であり、勝者は次のブロックをマイニング(作成)する権利とマイニング報酬としてビットコイン(現在12.5BTC)をもらいます。パズルを解けたら、あなたがワークをプルーブした(仕事した証拠)という風に認められます。というのは名前の由来です。もちろん、これは全部自動的に監視されます。

EthereumはProof of Steakという形式のマイニングを扱っています。それはまた全然違う話なので割愛しますが、言いたいのは、この記事で説明されるマイニングと違うマイニング形式も存在します。


ブロックヘッダのNonceとBits

「誰が一番早くパズルを解けるかと?」と思うでしょう。そうです。ビットコインマイニングは、パズルを解ける競争であり、前回の記事で説明を省いたBitsとNonceがマイニングにおいて重要な変数です。ブロックヘッダに六つの変数が揃うと完成です。バージョン、前ブロックのハッシュ、マーケルルートのハッシュ、タイムスタンプとビットは次のブロックヘッダを形成させる一般的に知られている情報です。そのため、ブロックをマイニングするときに、ヘッダにそれを記入します。あくまでもイメージですが、以下の図のような感じであり、Nonceだけが空欄になっている状態です。

Content image
図1 一般的に知られている情報既に記入済のブロック

マイニングのプロセスは単純ですが完璧に理解できるために色々説明しておかないといけません。しかし、詳しいことに興味がない方はこれでけを覚えてください:

このシリーズの第二回に解説したのですが、「。」だけを打つことでハッシュ値が完全に異なってきます。マイナーはとてつもない計算力のを使ってNonceに1、2、3、…を次から次へ記入し、ヘッダのハッシュを計算します。そのハッシュをターゲットと比べ、ヘッダのハッシュがターゲットと同じ、またはより小さかったら、マイナーがパズルを解けたという意味です。


Bits(ビット)= パズルの難易度

ビットはパズルの難易度を設定します。これは2,016ブロックごとに(~2週間)、パズルが解けられる(ブロックが作成される)ために必要な時間を平均10分に維持するように更新されます。前回紹介したこのウエブサイトを見たら気付くと思いますが、「難易度」という変数もあります。それは難易度を可視化するための単位にすぎません。(二つのビットを比べてもどれの難易度がどれほど高いのかすぐに分からないために使われています。)

ブロック#50400          
ビット:471907495
難易度:7.82
ブロック#50399
ビット:472518933  
難易度:6.09

ビットからは、Target(ターゲット)が特定のアルゴリズムによって計算されます。ターゲットが余計に長いため(=重い)、比較的に短いビットという形に変化されます。例えば:

ビットは18062776だと、
ターゲットは:0000000000000000062776000000000000000000000000000000000000000000


Nonce(ナンス)

ナンスは一番面白い変数だと個人的に思っています。特に意味はなく、ただの数字なのですが、これを当ててみるために世界中にマイニング工場を作ったりします。(著作権のために写真を貼りませんが、GoogleでBitcoin Farmを検索したらいかにデカい工場があるか分かると思います。)


ザー・パズル(仮名)

では、マイナーたちは実際何をしているのか、どういうパズルを解けようとしているのか、今から説明していきたいです。図2を見てみてください。

Content image
図2 マイニングのプロセス

①:この図ではナンスとして入れる数字は✘です。1からスタートします。
②:ナンスを記入し、ブロックヘッダを完成させます。
③:全部の情報が揃ったブロックヘッダをハッシュします。
④:そのハッシュはターゲットと同じ、または小さいかが確認されます。
はい:パズルを解けた。㊗㊗報酬ゲットだぜ!㊗㊗
いいえ:✘に1を足して、全部をやり直します。

これだけです。もちろん、全てのマイナーが1からスタートするわけではなく、ナンスに入れる数字のさばき方はみんな違うのですが、根本では何も変わりません。また、このグラフによると2018年6月30日に、世界中のマイナーによって毎秒行われるハッシュ(図2のプロセス)は35,588,942テラハッシュです。

35,588,942,000,000,000,000回

これを600でかけたら、一つのブロックができます (600秒=10分)。しかし、技術が進化し、マイナーも増えるため、毎秒行われるハッシュも増えます。それでパズルがより早く解けられてしまいます。そのためにブロックチェインは2,016ブロックごとに難易度を高くします。マイナーが減ったら低くします。

終わりに

少し長くなってしまいましたが、いかがでしょうか。マイニングするというのは数字を当ててみるという子供のようなゲームに過ぎませんが、現在もっとも注目浴びている現象といっても過言ではないと思います。

次回は恐らくこのシリーズの最後になり、Nodeについて説明しようと思いますので、そのときもよろしくお願いします。


Blockchain技術シリーズ:

誰にでも理解できる:Blockchain技術 ① - チェーンの意味と働き

誰にでも理解できる:Blockchain技術 ② - ハッシュとは?

誰にでも理解できる:Blockchain技術 ③ - ブロックの中身

誰にでも理解できる:Blockchain技術 ④ - マイニング

公開日:2018/07/01
獲得ALIS:25.02
Jimmy's icon'
  • Jimmy
  • @JimiVD
ALIS入社後、このアカウントで書かれた記事に対してALISが配布されません。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

【初心者向け】JPYCを購入して使ってみました!

Like token Tip token
30.03 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
32.32 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

Like token Tip token
38.10 ALIS
Eye catch
クリプト

Eth2.0のステークによるDeFiへの影響を考える。

Like token Tip token
44.10 ALIS
Eye catch
クリプト

クリプトスペルズで入手したMCHCを引き出す方法

Like token Tip token
196.20 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS