ノンス
ブロックチェーンのナンスとは何ですか?
Nonce (文字通りの意味 - ある場合のみ) は、イーサリアム ブロックチェーンやその他のスマート コントラクト プラットフォーム上でトランザクションを順序付けし、分離する方法です。一般に、暗号化において通信を保護するための重複しない番号として使用されます。
イーサリアムウォレットは、相互に大きな遅延なく、アカウントから複数のトランザクションをメインネットにブロードキャストできます。したがって、どのトランザクションが最初に処理されるかを決定できるメカニズムが必要です。そうしないと、口座残高の転送に関連するトランザクションの競合によって誤動作が発生する可能性があります。
たとえば、ブロードキャストされたトランザクションのノンス値が 2 の場合、そのトランザクションはノンス値が 3 のトランザクションより先に処理される必要があります。イーサリアムのメインネットは、より高いノンス値のトランザクションを含めることができないように設計されています。前のブロックがクリアされてオンチェーンに決済されるまで、どのブロックでも。
ただし、このプロセスには問題が発生する可能性があります。これは、より低い nonce 値を持つトランザクションが (ガス量により) スタックすると、その後に受信したより高い nonce 値を持つすべてのトランザクションもスタックするためです。
イーサリアムネットワーク上でのトランザクションのキャンセルやトランザクションの高速化のプロセスでも、基礎として「ノンス」が使用されます。たとえば、ユーザーがトランザクションをキャンセルしたい場合、キャンセルしようとしているトランザクションと同じナンス番号を使用してトランザクションを自分のウォレットに送信できます。ただし、ノンスが同じであれば、どのトランザクションもランダムに承認される可能性があるため、常に保証されるわけではありません。
トランザクションがスタックして承認されない場合、ユーザーはガス価格を引き上げ、同じノンス番号で同じトランザクションを送信できます。手数料が引き上げられている間、ナンス番号は同じであるため、このトランザクションは検証される可能性が高くなります。一部のウォレットでは、これらの機能の両方が自動化されています。