BlockPulseNews
Définition

Nonce : définition

Le nonce est un nombre à usage unique. Sur Ethereum, c'est le compteur de transactions d'un compte, qui fixe leur ordre et empêche de rejouer une transaction. En minage par preuve de travail, c'est aussi le nombre que les mineurs font varier pour trouver un bloc valide.

Thème : Ethereum et smart contracts

Nonce : comment ça marche ?

Le mot vient de l'anglais number used once. Sur une blockchain à comptes comme Ethereum, chaque compte possède un nonce qui commence à zéro et augmente d'une unité à chaque transaction envoyée. Chaque transaction indique le nonce qu'elle utilise : le réseau n'accepte que la valeur attendue. Une même transaction signée ne peut donc pas être soumise deux fois, et les transactions d'un compte sont exécutées dans l'ordre de leurs nonces. Pour un contrat, le nonce compte les contrats qu'il a créés.

Dans le minage par preuve de travail, comme sur Bitcoin, le nonce a un autre rôle. C'est un champ de l'en-tête du bloc que les mineurs modifient sans cesse pour obtenir un hachage inférieur à la cible de difficulté. Ils testent des milliards de valeurs jusqu'à trouver la bonne. Les deux usages partagent la même idée de nombre utilisé une seule fois, mais répondent à des besoins très différents.

Un exemple concret

Karim a déjà envoyé quatre transactions depuis son compte Ethereum : son nonce est donc à 4. Sa prochaine transaction portera le nonce 4. S'il veut annuler une transaction en attente, il peut envoyer une autre transaction avec le même nonce et des frais plus élevés : le réseau n'en retiendra qu'une seule, celle qui sera incluse dans un bloc.

Les risques à connaître

Une erreur de gestion du nonce peut bloquer les transactions suivantes d'un compte, par exemple si un portefeuille réutilise ou saute une valeur. Envoyer des transactions en parallèle depuis plusieurs outils sur le même compte augmente ce risque. Dans les protocoles cryptographiques, réutiliser un nonce de signature peut même exposer une clé privée.

À ne pas confondre avec

  • Nonce gap : Le nonce gap est un trou dans la suite des nonces d'un compte, qui bloque les transactions suivantes ; c'est un problème lié au nonce, pas un synonyme.
  • Preuve de travail : La preuve de travail est le mécanisme de consensus dans lequel les mineurs font varier un nonce de bloc, distinct du nonce de compte utilisé par Ethereum.

Questions fréquentes sur Nonce

À quoi sert le nonce d'une transaction Ethereum ?

Il numérote les transactions d'un compte pour qu'elles soient exécutées dans l'ordre et pour qu'une transaction déjà exécutée ne puisse pas être rejouée.

Peut-on modifier le nonce dans son portefeuille ?

Certains portefeuilles permettent de le choisir manuellement, ce qui sert surtout à remplacer ou annuler une transaction bloquée. Une mauvaise valeur peut cependant bloquer les transactions suivantes.

Dans le même thème : Ethereum et smart contracts

Tous les termes du thème Ethereum et smart contracts →

À lire

L'actualité : Ethereum et smart contracts

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir avec l'Académie : Ethereum en Profondeur Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en N

← Tout le lexique crypto de A à Z