採掘(マイニング)とは?
ビットコインにおけるマイニングとは、専用のソフトウェアで仮想通貨のブロックチェーン上の取引が正しいものであるかという検証作業を手伝うことで、その報酬として新規発行されたビットコインを受け取ることができるというシステムです。
ビットコインの発行枚数は2100万枚とプログラムによって規定されており2100万枚全部マイニングされれば、そこからはビットコインのやり取りにおいて取引手数料として支払われた分のビットコインがマイニング報酬となります。
ちなみにマイニングの正式名称はPOW(Proof-of-Work) といい、マイニングというと皆さん『掘る』をイメージすると思いますが、ここでいうマイニングは Proof-of-Work を行うことをいいます。
そして、取引確認の処理を複雑な計算問題を解くという形でこなしており、一番早く解いた人に新しいコインが与えられます。
ビットコインやその兄弟分であるライトコインやモナコインはこのPOWという方式の取引確認方式をとっていますが、NEMはPOI、リップルはPOCという方式を取っており、仮想通貨の種類ごとに違うことがあります。
ビットコインにおけるマイニング
ビットコインのブロックはおよそ10分に1度採掘され、マイナーには1回ボタンを押すとランダムに文字列が表示されるプログラムが支給されています。
新しいブロックには解答の文字列が刻まれており、マイナーはランダムな文字列によってドンピシャでこの文字列を当てなければ採掘できません。
ただしその試行回数に制限はありませんから、1億回でも1兆回でも1京回でも試して構わないのです。
つまり、ブロックの採掘とは全マイナーによる早押し連打対決のようなものだと思ってください。
この連打速度がすなわちハッシュパワーですから、ハッシュパワーが高いマイナーほど(正解を引き当てる確率的に)有利なのです。
さて、ではこの「およそ10分」というのはどうやって決定されるのでしょうか?仕組み上、参加者が多かったり飛び抜けて連打速度の速い参加者が混じったりしていれば10分を待たずにどんどん採掘されてしまいそうな気がしますね。
実際その通りなので、そのような状況になると自動的に採掘難易度そのものを上げてしまうような仕組みがビットコインには導入されているのです。
採掘難易度の調整は簡単で、解答文字列の桁数を増やしてしまえば良いのです。簡単にドンピシャの確率を下げることができますから、全参加者に要求される連打回数はさらに増えます。
この桁数≒採掘作業量=ハッシュレートといいます。
こうして、全参加者のハッシュパワーがどんだけでもブロックの採掘ペースはおよそ10分程度になるように調整されるのです。
ビットコインにおけるマイニングの現状
現在、ビットコインのハッシュレートはBitmain社を始めとする中国の5大マイニングプールが50%以上を占めています。
なので、万が一5大マイニングプールが結託するようなことがあれば、51%攻撃によってブロックチェーンの改ざんさえ可能だったり、ビットコインの発行枚数やシステムの仕組みを好き勝手に変更することも可能なのです。
まあ、ビットコインには今のところスケーラビリティー問題など実用化に向けていろいろと問題がありますが、17年8月にはSegwitが稼働しましたし後はライトニングネットワーク(LN)が上手くいけば、実用性と実需を兼ね備えたものとなるのでこれからもビットコインの開発には期待しています。