← PC・IT用語集へ戻る

マイニング

Mining
data security beginner
ブロックチェーンの取引データを検証・承認する作業を行い、その報酬として新たな暗号資産を獲得する仕組み。
マイニング (Mining)

概要(サマリー)

マイニング(Mining:採掘)は、ビットコインなどの暗号資産(仮想通貨)システムにおいて、取引データ(トランザクション)が正しいものであるかを検証・承認し、新しい「ブロック」としてブロックチェーンに記録する作業のことである。

この膨大な計算を必要とする検証作業に、最も早く成功したコンピュータの所有者に対し、報酬として新規に発行された暗号資産などが支払われる。金鉱山から金を「掘り当てる(採掘する)」様子に似ていることから、マイニングと呼ばれている。

詳細解説

マイニングとは何か(ブロックチェーンの番人)

銀行のような中央管理者が存在する従来のシステムでは、取引データ(誰が誰にいくら送金したか)の記録や確認は、すべて銀行のサーバーで行われる。しかし、ビットコインなどの暗号資産には管理者が存在しない。

その代わりに、世界中の有志のコンピュータが互いに監視・協力し合って取引記録の正しさを証明している。この取引の検証・記録を行うプロセスそのものが「マイニング」である。マイニングを行う人々や事業者を「マイナー(採掘者)」と呼ぶ。

マイニングの仕組み(取引の承認とナンス値)

ビットコインで採用されている代表的なマイニングの仕組みは、「PoW(Proof of Work:仕事による証明)」と呼ばれる。その具体的な手順は以下の通りである。

  1. 取引データの収集:世界中から送られてくる未承認の取引データをいくつか集めて1つの「ブロック(塊)」を作る。
  2. 計算パズルの解読:ブロックのデータをハッシュ化(不規則なデータに変換)する際、先頭に「0」が一定個数並ぶような特殊な数値(ナンス値:Nonce)を総当たりで計算して見つけ出す。
  3. ブロックの追加:一番最初に正しいナンス値を見つけ出したマイナーが、そのブロックをブロックチェーンの末尾に接続する権利を得る。
  4. 報酬の獲得:取引データが正しいことが他の参加者によって承認されると、そのマイナーに対して新規発行されたビットコインと、取引手数料が報酬として支払われる。

この計算パズル(ハッシュ値の計算)を解くには膨大な計算能力が必要であり、専用機器や大規模な設備を持つマイナーが世界中で競争を繰り広げている。

マイニングの種類と環境の変化

暗号資産の歴史が進むにつれ、マイニングの手法や環境は大きく変化している。

  • ソロマイニング(単独採掘):個人が自分のPCでマイニングを行う方法。初期のビットコインでは可能だったが、現在では競争が激化しすぎて個人のPC性能では報酬を得ることは不可能に近い。
  • プールマイニング(共同採掘):複数のマイナーがインターネット経由で計算能力を持ち寄り、共同で計算を行う方法。ブロックを発見した際は、提供した計算量(ハッシュレート)に応じて報酬が山分けされる。
  • クラウドマイニング:マイニング設備を持つ事業者に資金を支払い、マイニングの作業自体を代行してもらい、その利益の一部を受け取る方法。ただし、実態のない投資詐欺や高すぎる手数料のリスクもあるため注意が必要である。

また、PoWによるマイニングは膨大な電力を消費するため、環境問題(二酸化炭素排出量の増加)としても議論されている。そのため、イーサリアムのように、保有する暗号資産の量などに応じて承認権を与える「PoS(Proof of Stake:ステークによる証明)」と呼ばれる、計算競争を前提にしない承認方式(ステーキング)へ移行した例もある。

AIコーディングとの関係

マイニングのプログラム(マイナーソフト)や暗号計算エンジンの開発において、AIを活用することができる。AIは、高速なハッシュ計算(SHA-256など)を行うプログラムや、GPUを並列駆動させるためのコード(CUDAなど)の書き方を提案できる。

