暗号資産(仮想通貨)を保有したことがない人でも「マイニング」という言葉は聞いたことがあると思います。日本語だと「採掘」といいますね。この言葉は漠然と知っていても、実際何を意味しているのかはあまり知りませんでした。

前回の「ステーキングとは?」に続き、マイニングの概要と参加方式のパターンについてまとめます。

マイニングとPoW(Proof of Work)とは?

「マイニングとは」でWeb検索してみましょう。上位に出てきたCRYPTO INSIGHTさんの解説記事では、こう書かれていました。

仮想通貨(暗号資産)のマイニングとは、取引などのデータをブロックチェーンに保存する作業を行い、その報酬として仮想通貨を得る行為のことだ。

CRYPTO INSIGHT「仮想通貨(ビットコイン)のマイニングとは?やり方や仕組みを徹底解説」より

なるほど、なんとなくわかりましたがまだちょっと不透明です。自分でももう少し調べてみると、マイニングには以下の2つの仕事があるようです。

※ここでは、ブロックチェーン全体を「帳簿」に、ブロックの1つ1つを「帳簿の1ページ」と例えます。

  1. 新しい取引をまとめて、帳簿の次のページの「下書き」を作る
  2. 誰の下書きを正式なページとして綴じるかを決めるくじ引きに参加する

1は、マイニング参加者が次のページを作るために、各自下書きを作る工程です。

ヘルメットをかぶった緑のキャラクター3人が、それぞれ自分の下書きページを持っているイラスト

Step1:各自、自分の下書きを用意します。

そして2の「くじ引き」は、引くのに計算が要るという性質を持っています。この計算のことをProof of Work(PoW、直訳すると「働いた証明」)と呼びます。各自が大量に計算して条件を満たす結果を最初に見つけた人が勝ち、という仕組みです。

ヘルメットをかぶった緑のキャラクター3人が、くじ引きの箱に手を入れているイラスト。まわりにはハッシュ値が書かれたくじの紙が散らばっている

Step2:下書き採用戦争!くじ引きで決めます。

くじ引きの中身は、ハッシュ計算

くじを1回ひく」を少し詳しく見てみると、実際にはハッシュ計算をしています。

ハッシュとは、どんなデータを入れても決まった桁数の英数字が1つ出てくる計算で(例えばSHA-256という種類なら64桁)、指紋のデータ版のようなものです。入れるデータが1文字でも違えばまったく別の指紋になるので、ファイルが改ざんされていないかの確認やパスワードの保存など、マイニングに限らずいろいろな場面で使われています。

入れるデータ」とは何かというと、取引データと、ノンス(nonce)という使い捨ての数字です。マイニングでは、ノンスを変えながら指紋を計算し続けて、指紋の先頭にゼロが決められた数だけ並んだら当たり、というルールでくじを引いています。この「ゼロがいくつ並べば当たりか」が採掘の難易度となっているようです。

先頭にゼロがずらっと並んだハッシュ値の紙を掲げて「win!」と喜んでいる緑のキャラクターのイラスト

Step3:あたりクジを引きました!

このあたりは私自身ややこしくってもう少し詳しく知りたいので、別の記事にまとめる予定です。

マイニングの報酬

「new page!」と書かれた帳簿に新しいページが綴じられ、それを見上げて喜んでいる緑のキャラクターのイラスト

Step4:あなたの下書きが、帳簿の新しいページになりました!

ページの下書きには、「自分あてに新しいコインを発行する」という特別な取引を書き込んでおけます。くじに当たって下書きが正式なページになると、この取引も有効になります。

これがブロック報酬で、今のビットコインではマイニング収入の大きな部分を占めています。さらに、そのページに載せた取引の手数料も受け取れます。

