新規ブロックの生成と承認
マイナーがビットコインからマイニング報酬を得る仕組みがマイニングです。
マイニングは10分ごとに行われ、これに参加したマイナーの中からPoW(Proof of Work)と呼ばれる一種のくじ引きで当たりを引いたノードにマイニング報酬が発行されます。
それと同時に世界中で行われた複数の取引データブロックとして台帳に書き込まれます。
生成と承認の流れ
処理の流れは下記のようになります。
- 利用者が送金処理を行う。
- 10分経過後、複数の送金履歴からいくつかの取引データをマイナーが選びます。
- 取引データのハッシュ値を作成します。
- 前のブロック・ヘッダのハッシュ値と3で作成した取引データのハッシュ値にノンスと呼ばれるビットを組み合わせ、ハッシュ関数にかけることでハッシュ値を作成します。
- ハッシュの先頭部に決められた数のゼロ並びが現れるまで4を繰り返します。
- 2で選択した取引データに自分あてのマイニング報酬と取引データに含まれる手数料を加え、自身の台帳にブロック・ヘッダと取引データからなるブロック情報を書き込みます。
- 他ノードに対し、選択した取引データと発見したノンスをブロードキャストします。
- 受信したノードは7の情報よりハッシュ値をとることでゼロ並びが出現することを確認し、正しいノンスであると判定すると、ブロックを生成し自身の台帳に追加します。
以上です。