TOP
49.65score

tabularasa

スポンサーOvertex

「マイニング」とは具体的に何をしているのか?

ビットコインやモナコインなど暗号通貨を扱う上で、必ずと言っていいほど耳にするのが「マイニング」。
マイニングで暗号通貨を採掘する、などといいますが具体的にどのようなことをしているのでしょうか。

ここに画像が表示されない場合はすでに削除されているか直接のリンクを拒否されている可能性があります

というわけでビットコインのブロック情報をblockchain.infoから持ってきました。
※画像は手を加えているので実際の画面構造とは異なります。

赤い箱で囲んだところ、これがブロックのハッシュ値になります。
これは404209個目のブロックですね。

ハッシュ値を見ると、一つ気づくことがあります。
はい。先頭に0がいくつも並んでいるのがわかると思います。

つまりマイニングとは、簡潔に言うと
「先頭に0が幾つも並んだハッシュ値を見つける」
作業になります。

何だそれは…と思ってしまいますよね。
なぜ0がいくつも並んでいるハッシュを探しているのか?

---

まずハッシュ値は、ビットコインで言うと
「16進数が64桁並んだ数列」
になります。この数列一つ一つにアドレスを割り振ることが出来ます。
16の64乗は、1.1579209e+77になります。
e+というのは先頭の数字の後についている小数点の後ろにある数字の個数を表していますので、
11579209...と78桁続く数ぶんのアドレスがあることになります。

天文学的な数字、そのためアドレスが衝突する可能性はほぼ0と言って良いということからビットコインの安全性が保証されているわけですね。

そして画像で言うと、0が17個連なっています。0を17個つなげるためには16分の1が17回続かなければなりませんから
一つのブロックを見つけるために必要な計算回数は2.9514791e+20、
2垓9514京7910兆…回。

つまり、膨大な計算の果てにブロックは発見されるのです。
それ即ち、ブロックを発見する≒ビットコインネットワークの計算にそれだけ貢献している
そのため、ブロックを発見すると250ビットコインが見つけた人に報酬として渡される、というわけです。

発見されたブロックは、そのひとつ前のブロックとの整合性が確認された後、ネットワーク上に「新しいブロックが発見されましたよ」と広められ、新しいブロックとなるのです。

そして、0がいくつ続かなければならないかを難易度として設定しています。
世界中で計算しているコンピュータが16分の1に減り、ネットワーク上の計算回数が減ってきたら
「0は16個続かなければならない」というルールに変更されるでしょう。そして難易度が16分の一に下がって、
また計算するためのコンピュータが増えることでしょう。

そのようにして均衡が保たれているのです。

.

最終更新日:2016-03-25 20:47

コメント (0)