報酬の額はチェーンごとに異なり、ビットコインでは執筆時点(2026年9月)で1ブロックあたり3.125BTC。約4年ごとに半分になる「半減期」があり、次は2028年に1.5625BTCになる予定です。新規発行はこうして減り続けて最終的にはなくなるので、遠い将来は手数料が収入の中心になる設計だそうです。一方Moneroのように、一定額の発行がずっと続く設計のチェーンもあります。

なぜくじ引きなのか

誰の下書きを帳簿に追加するか?を決めるのはくじ引きですが、なぜくじ引きで決めるのかというと、ブロックチェーンには中央の管理者がいないからです。

「次は誰」を決める人がいないので、みんなでくじを引く → くじに当たった人の下書きが正式な次のページとして綴じられ、その人は報酬として新しいコインを受け取る・・・これが「採掘」の一連の流れです。

マイニング参加方式の種類

ステーキングと同じく、参加する側から見た体験の違いで分けてみます。

1. ソロマイニング

自分のマシンの計算力だけで、くじを引き続ける直球のスタイルです。当たれば報酬は全部自分のもの。

自分のマシンの力量が重要になってくるので、計算力が小さいマシンでは何年も掘れない、という可能性がある厳しい世界です。

2. プールマイニング

そこで、多くの人が参加するのがマイニングプールです。たくさんの参加者が計算力を持ち寄って、みんなでくじを引き、誰かが当たったら報酬を貢献度に応じて分配します(分け方はプールの方式によっていろいろあるそうです)。

自分ひとりでは「当たるまで何年」でも、プール全体なら日に何度も当たるので、収入は小さくなるものの安定します。その代わりにプール運営者に手数料(プールやコインによって様々)を払います。

3. クラウドマイニング

自分でマシンを用意せず、業者からマイニングの計算力を契約して借りる方式です。「月額いくらでこの計算力」という商品を買って、報酬を受け取ります。

手軽そうに見えますが、契約した計算力が本当に動いているか、手数料や電気代込みで採算が合うのかを利用者側からは確かめにくいサービスも多く、過去には報酬の見込みだけを並べた詐欺まがいの業者もあったジャンルだそうです。

個人的には、ちゃんと掘れて儲かるなら業者さんも人に貸さずに自分で掘るのでは?と思うので、あまり儲からないと思っておいた方がいい気もします(良い業者さんがいたらすみません)。

4. 採掘に使う道具の違い(CPU・GPU・ASIC)

参加方式とは少し違いますが、「くじ引きに使うハッシュ関数の種類」もコインによって違っています。ハッシュ関数が違うと、どの道具で計算するのが速いかも変わってくるので、こちらも興味深いので挙げておきますね。

  • CPU: パソコンの頭脳そのもの。特別な機材が要らない
  • GPU: 画像処理用の部品。単純な計算をたくさん並列にこなすのが得意
  • ASIC: 特定のハッシュ関数を計算するためだけに作られた専用チップ

ざっくりこの3つがあり、例えばビットコインではASICが圧倒的に速く、家のパソコンで参加する余地はほぼないようです。逆に、MoneroのRandomXのように**「CPUが有利で、GPUやASICを使っても大きな差が出にくい」ようにわざと設計されたハッシュ関数**もあり、この場合は普通のパソコンで参加できる・・・など、ひとくちにマイニングといってもコインの仕様で参加のハードルが変わるようです。面白いですね。

こういった専門用語は用語集にまとめているので、よろしければこちらもどうぞ。

Codablecashの場合

私がマイニングでの参加を目論んでいるCodablecashも、この「CPUが有利」の設計です。開発者の飯塚さんは、普通のノートパソコンで掘れる、かつコア数が多いほど有利、と話されています。

CodablecashはPoWとPoSの両方を使うハイブリッド型なので、マイニングだけでなく前回のステーキングも同時に存在します。開発者さんの過去の技術記事やポストを読む限り、マイナーが帳簿のページを作り、ステーキング側がそれを承認する、という分担のようです。Decredのチケット制と似た形?で、とても興味深いのでネットワーク公開後に自分でソースを読んで勉強しようと思います。