ブロックチェーン取引におけるnonceとは
nonceは、Ethereumのようなアカウントベースのブロックチェーンで各トランザクションを順序付けし識別するアカウントごとのカウンターであり、ギャップがあると後続のものが停滞します。

このページの内容
すべてのブロックチェーンがこのように機能するわけではありませんが、アカウントベースのネットワークでは、この番号は支払い自体の一部です。ほとんどのウォレットが自動で設定するため、支払いがスタックするまで目に触れることはありません。
nonceはどのようにトランザクションを順序付けるのか?
各アドレスは独自のカウントを持ち、各支払いが確認されるたびに番号が1つ増えます。トランザクションは、そのnonceがそのアドレスの次に未使用のものである場合にのみ確認できます。ノードは将来のnonceを保持することがありますが、欠落しているものより先に確認することはありません。
- 将来のnonceはキューで待機します。
- ギャップは後続のすべてのトランザクションを妨げます。
- 欠けているスロットを埋めると、待機中の取引が解放されます。
ナンスが間違っているとどうなりますか?
低すぎるnonceは、アカウントがすでに埋めたスロットを指すため、ノードは支払いを拒否します。高すぎるnonceは通常、以前の番号が確認されるまでキューに入れられます。支払いは、カウントがそれに追いついたときにのみ決済されます。
スタックしたトランザクションを置き換えるには?
同じnonceを再利用する新しいトランザクションを送信すると、ネットワークは2つのうち1つだけを保持します。Ethereumでは、置き換えにはより高いガス価格が必要で、多くの場合少なくとも10パーセント高く、単に総手数料が大きければよいわけではありません。
置き換えが機能するのは、元の取引がペンディング中の間だけです。一度確認されると、そのナンスは使用済みになります。
トランザクションnonceとマイニングnonce
2つの数字は名前を共有するだけで、それ以外に共通点はありません。トランザクションnonceは1つのアカウントの支払いを追跡し、マイニングnonceはハッシュがターゲットを満たすまでマイナーがブロックヘッダー内で変更する値です。
よくある質問
確認できるのは1件だけです。アカウントのカウントは1ステップしか進まないためです。もう1件は2件目の支払いとして扱われず、破棄されます。
すでにブロードキャストしたトランザクションではできません。ウォレットは同じnonceを使った新しいトランザクションで置き換えるか、自分のアドレスへのゼロ値送金でキャンセルできます。
いいえ。Ethereumなどのアカウントベースのチェーンはこれを使用しますが、Bitcoinは未使用のアウトプットを追跡します。
ウォレットは通常それを読み取り、確認前に表示します。ブロックエクスプローラーもそのアドレスのトランザクション数を表示します。