また、ブロックチェーンのスマートコントラクトを開発する際、「PoWとPoSのアルゴリズムの違いをシミュレーションするPythonコードを書いて」と依頼すれば、難解な暗号計算のロジックを視覚的に理解するためのコードを作成してくれる。

ただし、個人が安易にAIに指示して作ったマイニングツールを稼働させても、電気代や機材費に対して得られる報酬が少なく、赤字になる可能性が高い。AIコーディングをマイニングに役立てる場合は、実際のマイニング作業を行うためではなく、ブロックチェーンの暗号技術(ハッシュ関数や公開鍵暗号)の学習や、セキュリティ監査のためのスクリプト開発として活用するのが実用的である。

よくある勘違い

マイニングはPCでデータを発掘する宝探しゲーム?

「採掘」という言葉のイメージから、インターネット上のどこかに隠されているデータ(コイン)を探し出す宝探しのようなゲームと誤解されがちである。

実際は、暗号資産の「帳簿(ブロックチェーン)」に不正がないかを検証・記録する堅実な「インフラ維持のための計算作業」である。マイナーは、ネットワークの安全性を守る作業に参加し、その「防犯・記録の労働対価」としてシステムから新規発行されたコインや取引手数料を報酬として受け取っている。

自宅の余っているパソコンでマイニングすれば誰でも簡単に儲かる?

かつては可能だったが、現代の主要なPoW型暗号資産ではかなり難しい。

現在、ビットコインのマイニングは「ASIC(エーシック)」と呼ばれる、ハッシュ計算に特化した専用の電子回路(ハードウェア)を大量に並べた大規模なデータセンター(マイニング工場)を運営する事業者が中心になっている。家庭用の一般PCでマイニングを行っても、計算競争ではほとんど歯が立たず、PCの電気代の方が獲得できる報酬を大幅に上回る可能性が高い。

マイニングは違法な行為である?

日本を含む多くの国において、マイニングを行うこと自体は合法である。

ただし、他人のWebサイトに不正なスクリプトを埋め込み、サイトを閲覧したユーザーのPCのCPUリソースを勝手に使ってマイニングを行わせる「ブラウザマイニング」や、会社のPCを許可なく使ってマイニングを行う行為は、法律や利用規約に反する可能性が高い。自分の所有するPCや設備で、電力契約、税務、利用規約などのルールを守って行うマイニングとは分けて考える必要がある。

まとめ

  • マイニングは、ブロックチェーン上の取引が正しいかを検証し、帳簿を更新する作業である。
  • 最も早く取引データの検証用暗号パズルを解いたマイナーに、報酬として新たな暗号資産が支払われる。
  • 膨大な計算を競争で行うため、現在のビットコインでは専用機器や大規模設備を持つ事業者が中心になっている。
  • 大量の電力を消費するため、環境負荷の面から「PoS」など計算競争に頼らない承認方式も使われている。
  • AIを用いることで、ハッシュアルゴリズムの理解や並列処理プログラムの作成を容易に学習できる。

情報ソース

より詳しくAIに聞いてみよう

  • ビットコインのマイニングで使われるハッシュ関数「SHA-256」の仕組みと、なぜこれによってデータの改ざんが防げるのか教えてください。
  • マイニングの承認アルゴリズムである「PoW」と、イーサリアムなどが移行した「PoS」の違い、メリット・デメリットを教えてください。
  • 個人がマイニングに参加する「マイニングプール(Mining Pool)」の仕組みと、報酬がどのように配分されるのかを教えてください。
  • 「コインハイブ(Coinhive)事件」とは何か、Webサイト上でマイニングプログラムを動かすことの法的・技術的な問題点を教えてください。
  • AIを使ってブロックチェーンの仕組み(簡易的なブロック生成とハッシュ計算)を体験できるPythonプログラムの書き方を教えてください。