定義
アカウントナンス(account nonce)とは、アカウントベースの状態モデルを採用するブロックチェーン(blockchain)上のアカウントに関連付けられた数値です。そのアカウントから発行され、正常に処理・確定されたトランザクションの件数を表し、通常はトランザクションが1件確定するごとに1ずつ増加します。厳密な順序で増加していくため、ナンスは時間の経過とともにアカウントのトランザクションの順序を追跡するための指標として機能します。
アカウントモデルを採用するネットワークでは、ナンスは特定のアカウントからの各トランザクションを一意に識別し、その順序を強制するために使われます。各新規トランザクションに対して、次に期待されるナンス値を参照することを必須にすることで、プロトコルは重複したトランザクションや順序の乱れたトランザクションを容易に検出し、拒否できます。これにより、アカウントナンスはアカウントレベルで一貫した状態とトランザクションの完全性を維持するうえで中核的な役割を果たします。
背景と使われ方
アカウントモデルにおいて、アカウントナンスは軽量なリプレイ防止およびシーケンス管理の仕組みとして機能します。ノードはアカウントの状態に保存されている現在のナンス値を参照し、受信したトランザクションがそのアカウントのトランザクション履歴と照らして妥当かどうかを判断します。トランザクションに含まれるナンスが期待される値と一致しない場合、そのトランザクションは無効として扱われるか、正しい順序に達するまで保留されます。
アカウントナンスは、あるアカウントがこれまでに発行し確定させたトランザクションの件数を、シンプルな数値として示す役割も果たします。そのため、アカウントベースのブロックチェーン(blockchain)において、アカウントのアクティビティ水準や過去の行動パターンを分析する際の有用な指標となります。プロトコルごとに実装の細部は異なり得ますが、アカウントナンスがトランザクションカウンターおよび順序参照として機能するという根本的な役割は、アカウントモデルに依存するシステムにおいて一貫しています。