ビットコインのマイニング方法 をわかりやすく理解しよう
Supra Oracles
Supraコミュニティにご参加ください:https://linktr.ee/supraoraclesjapan
ビットコインは、現時点で最も価値のある仮想通貨であり、この分野の主軸的な存在です。そしてビットコインの存続に欠かせない「マイニング」とは英語の「マイン(採掘)」に由来するもので、ネットワークの計算能力を集団で利用することを指します。
基本的に、ビットコインのマイニングは、コンピュータの処理能力を活用してブロックチェーンの計算作業を行うプロセスであり、ブロックチェーンの新しいブロックの生成に貢献する取り組みです。マイニングを実行するマイナーは、決められた量の暗号通貨による報酬を獲得することができます。
コンピュータがフルスピードで動作し、それが価値を生み出すとなると、単純な仕組みに見えます。これが、多くの人がビットコインのマイニングに興味を持つ理由の1つです。その結果、ビットコインのマイニングについて学び、参加したいと思う人が増えていくのです。
マイニングは計算負荷の高い作業である
ビットコインの公開台帳(ブロックチェーン)に取引(トランザクション)データを追加する有効なブロックを生成することを、ビットコインマイニングといいます。
ビットコインでの支払いには、確認が必要です。例えば、支払いを行う個人が十分なビットコインを持っているかどうかを確認する必要があります。さらに、現在の支払い情報を含む新しいデータブロックは、ブロックチェーンの以前のデータブロックと接続されなければなりません。
そのためには、設定された条件に従った、難解な数学的な問題を解く必要があります。これを実行し、支払いを確認した人(アドレス)が、ビットコインで報酬を獲得することができます。これをマイニングといいます。マイニングを実行するには、技術的な知識だけでなく、必要なコンピュータ機器も必要となります。
現在、処理能力への要求は非常に高く、家庭用PCでのマイニングはほぼ不可能となっています。スマホ程度のスペックがあれば十分にマイニングに参加できた初期の頃とは異なり、主に専用のマイニングマシンを集約したマイニングプールや企業として運営する組織の手に委ねられるようになっています。
ビットコインをマイニングする意義
そもそも、なぜビットコインにはマイニングという仕組みが必要なのでしょうか。これは、銀行などの中央機関を通さずに新しいコインを発行するための方法に関連するものです。
希少性はビットコインの最も重要な特性の1つです。ビットコインの総量は2100万BTCと決められており、これは徐々に流通していきます。
ビットコインがマイニングされるのは、ブロックチェーンのP2Pネットワークにおいて、独占的な貨幣生産が行われないからです。分散型のプルーフ・オブ・ワークというシステムのもと、ビットコインのマイニングは独占を避け、より分散され、専門的なものになっています。新しいブロックに含まれるデータを評価し、検証し、正しいブロックとしてチェーンに追加するには、多くのコンピュータパワーが必要となります。
理論的には、誰でもビットコインのマイニングに参加することができます。しかし、マイニングが高度化するにつれて、技術的な設備への要求も大きくなっています。全てのビットコインが採掘されるのは、2140年頃と言われており、時系列とともに、そして参加者が増えれば増えるほど、ブロックの発見はますます複雑になり、マイナーにとってはコストのかかる作業となっていきます。多くの時間と労力、そして多くの計算能力が必要となるのです。
マイニングは、取引を確認するためのプロセスの構成要素に過ぎません。マイニングの主な目的は、台帳を非中央集権的に真正を証明しながら維持することです。マイニングには毎回復号化メカニズムが必要なため、新しいマイナーはブロックチェーンを復号化し、更新の許可を得る必要があります。
このプロセスでは、コンピュータの能力が高いマイナーほど成功する頻度は高くなります。しかし、確率的に考えると同じマイナーでも毎回成功するわけではありません。
ビットコインのマイニングアルゴリズム
ビットコインネットワークの各マイナーは、システムの課題を最初に解決するために、他のマイナーと競争しなければなりません。
ある期間に形成されたビットコインの新しいブロックは、その期間の取引に関する情報、ブロックチェーン内の前のブロックの取引に関する一方向に暗号化された情報、および問題を解くためのパラメータで構成されています。
まず、一定期間に発生した新しい取引の情報を記録するためのブロックが作成されます。続いて、あらゆるデータを256ビット長の出力に変換するSHA-256(Secure Hash Algorithm)アルゴリズムでデータを暗号化します。暗号化後、この結果はSHA-256(ダブルハッシュ)技術を使って次の取引の暗号化結果と連結され、このブロックの取引に対して2つのハッシュ結果が得られます。最後に、このプロセスの結果として、マークルツリーが形成されます。
この2つの結果はこの段階で連結され、暗号化され、最終的なハッシュ結果となります。マークルツリーは最終的なハッシュ結果を示すものです。
この最終的なハッシュ結果は、直前のブロックのハッシュ、ブロック開始のタイムスタンプ、ナンスの実行パラメータなど、ブロック内の追加データと結合されます。これらのパラメータはさらに暗号化され、初期化されたばかりのブロックの最終的なハッシュ結果を作成します。ハッシュ結果は、最後に256ビット(64文字)の文字列となります。
ビットコインのアルゴリズムでは、マイナーによる最終的なハッシュ結果がブロックチェーンシステムに保存されている目標値より小さい場合にのみ、新しいブロックが形成されます。この情報は、その後、ネットワーク内の他のブロックに送信され、確認されます。ブロックチェーン内の50%以上のブロックが結果を確認した場合、新しいブロックが正式に生成される仕組みです。
結果が不正確な場合、マイナーがシステムの基準を満たすパラメータを発見するまで、動的パラメータ・ナンスはランダムに調整されます。そして、次のブロックをマイニングしたマイナーには、一定量のビットコインが支払われます。
その結果、マイナーが解決しなければならない問題は、システムの要求を満たすナンス・パラメータを決定することとなります。マイナーの数が増えると、システムは自動的にターゲット・バリューを下げ、新しいブロックの生成時間を10分程度に保つように機能します。
マイニングとは、ネットワークメンバーがナンス・パラメータを探し、正当なハッシュ結果を作成して、新しいブロックの生成や新しい取引の検証を確認するプロセス全体を指します。
マイニングには強力なハードウェアが必要
ビットコインをマイニングする前に、その参加が有益であるかどうかを慎重に分析する必要があります。例えば、どのマイニング機器が理想的かを把握するために、ビットコインマイニングハードウェアのレビューを読む必要があるでしょう。ビットコインのマイニングは近年ますます競争が激しくなっており、マイナーはビットコインを採掘するために特別に構成されたコンピュータであるASICを採用する必要があります。
ASICデバイス
ASICデバイスは、ビットコインのマイニングのために特別に設計されたデバイスであり、迅速かつ安定した速度でマイニングする能力を持っています。デバイス自体のコストと必要なソフトウェアに加え、電気代を考慮する必要があります。現状、ビットコインのマイニングでは、そのほとんどが、膨大な量のASICを備えた少数の巨大なサーバーファームで行われています。
一般的なデバイス
堅牢な設定のVGAを搭載したPCも、人気の高いマイニングマシンの一つとなっています。これは、PCにマイニングソフトウェアをインストールし、24時間365日稼働させて、ビットコインやその他の暗号通貨をマイニングする仕組みです。この場合の欠点は以下の通りです:
- 価格が高い
- 消費電力が大きい
- 専用端末に比べ処理速度が遅い
しかし、専用機器ではないため、他の仮想通貨もマイニングできるという利点があります。
ビットコインの初期には、一般的なグラフィックカードがあれば、自宅のパソコンでもマイニングできました。残念ながら、現在の一般的なシステムでは計算能力が不足しています。
マイニングプール
プールの構築は、マイニング技術を向上させてきました。マイニングプールとは、マイナーの個々の計算能力をプールして、問題をより早く解決する可能性を高める方法です。
多くのマイナーは、ビットコインをマイニングするためにマイニングプールを利用しています。マイナーは、ビットコインをマイニングするために、マイニングプールにアカウントを登録することができます。一人でマイニングするのではなく、他の参加者の助けを借りてビットコインを集団でマイニングする仕組みです。マイニングされたビットコインの総額は、参加者の間で共有されます。ただし、ネットワーク上の多数のコンピュータがビットコインのマイニングに参加すると、マイニングはより複雑化し、インセンティブも小さくなります。
クラウドマイニング
ビットコインのクラウドマイニングは、機材の購入や特定のソフトウェアのインストールが不要です。その代わりに、外部のベンダーがマイナーに必要な技術コンポーネントを全て貸し出す仕組みです。
マイニングプログラム
マイナーは、ビットコインのマイニング装置を操作・監視するために、自分のコンピューターにビットコインマイニングアカウントをインストールする必要があります。ビットマイナーなどの多くのマイニングプールは、独自のソフトウェアを持っていますが、そうでないものもあります。
例えば、マイナーがWindows PCを使用している場合にはBFGMinerと50Minerを利用することができます。マイナーが次に行う作業は、マイニングシステムを安全な電源に接続し、稼働させることです。
正しくセットアップされた後、マシンはビットコインのマイニングを開始します。
まとめ
マイナーは、ビットコインをマイニングするために適切な機器を必要とします。ビットコインをマイニングする前に、マイナーは採算が取れるかどうかを判断する必要があります。近年、ビットコインのマイニングは競争が激しくなっているため、マイナーはASICマイニング機器、つまりビットコインをマイニングするために特別に設定されたコンピュータを使用しなければならなくなりました。マイナーは、必要なハードウェアとソフトウェアをインストールした後、マイニングを開始することができます。