基本的に、ビットコインとそれをベースにしたコインでのマイニングでは、ブロックヘッダーに以下の情報を入れる。
・バージョン
・前のブロックのハッシュ
・マークルルートハッシュ(全TXのハッシュ)
・タイムスタンプ(時刻)
・Bits(難易度を示す値)
・Nonce
この中で、基本的に勝手に動かせるのはタイムスタンプとNonceのみであるが、Nonceは2^32通りしかなく、1秒間に約40億通りしか作れないことになってしまう。
そのため、実はマークルルートハッシュを変えてしまう方法がある。それがExtraNonceである。 #MSTL
Nonceと、Nonceを使い切ったら3
当然、マイニングに関わる通信規則の、Stratum protocolには、ExtraNonceが定義されており、マイニング機械はサーバーから一定の範囲内のExtranonceを使うように指示される。
https://en.bitcoin.it/wiki/Stratum_mining_protocol#mining.extranonce.subscribe
マイニングサーバーとしては、同じハッシュを生成させても仕方ないので、NonceやExtraNonceがかぶらないように各マイニング機械にNonce,ExtraNonce値を割り振っており、違うNonceを使って成果を提出した場合は、不正な成果として拒否されてしまう。 #MSTL