ブロックのマイニング
メニューを表示するにはスワイプしてください
ビットコインやその他の暗号通貨におけるマイニングプロセスは、2つの主要な目的を持つ重要な仕組み。
- 新しいトランザクションをブロックチェーンに追加し、それらを保護および検証すること;
- 新しいビットコインを流通させること。
以下の要約では、これまでに扱った主要なポイントを再確認し、マイニングプロセスの仕組みについてさらに詳しく説明。
1. トランザクションの検証
マイナーは、ビットコインネットワークのメモリプールからトランザクションを収集することからプロセスを開始。これらはユーザーによって行われ、確認されてブロックチェーンに追加されるのを待っているトランザクション。マイナーは、トランザクション手数料などの要素に基づいて、次のブロックに含めるトランザクションを選択。手数料が高いトランザクションが優先される傾向。マイナーがトランザクションを選択した後、それらをブロックにまとめる。
次の図はこの概念を分かりやすく示すもの。
まず、ユーザー(仮に'n'人いるとする)がトランザクションを送信し、それぞれが処理のために支払う手数料を添付。これらのトランザクションはメモリプール(メンプールとも呼ばれる)に送られ、これはマイナーによって確認される前のトランザクションの一時保管場所。メンプール内のトランザクションはTx1からTxmとして表され、'm'はプール内で待機している任意の数のトランザクションを示す。最後に、マイナーがメモリプールから手数料に基づいて新しいブロックに含めるトランザクションを選択。
2. プルーフ・オブ・ワークの解決
マイニングプロセスの中心は、**プルーフ・オブ・ワーク(PoW)**と呼ばれる暗号学的パズルの解決にあります。このパズルは、解くのが非常に困難である一方、ネットワークによる検証は容易であるように設計されています。特定のターゲット値未満となるハッシュを生成することが求められます。
ノンスは、マイナーがパズルを解くために各試行ごとに変更する数値です。ノンスを変更し、ブロックのデータをハッシュ化することで、マイナーは毎回異なるハッシュ値を生成します。
マイニングに参加するには、**グラフィックス処理装置(GPU)または特定用途向け集積回路(ASIC)**が必要です。これらのデバイスは、マイニングに必要な暗号学的パズルを効率的に解くために設計されています。マイニング用ハードウェアの価格は、その効率や計算能力によって数百ドルから数万ドルまで幅があります。
目標は、ネットワークによって設定されたターゲットハッシュ以下となるハッシュを生成するノンスを見つけることです。有効なハッシュを生成するノンスを最初に見つけたマイナーが、新しいブロックをブロックチェーンに追加する権利を獲得します。
3. ブロックの承認と報酬
マイナーがパズルを解くことに成功すると、新しいブロックをネットワーク全体にブロードキャストして検証を受けます。ネットワーク内の他のノードは、トランザクションの正当性やハッシュの正確性など、ブロックの有効性を確認します。ブロックが有効であれば、ブロックチェーンに追加され、マイナーには新規発行されたビットコイン(ブロック報酬)と、ブロックに含まれるトランザクションからの取引手数料が与えられます。
上記のように、このプロセスはシンプルです。ブロックがマイニングされ、伝播され、検証されると、直前のブロックの直後にブロックチェーンに追加されます。
ジェネシスブロック(Genesis block)は、ブロック0とも呼ばれ、ブロックチェーン内で最初のブロックです。図中の縦に並んだ3つの点は、その間にいくつかのブロックが存在することを示しています。
難易度調整
ビットコインネットワークは、約2週間ごと、または2,016ブロックごとにマイニングパズルの難易度を自動的に調整します。この調整により、ネットワーク上の総マイニングパワーに関係なく、新しいブロックが見つかる平均時間が約10分に保たれます。より多くのマイナーがネットワークに参加し、ハッシュレートが増加すると、難易度も上昇します。逆に、マイナーがネットワークを離れハッシュレートが減少すると、難易度も下がります。
ハッシュレート(ハッシュパワーとも呼ばれる)は、ブロックチェーン上でマイニングやトランザクション処理に使用される計算能力の指標です。これは、一定時間内に実行されるハッシュ演算の回数を表し、通常は**ハッシュ/秒(h/s)**で表されます。
1. ビットコインのブロックマイニングにおけるナンスの役割は何ですか?
2. マイナーによって優先されるトランザクションはどれですか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください