クリプト

マイニングって具体的に何をしているの?

yoshihiro's icon'
  • yoshihiro
  • 2018/07/19 09:53

 こんにちは、yoshihiroです。前回に引き続き、短期集中ブロックチェーン講座のPart 2です!

↓前回の記事はこちらから↓

 Part 0:導入

 Part 1:ブロックとブロックはどう繋がってる?


 今回は、マイニングについてです!

 マイニングといえば、パソコンにめっちゃ計算させてビットコインをもらう作業だということは知っていても、具体的な仕組みとかどんな計算をしているのかとかはよく分からない人も多いのではないでしょうか。

 この記事では、そのあたりに焦点を当てて詳しく解説していきたいと思います!


Content image
アイキャッチはみりんさんに描いてもらいました。

※本講座では、最も基本的なビットコインで使われるブロックチェーンを想定して解説しています


ブロックチェーンの端っこ

Content image

 前回の記事で、ブロック同士がチェーン状に繋がっているイメージができましたね。では、チェーンの一番端っこはどうなっているのでしょう。

 片方の端っこには、ブロックチェーンが初めて生まれた時にできたブロックがあります。このブロックは、すべてのブロックチェーン・仮想通貨の起源とも言えるブロックであり、ジェネシス・ブロック(genesis block)と呼ばれています。

 ジェネシス・ブロックには記載すべき前のブロックのデータがなく、マイニングによってではなくサトシ・ナカモトにより作成されたという点でも特別なブロックです。

 では、もう片方の端っこはどうでしょう。

 ビットコインは今も世界中で取引がなされおり、新たな取引データが次々に生まれています。ということは、そのデータを格納するための新たなブロックが必要になりますね

 つまり、ブロックチェーンのもう一方の端っこは、今でも新しいブロックが生み出され続けているのです。

Content image


だれが新しいブロックを作るのか

Content image

 新しいブロックの作り方は決まっています。

「取引データ・ブロックのバージョンなどのデータ・ハッシュ・ナンス」の4つの要素を過不足なく正確に記載すればよいだけです。

 ただし、だれが新しいブロックを作るのか、ということは決まっていません。ブロックチェーンの本質は、中央管理者がいなくとも正常に機能するという点です。参加する人全員が利用者であり管理者であるのです。

 しかし、だれもが好き勝手に新しいブロックを作れてしまっては、どれが正しいのかも分からずシステムが破綻してしまいますよね。

 そこでビットコインのブロックチェーンでは、参加者の中で一番仕事をした人に新しいブロックを生成する権利を与えるという仕組みになっています。そして、ブロックを生成した報酬としてビットコインが付与されます。報酬がなければだれもやりたがらないですからね。

 ここで言う「一番仕事をした」とは、決められた条件のハッシュを生成するナンスを見つけることです。

Content image


ナンスを見つけるのがマイニング

Content image

 ブロックチェーンの各ブロックには、前のブロックの情報を要約して暗号化したハッシュが記載されています。このハッシュは、16進数で64桁の数値なのですが、記載できるハッシュには決まりがあります

 具体的には、「先頭から18桁目までは0が並ばないといけない」というようなものです。そして、そういうハッシュを上手く生成するようなナンスを一番早く見つけた人が、「一番仕事をした」人になります

 ハッシュの生成はランダムであり一方通行なので、答えのハッシュから逆算することはできません。そして、元データが少しでも異なれば、生まれるハッシュは大きく異なります。

 そのため、条件に合うナンスを探すためには、ひたすらナンスの値を変えてハッシュを生成し続けて、たまたま上手くいくことを願うしかないのです。

Content image


 まるで金鉱を求めて山を掘り続けているみたい…。まさに、マイニングですよね。一番仕事をした人にブロックの生成権を与えるこの仕組みは、PoWと呼ばれています。PoWについては、Part 4と5で解説します。


マイニングがどれぐらい難しいか

Content image

 最後に、目的のナンスを見つけるのがどれ程難しいことなのかということを説明して、Part 2は終わりにしましょう。

 現在のビットコインのブロックチェーンでは、ハッシュの先頭から18桁目までは0が並ばなくてはなりません(より厳密には、ハッシュの数字としての大きさが条件として定められています)。

 ハッシュの生成はランダムですから、一桁目が0となる確率は(1/16)です。二桁目も0となる確率は、(1/16)×(1/16)=(1/256)です。

 同様に計算していくと、18桁目まで0が続く確率は(1/16)の18乗で、約千垓(=10の23乗)分の1です。千垓は1兆の千億倍ですね。

 例えば、地球のある銀河系の直径がおおよそ千垓cmです。銀河系を1cmごとに区切った時に、どれか1カ所にある答えを探すのと同じぐらいの難しさということですね。。。イメージできますか?

 これを世界中のコンピュータを使って、約10分で行っているのです。

 ちなみに、参加するコンピュータリソースの量により、ナンスが発見されるまでの時間が変わってきてしまいますよね。ビットコインの場合、新しいブロックが生成されるまでの時間が約10分となるよう、参加者の量に合わせて記載できるハッシュの条件を変えることで調整しています



 少し長くなってしまいましたが、Part 2はここまでです。僕はほかにもマイニングに関する記事を書いているので良かったら読んでみてください!

スーパーコンピュータ「京」でマイニングしたら


 次回はPart 3は、ブロックチェーンがなぜ改ざんができないかについてです。


>>Part 3:なぜブロックチェーン上のデータは改ざん不可能なのか


↓この記事を書いた人↓


公開日:2018/07/19
獲得ALIS:115.53
yoshihiro's icon'
  • yoshihiro
  • @yoshihiro
ブロックチェーン技術をなるべく分かりやすく正確に伝えられる解説記事を書けるよう頑張ってます。

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

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

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

ブロックチェーンの51%攻撃ってなに

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

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

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

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

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

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

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

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

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

CoinList(コインリスト)の登録方法

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

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

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

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

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

【第8回】あの仮想通貨はいま「テレグラム-TON/Gram」

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

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

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

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

Like token Tip token
3.50 ALIS