技術・仕組み

ビットコイン:ブロックチェーンの「マイニング」とはどんな計算か

ブロックの中のトランザクション

ビットコインでは10分間のトランザクション(取引)記録をひと固まりにしてめておく。10分ごとにブロックの中の取引記録(例えば1〜100)が入っており、10分経てば、これまでのチェーンの次に繋がれる。

ブロックをチェーンに組みこみ、チェーンにつなぐには鍵が必要。

10分間のトランザクションが詰め込まれたブロックをチェーンに繋ぐためには、条件(ブロックチェーンのルール)を満たす「鍵」が必要となります。この鍵を見つける行為が「マイニング」そのものであり、マイナーが報酬(リワード)のために行っている計算です。マイニングが成功した時点で、過去10分間のトランザクション(取引)は正式に成立し、ブロックチェーンにつながれる。ここで初めて「AさんからBさんへの送金」が実行される。それまではあくまで「承認予定」という状態。

マイニングとはどんな計算か。~ブロックをチェーンに組み込むための「鍵」さがし~
ただの総当たり数あてゲーム。暗証番号を0000、0001~と試していくのと同じ

(前提)ブロック自体も64ケタのハッシュをもっている。

取引1 1002BC539566・・・

取引2 1002BC539566・・・E

取引3 1002BC539566・・・9E

これらをまとめたハッシュ値2BC539566·E

「1つ目のブロックのハッシュ値+新ブロックの全取引データ+任意の文字列(ノンス値)」

これにハッシュ関数をかけ、得られるハッシュ値(64ケタ)の最初16ケタor17ケタが全部0となるような「ノンス値」を見つけることが条件。つまり、しらみつぶし。総当たり。

マイニングの報酬(リワード)

世界で1番はじめにノンス値を見つけた者には、報酬(リワード)がもらえる。

マイニングの確認

2番目以降のものは、1番目に見つけたノンス値が正しいかを検証する。探すのは難しいが、答えがあってるか確かめるのは簡単(ハッシュ関数)にかけるだけ。