ブロックチェーンの話を聞く度に、「マイニング」という言葉聞くけど、どういう意味なのかな?
「マイニング」ってどんな仕組みなの?なんでそんなことをする必要があるんだろう?
そもそも、なんで「マイニング」って名前なの?
2018年になり、ブロックチェーンが世界中で注目されるようになっています。実際、毎日のようにブロックチェーンを使ったプロジェクトが立ち上がっており、その熱は止まることを知りません。
そんなブロックチェーンの話が出ると、必ずと言って良いほど聞くのが、「マイニング」というワード。ビットコインのブロックチェーンでは非常に重要な役割を担っています。
この記事では、マイニングの意味からその仕組みと役割まで、図解を用いてわかりやすく解説します。
ブロックチェーンがどのように運用されているか、一段と理解が深めることが可能になります。
目次
1.マイニングとは?
マイニングとは、主にビットコインのブロックチェーン上に取引内容を記録する作業のことを意味します。
なぜ、マイニングという言葉が付いたかと言うと、19世紀アメリカで起きた「ゴールドラッシュ」から来ています。山の中にあるゴールドを求めてひたすら採掘する(マイニングする)様子と似ていることから、「マイニング」という言葉がつけられました。
2.マイニングの仕組み
それではマイニングの仕組みについて解説していましょう。
マイニングは、正確に言うとProof Of Work(PoW)という作業を行います。直訳で「仕事の証明」ですね。一体どんな「仕事」をして、何を「証明」するのでしょうか。
それぞれ詳しく見ていきましょう。
2-1.計算問題を解くという「仕事」
2-1-1.「ナンス」をという値を求める
まず、どのような仕事をするのか解説します。
一言で言うと、ある計算問題を解きます。これが仕事に相当するのは意外に思われるかもしれませんが、これがブロックチェーンの安全性を確保する重要なものになります。
具体的にどのような計算問題を解くのでしょうか。
ここで登場するのが、ハッシュ関数という関数です。この関数には次のような特徴があります。
①入力する値に関係なく、常に同じケタ数の値が出力される
②少しでも違う値を入力すると、全く違う値が出力される
③出力された値から入力された値を導き出すことはできない
ちなみに、ハッシュ関数には様々な種類があり、ビットコインではSHA256というハッシュ関数が使われています。
入力した値に対して、出力される値のことをハッシュ値と呼びます。PoWは、まずこの関数を使って、与えられたハッシュ値よりも小さくなるような入力値を求める問題になります。この値のことをNonce(ナンス)と呼びます。
つまり、PoWとは、このNonceと呼ばれる値を求めることを意味します。
2-1-2.ただただ、マシンパワーで解く
PoWは、条件より低い値が出力されるような入力値、Nonceを求めることを意味します。
そんなNonceをどうやって求めるのでしょうか。
結論から言うと、Nonceとなるような値が出るまで、ただひたすら値を代入をするのです。
しかし、このNonceが求まるまでに、途方もない回数を行う必要があるのです。
なぜかと言うと、Nonceに関するヒントが一切ないのです。つまり、当てずっぽうで値を代入して、たまたま条件を満たす値を見つけ出すのです。
2-1-3.より性能の良い計算機を持っている人の勝ち!
当てずっぽうでも、いつかはNonceを見つけることができるので、一見そんなに難しい「仕事」ないように見えます。
しかし、同じようにNonceを見つけ出して報酬を得ようとするマイナーが世界中に存在しています。
報酬が得られる条件は一番早くNonceを見つけたマイナーです。
世界中のマイナーがしのぎを削ってNonceを見つけようとしているのですから、その結果どのようなことがおこるのでしょうか。
それは、同じ時間内で少しでも多く計算できる計算機が求められるようになります。
つまり、Nonceを求めて報酬を得るカギは、どれだけ性能の良いマイニングマシンをたくさん持っているかになるのです。
現在、マイニングに使われている計算機は、1秒間になんと数十兆回もの計算が可能だそうです。ビットコインでは、一回のマイニングに約10分かかるので、必要な計算回数は数百兆に及びます。本当に途方もない回数ですよね。
2-2.解けたら、みんなに証明してもらう
さて、苦労してNonceを求めたとしましょう。これで晴れて報酬が手に入る、、訳ではありません。
なぜなら、求めたNonceが本当に条件を満たすのかどうか証明されていないのです。
では、どうやって証明するのでしょうか。
一番早くNonceを求めたマイナーは、他のマイナーにその値を公開します。そして、本当にそのNonceが条件を満たすのかどうかチェックするのです。
不思議なことに、PoWで用いられるハッシュ関数は、条件を満たすNonceを求めるのは難しい一方で、そのNonceが本当に条件を満たすかどうか証明することは非常に簡単な仕組みになっているのです。
これが「仕事の証明」の「証明」を意味します。
2-3.ブロックチェーンに記録してやっと報酬がもらえる
これで、正式に条件を満たすNonceを求めたと証明されれば、報酬がもらえる、、、訳ではありません。
PoWは正確に言うと、ブロックチェーンに取引を記録する権限が与えらるための作業なのです。
したがって、Nonceを正式に求めたマイナーは、他のマイナーから正しくNonceを求めたと証明
された後、ブロックを生成して必要なデータを入れ、一つ前のブロックとつなぎます。
ブロックに入れるデータは主に、以下の3つのデータになります。
・事前に記録するのに選んだ取引内容
・一つ前のブロックのハッシュ値(一つ前のブロックのデータをハッシュ関数に通して出力させた値)
・求めたNonce
これでやっとブロックチェーンへの記録作業は終了し、報酬として仮想通貨がもらえます。
流れをまとめますと、以下のようになります。
1.Nonceを求める「仕事」を行う
2.ちゃんと求めたかどうかほかのマイナーに「証明」してもらう
3.必要なデータを正しくブロックに取り込み、一つ前のブロックにつなぐ
4.報酬をもらう
この流れは、ゴールドラッシュのおける、「一つの山に対して、どこに埋もれているかわからない金塊を、他の採掘者よりも早く掘り起こし、本当に金なのか鑑定士に見てもらい、本当に金だと証明されて初めて報酬を得られる」という流れと非常に似ていますね。
これがマイニングと言われる所以なのです。
仮想通貨のマイニングはまだまだ課題がある
それではマイニングについてまとめましょう。
・マイニングとは、主にビットコインで採用されているコンセンサスアルゴリズム 「Proof Of Work(PoW)」の俗称である。
・マイニングの由来は、19世紀アメリカで盛んだった、「ゴールドラッシュ」の様子と酷似しているからである。
・マイニングで報酬をもらうためには、いかに性能の良い計算機をたくさん持っているかがカギになる。
ちなみに、コンセンサスアルゴリズムは今回紹介したマイニング、つまりPoW意外にもたくさんあります。
また、マイニングはブロックチェーンの安全性を保証する重要な技術なのですが、課題も存在しています。
コメントを残す