個々のトランザクションがハッシュ関数によって64桁のハッシュ値に置き換えられているように、
実は、個々のブロックもハッシュ関数によって64桁のハッシュ値に置き換えることができます。
そして、新たにブロックを追加するときは、
「直前のブロックのハッシュ値+今回のブロックに含まれる全取引データ+任意の文字列
(ノンス値)」を同様に64桁のハッシュ値に置き換えた上で、
その最初の16ないし17桁がすべてゼロになるようなノース値を見つけなければいけない
と決まっているのです。
ノンス値はランダムな32ビットの値なので自由に決めることができますが、
ノンス値が1桁でも違えば、生成されるハッシュ値も全く違ったものになります。
つまり、任意のノンス値を片っ端から当てはめて、
しらみつぶしに調べる必要があるのです。
先ほど2つのハッシュ値の例を挙げましたが、たまたま生成されたハッシュ値の
最初の16桁が0になる確率がどれだけ低いか、想像もつきません。
気が遠くなるような回数の試行錯誤が必要なのです。
何億回、何兆回に及ぶ試行錯誤を、わずか10分のうちに行うわけですから、
膨大なマシンパワーと電力が必要です。
しかし、何か意味のある計算をしているわけでもなく、
たまたまハッシュ値の最初の16桁が0になるようなノース値を探しているだけです。
これがマイニングの実際です。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
【いまさら聞けないビットコインとブロックチェーン】68ノンス値を片っ端から試して「鍵」を見つける
Posted in: いまさら聞けないビットコインとブロックチェーン
– Posted on 2020/06/03
コメントを残す