ビットコインを生み出すマイニング(採掘)とは?仕組みを紹介
ビットコインにおいて「マイニング」(採掘)という仕組みは重要な役割を担っています。管理者が存在しない分散型ネットワーク上で流通するビットコインは、マイニングという仕組みによって、すべての参加者が同じ取引(トランザクション)を検証し、不正の防止を実現しています。マイニングについて、そのプロセスと仕組みを詳しく解説しましょう。
ビットコインのマイニング(採掘)とは?
ビットコインなど仮想通貨に興味を持つと、「マイニング」(採掘)という言葉を目にする機会が出てきます。マイニングによって仮想通貨を入手できるとあって、興味を持つ方もいるでしょう。
また、仮想通貨交換業者で開設した口座と外部ウォレットとの間で仮想通貨を入出庫する場合、仮想通貨交換業者に支払う手数料とは別途、「マイナー(採掘者)への手数料(採掘報酬)」が設定されていることがあります。例えばDMM Bitcoinの「仮想通貨取引の手数料について」を確認すると、入出庫のどちらでもDMM Bitcoinに支払う手数料は無料ですが、入庫時には顧客側がマイナーへの手数料を負担する必要があります。この手数料がどのようなものなのか理解するには、マイニングに関する知識が欠かせません。
そこでまずは、マイニングの仕組みを簡単に紹介していきます。一体どのような仕組みになっているのでしょうか?
マイニング(採掘)とは、どんな仕組みなのか
管理者が存在しないビットコインでは、分散型のネットワークに参加しているノード(コンピューター)によって取引の正当性が検証されています。分散ネットワークでは、隣接するノード間でバケツリレーのように情報が伝搬しており、隣のノードに情報を送る前にトランザクションのデータ構造などに不具合がないことなどをチェックしてから情報が送られます。
そして、ノードを介して伝搬し、ネットワーク上に流通するトランザクションは、マイナーと呼ばれるノードによって、「ブロック」というデータの固まりにまとめられていきます。例えば、先に挙げた外部ウォレットから仮想通貨交換業者の口座(入庫用アドレス)への入庫もトランザクションの候補にあたり、入庫を完了させるには、まずマイナーによってブロックに追加される必要があります。
ビットコインではブロックが平均で約10分ごとに生成されており、ブロック生成に成功したマイナーには、報酬として新規発行されたビットコインが支払われます。またブロック生成の順番には、最も高いマイナー手数料が設定されているものから処理されるという基準があります。
以上のように、膨大な計算を経て報酬を獲得するまでの一連の流れが「マイニング」と呼ばれています。重要なポイントは、「約10分間に1回のサイクルで行われるマイニング」というプロセスが完了するたびに、各ノードが検証するブロック(=トランザクション群)がただひとつに決定されるという点です。すべてのノードが同じブロックを独立して検証し、検証クリア次第、各ノードが保持する分散型取引台帳(=ブロックチェーン)における最新ブロックが更新されます。このため、中央管理者がいない分散ネットワークであっても分散型の取引台帳が自律的に構築されていくのです。
なお、労力を割いて報酬を獲得する様子が、鉱山労働者が鉱物を採掘する様子に似ているため、マイニングと呼ばれるようになりました。2019年8月現在、ビットコインのマイニング報酬は、2016年7月の半減期以降1ブロックあたり12.5BTC(BTCはビットコインの通貨単位)で、2020年4月と予想されている次の半減期以降には6.25BTCになるとされています。高額なマイニング報酬が得られるので、マイナーたちはコストをかけてマイニングに参加しています。
マイニングにおける計算の詳細
マイニングで行われている計算は、ハッシュ関数に入力する値(データ)を変えながら「条件を満たした出力値(ハッシュ値)」を得るために行われています。関数とは、決められた手順・計算式によって計算結果を出力するものを指します。ハッシュ関数は、入力値を少しでも変えるとまったく異なる値が出力されるため、出力値から入力値を推測(逆算)できないという一方向性を持った関数となっています。
またハッシュ関数への入力値は、具体的には生成しようとしているブロックのメタデータ(そのデータに関する付加的な情報)を集めた「ブロックヘッダ」が利用されます。
ブロックヘッダには大きく分けて以下のデータが含まれています。
- 直前のブロックヘッダのハッシュ値
- マイニングに関するデータ(ナンスなど)
- 同じブロック内に格納された全トランザクションの要約値
上記データのほとんどはハッシュ関数による計算時点ですでに値が決まっていますが、「マイニングに関するデータ」内のナンス(nonce)は数値が決まっていません。
つまり、マイニングとは、ナンスの数値をランダムに変えながら、繰り返しハッシュ関数を使った計算を行い「条件を満たした出力値(ハッシュ値)」を得られるナンスを求める行為なのです。ハッシュ関数は入力値がわずかでも異なれば、出力値が大きく変わるので、ナンスの値が「1」変わるだけで出力値は大きく変わります。
計算した結果、どのような値が出てくるかは誰にも予想できません。マイニングというプロセスはさながら超高速なスピードくじを引くようなものです。世界中のマイナーたちにより、ビットコインネットワーク全体では1秒あたり約7700京回(2019年8月23日現在)もの計算が行われています。
なお、1秒あたりのハッシュ計算能力は「ハッシュレート」または「ハッシュパワー」と呼び、単位表示は「H/s」(ハッシュパーセカンド)です。例えば、「1H/s」は1秒間に1回のハッシュ計算を行う能力があることを示します。
マイニングの難易度「ディフィカルティ」
マイニングにおいては、正解となるナンスを見つける難易度「ディフィカルティ」(Difficulty)も設定されています。ビットコインのディフィカルティは、平均して10分に1回ナンス値が発見されるように、約2週間に1回の頻度で自動調整されています。過去2週間の平均ブロック生成時間が10分よりも短ければディフィカルティは上がり、10分よりも長ければディフィカルティが下がるのです。基本的にはハッシュレートが上昇すればするほど、ディフィカルティも上昇していきます。
マイニングには何が必要なのか
マイニングに参加したい場合、何が必要になるのでしょうか?ここでは3種類のマイニング方法と必要になるモノを紹介していきます。
ひとりで行う「ソロマイニング」
もっともシンプルなマイニング方法は、自分ひとりで行う「ソロマイニング」です。ハードウェアの調達、ネットワークへの接続、マイニングソフトウェアのインストールなどを自分で行うため、専門知識が必須です。もちろん、コンピューターを動かすための電気代も負担しなければなりません。
かつてマイニングには、パソコンのCPUや、3D CGなどに利用される演算処理装置「GPU」が使われていました。しかし、ハッシュ計算に特化した集積回路「ASIC」(エーシック)を搭載したマイニング専用機の登場によってハッシュレートが大幅に上昇した結果、マイニング競争は激化の一途を辿っています。また、専用機を動かすには多くの電力が必要です。
マイニングは成功すれば多額の報酬を獲得できる一方で、ハードウェア機材の調達コストと電気代などのランニングコストが大きくなっています。したがって、ビットコインのようなハッシュレートの大きな仮想通貨を、個人でマイニングするのは現実的ではありません。
個人の場合、次に紹介する「マイニングプール」か「クラウドマイニング」という方法を選択することになるでしょう。
自分のパソコンのマシンパワーを提供する「マイニングプール」
前述の通り、ハッシュレートの非常に大きな仮想通貨では、ソロマイナーがマイニングに成功する確率は極めて低くなります。そこで、複数のマイナーが協力してマイニングを行う「マイニングプール」が考案されました。この方法では、マイニングプールに提供したハッシュパワーに応じて報酬が分配されます。ただ、機材の調達コストや電気代などは個人負担となるので、収益を上げられるかどうかは条件に依存します。
また、マイニングプールをサービスとして提供している企業・サーバーが存在します。この場合は専用ソフトウェアをインストールし、自分のアカウントを作成することで参加しています。実際にマイニング報酬を得られるかは、マイニングプールのハッシュレート次第だといえるでしょう。
マイニング事業者から配当を得る「クラウドマイニング」
世界には多くのマイニング専用機が稼働する施設を建設し、事業としてマイニングを行っている企業が存在します。企業が管理するマシンのハッシュレートを購入し、企業が獲得したマイニング報酬から、購入額に応じて配当を得る方法が「クラウドマイニング」です。クラウドマイニングは、マイニング企業への投資のようなものとイメージした方がいいかもしれません。
クラウドマイニングに参加するには、配当を受け取るためのウォレットを用意して企業と契約するため、他のマイニング方法ほどには専門知識は必要ありません。比較的手軽にマイニングに参加できるものの、他のマイニング方法と同様、利益が出るかどうかは状況に応じて慎重に判断しなければなりません。
マイニングで得た利益には税金がかかる
マイニングによって仮想通貨を取得した場合、個人であれば所得税(雑所得)の課税対象となります。給与所得のある会社員がマイニングで利益を得た場合、国税庁のWEBページなどで確定申告が必要になるかどうかを確認する必要があります。
また、仮想通貨の取得価額は、仮想通貨をマイニングによって取得した時点の価格(時価)です。機材購入費やコンピューターを稼働させるために要した電気代など、マイニングのために要した費用については経費として計上できる可能性があります。
まとめ
ビットコインのマイニングとは、膨大なハッシュ計算を行い、ブロックの生成に成功したマイナーが報酬を受け取るまでのプロセスのことです。
ハッシュ計算に特化したASICの登場によって、ビットコインネットワークの全体のハッシュレートは右肩上がりで上昇しています。個人でビットコインのマイニングを行い、報酬を得られる可能性は低くなってきているといえるでしょう。一方で、マイニングプールやクラウドマイニングといった選択肢もあり、マイニングへの参加自体は可能です。
マイニング自体にあまり興味がない場合でも、ビットコインなど仮想通貨の送付においてマイナーへの手数料という形で知識が必要な場面が出てきます。マイニングは、ビットコインにとって重要な役割を担っており、その理解を深めることはビットコインを知る上で重要だといえるでしょう。
マイニングについて詳しく知りたい方は「ASIC、マイニングとは?詳細を解説」もご参照ください。
※掲載されている内容は更新日時点の情報です。現在の情報とは異なる場合がございます。予めご了承ください。
関連記事
-
ビットコインアドレスの仕組みとは?利用時に注意すべきポイント
ビットコインを受け取ったり送ったりするためには、「ビットコインアドレス」を通じたデータのやりとりが必要になります。今回は、ビットコインアドレスを取得して、ビットコインを送受信する方法やその際の注意点などを詳しく解説していきます。
-
暗号資産を安全管理!ウォレットにはどのような種類がある?
ビットコイン(BTC)を購入後の保管の仕方は大きく分けて2通りあります。暗号資産交換業者のウォレットに預けておく方法と、自分で用意したウォレットを利用する方法です。本記事では、初心者にとって使いやすいウォレットを解説します。
-
レイヤー0ブロックチェーンとは?レイヤー1、レイヤー2との違いを解説
ブロックチェーン技術のアーキテクチャー(構造・構成)について語るときに、レイヤー1、レイヤー2という用語が使われます。近年では、さらに重要な概念としてレイヤー0(Layer0)という用語使われるようになりました。この記事ではレイヤー0について、レイヤー1やレイヤー2との違いも含めて詳しく解説していきます。
-
暗号資産(仮想通貨)の基幹技術である分散型台帳技術(DLT)とは?
分散型台帳技術(DLT)は暗号資産(仮想通貨)の基幹技術です。当記事では、DLTはどのような仕組みなのか、暗号資産とDLTの関係も含めて、詳しくご紹介します。
-
コンセンサスアルゴリズムとは?ブロックチェーンで使われる代表的な種類を解説
コンセンサスアルゴリズムは、暗号資産(仮想通貨)の基盤技術となるブロックチェーンがブロックを追加する際のルールとなるコンセンサス(合意)形成を行うアルゴリズム(方法)のことを指します。本記事では、代表的なコンセンサスアルゴリズムの種類や仕組みについて詳しく解説します。
-
イーサリアムとビットコインの違いは?特徴や仕組みから解説
イーサリアム(ETH)はビットコイン(BTC)と目的や用途が大きく違なり、プラットフォームとしての利用が想定されています。イーサリアム独自の特徴を理解して、情報収集を進めていきましょう。
-
ビットコインの仕組みについて初心者にもわかりやすく解説!
取引を始めるには、最初に仮想通貨の仕組みについて知っておくことが大切です。今回は「最初の仮想通貨」と呼ばれるビットコインを例にして、仮想通貨の基礎となっている「ブロックチェーン技術」や具体的な取引方法などを解説します。
-
ブロックチェーンのトリレンマとは?DAOでの新たな問題も解説
革新的な可能性を秘めているブロックチェーン技術は、「分散性」「セキュリティ」「スケーラビリティ」の3つの要素から成り立っているとされています。この記事では、ブロックチェーンやDAOのトリレンマについて詳しく解説します。
今、仮想通貨を始めるなら
DMMビットコイン