「採掘」という意味を持つ、仮想通貨において大切な技術であるマイニング。
また、取引以外で利益を出す方法としても知られているのがマイニングです。
ですが、その仕組みはご存知でしょうか。
言葉を知っているだけではなく、その仕組みまで理解してみませんか?
今回はマイニングの仕組みについて解説します。
マイニングとは?
簡潔に表すと、「新しいブロックをブロックチェーンに繋ぐ作業」をマイニングといいます。
また、「仮想通貨における取引の承認作業」のことも表します。
世界各国で行われている取引は、すべてブロックに書き込まれています。
これをトランザクションといいます。
トランザクションはブロックに書き込まれただけでは、ブロックチェーンに保存されていない状態です。
ブロックチェーンに含まれることで、トランザクションは取引記録として初めて共有されることとなります。
このトランザクションを集めたものがブロックと呼ばれ、それらを繋いでいったものをブロックチェーンといいます。
マイニングを行っている人は?
このマイニングをしている人は「Miner(マイナー)」と呼ばれる人々であり、世界中に存在しています。
マイニングを行い、最初にブロックを繋いだ人に報酬として仮想通貨が支払われるという仕組みになっています。
報酬を得るために、世界中のマイナーがマイニングを行っているわけです。
マイニングの仕組みとは?
ビットコインを例に挙げ、マイニングの仕組みを説明します。
ブロックチェーンのブロック内に記録されているトランザクションは、すべて「ハッシュ関数」によって暗号化されています。
このハッシュ関数というのは、暗号化をする際に主に利用される演算手法のひとつであり、一度変換(ハッシュ化)したものは、元に戻すことがほぼ不可能だと言われています。
仮に「AからBへ5BTC送金する」というトランザクションがあったとした場合、ハッシュ化すると英数字が羅列された値が出力されます。
この値は「ハッシュ値」と呼ばれ、ハッシュ値から元に戻すことはできません。
ハッシュ化を行うことで、のちにトランザクションを修正するといった不正を防いでいます。
一つ一つのトランザクション、そしてブロック自体もハッシュ関数によって変換されています。
新しいブロックの生成方法は?
マイニングの計算作業というのは、「ハッシュ関数に様々な値を代入して計算する作業」を表しています。
新しいブロックを生成、つまり取引の承認をするには
- 直前のブロックのハッシュ値
- 新しく生成されるブロックに含まれるすべての取引データ
- 任意の数値、つまりノンス値
これらをハッシュ化する必要があります。
また、ビットコインでは新たなブロックを生成するにおいて、上記3つのハッシュ値の先頭に「0」が16個並ぶ数値が出力された際にブロックを生成するというルールがあります。
そのため、マイナーたちはそのようになるまで、ノンス値を探し続けるということになります。
ノンス値はランダムな32ビットの値であり、自分で変更することができます。
ノンス値を何千、何億通りと組み替えて、先頭に0が16個並ぶ数値を最初に出すことを競う作業になります。
今回はマイニングの仕組みについて、詳しく解説してきました。
マイニングというのは、報酬をもらえるという点でとても魅力があります。
しかしそれだけではなく、ブロックチェーンを機能させるためにとても重要なシステムでもあります。
ハッシュ関数、ノンス値など少し難しいかもしれませんが、仮想通貨には数多くの技術が利用されているため、理解を深めて、仮想通貨の新たな一面を発見してみてはいかがでしょうか。