用語集 · マイニング

Nonce

CloudMineCryptoチームより更新日 「一度だけ使う数」とも呼ばれる

定義

ナンスは、Bitcoinのブロックヘッダーにある32ビットの数値です。マイナーは有効なブロックを見つけるため、試行ごとにこの数値を変えます。ナンスを変えるたびにハッシュはまったく別のものになるため、ナンスを試すことがマイナーの推測方法です。

ビットコインマイニング用語集の一部です。88個の用語を平易な言葉で解説しています。

ナンスの全候補

4,294,967,296

候補の数:0から4,294,967,295まで(32ビット)

Bitcoinネットワーク全体では、ナンスの全候補を1秒あたり約189十億回試しています。ネットワークのハッシュレートに基づくライブ推定値です。1時間ごとに更新されます。

マイナーはナンスをどう使う?

マイナーはブロックヘッダーを作り、ナンスを0に設定してハッシュを計算します。ハッシュがターゲットを上回っていたら、ナンスを1にして再試行し、次は2というように続けます。ナンスは「一度だけ使う数」を短くした言葉です。

どのナンスが有利ということはありません。ハッシュは予測できないため、どの試行にも当たる確率は同じで、とてもわずかです。だからマイニングは公平です。1秒あたりの試行回数が多いほどチャンスは増えますが、それ以外に有利になるものはありません。

ナンスを使い切るとどうなる?

4バイトで表せる値は4,294,967,296通りです。最新のマシンなら、そのすべてを千分の1秒もかからずに試せます。そこでマイナーはブロック内の別の情報を変えて、ナンスを最初から試し直します。

マイナーの処理

  1. 01

    すべてのナンスを試す

    0、1、2から4,294,967,295まで。これが4バイトで表せるすべての値です。

  2. 02

    すぐに底をつく

    100 TH/sのマシン1台なら、すべてを約43マイクロ秒で試せます。

  3. 03

    extra nonceを変える

    マイナーは自分の報酬トランザクション(coinbase)にある余白のフィールドを編集します。

  4. 04

    新しいマークルルート

    そのトランザクションが変わったため、merkle rootも変わり、nonceを変えるたびに新しいハッシュが得られます。

その後、ステップ1に戻ります。マイナーはタイムスタンプを少し調整することもでき、これもヘッダーを変化させます。

一般的には、コインベース取引にある予備フィールドのエクストラナンスを使います。これを変更するとマークルルートが変わり、試せるブロックヘッダーが一新されます。マイナーはタイムスタンプを少し変えることもできます。また、現在の多くのマシンでは、バージョンフィールドの数ビットを変えることもできます。

出典

  1. Nonce · Bitcoin Wiki
  2. ブロックのハッシュアルゴリズム · Bitcoin Wiki
  3. ブロックチェーンの参考情報:ヘッダー、マークルツリー、ターゲット · Bitcoin開発者ドキュメント

このページのライブ数値はCloudMineCrypto APIと公開されているチェーンデータをもとにしており、定期的に更新されます。各数値の表示箇所にはその旨を記載しています。教育目的のみであり、金融アドバイスではありません。

マイニングの仕組みを見てみましょう。

Claim a free 8-hour mining plan in the CloudMineCrypto app and watch your estimated BTC tick up from live network data. Withdraw to your own wallet, Lightning included. Rewards are estimates.