複雑な仕組みで成り立っている仮想通貨。値動きがあり、決済として使える店も増えてきたという認識はあっても、細かい仕組みや用語の意味まで理解している人はそこまで多くないかもしれない。そこで本連載では、仮想通貨で使われる基礎知識や用語を丁寧に解説していく。今回は、わかるようでわかりにくい「マイニング」の仕組みと報酬について紹介する。
「マイニング」とは?
仮想通貨に関心のある方は、一度ぐらい「マイニング」という言葉を聞いたことがあるのではないだろうか。一般的に仮想通貨におけるマイニングとは、ブロックチェーン上にまだ記録されてない取引情報を格納した最新のブロックを、ブロックチェーンに追加する作業を指す。しかし、その説明を聞いてすぐに理解できる人はそこまで多くはないはずだ。そこで、ビットコインを例に具体的な流れを紹介しよう。
1.ブロックに格納する取引情報の収集を行う
マイニングを行う際、まずはブロックに格納する取引情報の収集を行う。ビットコインのアプリケーションをダウンロードした端末に存在する「自動的に通信を行うビットコイン利用者のネットワーク」に接続することで、ビットコインネットワークから集めた情報に、ブロックにまだ取り込まれていない取引(トランザクション)を加えて、自身のマイニングにより得られる報酬獲得の取引内容を、1つのブロックの中に格納する。
2.ハッシュ値と呼ばれる、データを圧縮した数値を求める
次の作業では、「ハッシュ関数」と呼ばれる数式に、ブロックに格納された情報とマイナーが任意に設定した数値を代入することで、解に相当する256桁の数値を求める。数式は仮想通貨の種類によりさまざまだが、ビットコインでは「SHA256(セキュア・ハッシュ・アルゴリズム256)」と呼ばれる関数が採用されている。SHA256そのものは、仮想通貨だけでなくデータの暗号化を行う数式として用いられる一般的な数式だ。なお、マイナーが任意に設定した値は「ナンス」、数式の計算で得られた256桁の値は「ハッシュ値」と呼ばれる。
3.繰り返しナンスにさまざまな値を当てはめて、ルールに沿ったハッシュ値を求める
ビットコインではブロックチェーンに新たなブロックを追加する際、この256桁の値が常に一定の条件を満たす必要がある。当然、ブロックに格納した取引の情報は変化しないので、ナンスにさまざまな値を当てはめることで、ルールに沿ったハッシュ値を求めていくわけだ。
効率は悪いものの、ハッシュ値を求める作業そのものは紙と鉛筆で行うことも可能だ。このとき、1秒間に何回この作業を繰り返せるかという数値を「ハッシュレート」と呼び、1秒間に1度この作業を行う場合は「1 hash / 秒」と表される。ちなみに、執筆時点の2018年6月では、全世界で1秒間に約40,000,000,000,000,000,000(4000京)回前後の計算が行われているという。
4.ルールに合うハッシュ値をネットワークで発信し、確認する
ルールに沿ったハッシュ値を得られた場合、すぐにビットコインネットワークに発信する。受信したユーザーは発信されたハッシュ値が正しいことを確認したうえで、次のブロック生成を行う。
こうしてみると、マイニングによってハッシュ値を求めることは難しいように思える。ビットコインは世界中で知られている仮想通貨であるため、さまざまな人によってマイニングが行われているが、知名度の低い仮想通貨であれば、マイニング参加者が少ないためハッシュレートも低いことが想定される。つまり、自宅のPCでマイニングを行える仮想通貨もあるというわけだ。
最近では、スマートフォンにアプリをダウンロードさせることで、仮想通貨のマイニングが可能なアプリまで出てきているから驚きだ。他にも、PCのCPUの処理能力を販売し、マイナーに代わってハッシュ値を求める計算代行サービスや、悪用した事例では、感染すると勝手にCPUの処理能力を利用してマイニングを行うウイルスまで存在する。
2つのマイニング報酬の内訳
では、マイニングによってどの様に収益を得ることができるのか。
個々の仮想通貨の仕組みにもよるが、マイニング報酬の内訳は大きく分けて2つ存在する。1つは「コインベース」と呼ばれるものだ。
執筆時点(2018年6月)のビットコインの場合では、1つのブロックを生成すると報酬として12.5ビットコインを獲得することができる。これは、プログラム上で定められており、4年に一度半分に減少し、コインベースがなくなるまでに100年以上かかると想定されている。
というのも、一定の時間をかけることで、徐々にビットコインは世の中に浸透していき、最終的に世界で活発に利用された結果、コインベースによる報酬がなくてもマイニングが成立するようになるというのが、ビットコインの設計思想であるためだ。
もう1つは、トランザクション(取引)を生成した送金者が任意に設定できる「トランザクション手数料」。多くの仮想通貨交換所のサービスでは、トランザクション手数料を固定しているため、トランザクション手数料を意識する機会は少ない。
現在のビットコインの仕組みでは、送金者が設定した任意のトランザクション手数料のうち、値の大きなトランザクションから順にブロックへ格納する仕様になっている。あまりに少額の手数料を設定すると、いつまでもトランザクションがブロックに格納されず、確定しないという現象が起こり得る。交換所が固定で手数料を設定する背景には、こうした点への配慮もあると考えられる。
マイニングの意義とおもしろさ
最近、Dapps(分散処理アプリケーション)が少しずつ注目を集めている。Dappsは、利用者が端末の処理性能を少しずつ提供し、アプリケーションを稼働させるために必要な処理を実施していくというもの。仮想通貨の世界では、こうした作業の分担による対価をどのように支払うか、そして、ネットワークがスケールしていく過程でどのようにインセンティブを設計するか、という点で興味深い仕組みと言える。
マイニングを行うことは、報酬として仮想通貨を得る機械的な作業というだけでなく、ネットワーク運営の担当をすると捉えれば、ビットコインマイナーは「ビットコイン」という分散処理アプリケーションを支えていると言い換えられるだろう。
限られた資源の活用とシェアという文脈で、今後はビットコインに限らずさまざまな分散処理アプリケーションが浸透していくだろう。その際、アプリを利用するときには誰もが当たり前の様に「マイニング」を行う時代が訪れるかもしれない。
著者プロフィール
齋藤 亮
SBIバーチャル・カレンシーズ 代表取締役副社長
2010年SBIホールディングス入社。SBIグループにて、主に経営企画・事業開発に従事。
2016年SBIバーチャル・カレンシーズ株式会社 代表取締役に就任、日本初の仮想通貨交換業者として登録を果たす。
2017年より仮想通貨事業者協会(JCBA)理事。