BlockPulseNews
Définition

EIP-712 : définition

Aussi appelé : typed data

L'EIP-712 est un standard Ethereum qui définit comment signer des données structurées et typées, afin que le portefeuille affiche en clair ce que l'utilisateur approuve au lieu d'une suite hexadécimale incompréhensible.

Thème : Ethereum et smart contracts

EIP-712 : comment ça marche ?

Beaucoup d'actions dans l'écosystème Ethereum reposent sur des signatures hors chaîne : ordres sur une place de marché, votes de gouvernance, autorisations de dépense. Sans standard, l'utilisateur signait souvent un simple hachage, impossible à interpréter. L'EIP-712 impose de décrire le message sous forme de champs nommés et typés, par exemple un destinataire de type adresse et un montant de type entier. Le portefeuille peut alors présenter chaque champ lisiblement avant la signature.

Le standard ajoute un séparateur de domaine (domain separator), qui intègre notamment le nom de l'application, sa version, l'identifiant de la chaîne et l'adresse du contrat vérificateur. Une signature produite pour une application sur une chaîne donnée ne peut donc pas être rejouée sur un autre contrat ou une autre chaîne. Côté contrat, la vérification consiste à recalculer le même hachage structuré et à retrouver l'adresse du signataire. L'EIP-712 sert de fondation à d'autres standards, comme le permit de l'EIP-2612, et à de nombreux protocoles qui proposent des actions sans frais grâce à des signatures relayées.

Un exemple concret

Imaginons que Chloé mette en vente un NFT sur une place de marché. Plutôt que de payer une transaction, elle signe un ordre EIP-712. Son portefeuille affiche clairement l'identifiant du NFT, le prix demandé et la date d'expiration. L'ordre n'est exécuté on-chain qu'au moment où un acheteur l'accepte.

Les risques à connaître

La lisibilité ne protège pas si l'utilisateur ne lit pas : des sites malveillants font signer des messages EIP-712 parfaitement valides qui accordent des autorisations ou mettent des actifs en vente à prix dérisoire. Le domaine et les montants affichés doivent toujours être vérifiés.

À ne pas confondre avec

  • EIP-2612 : Le permit est une application concrète qui utilise le format EIP-712 pour autoriser des dépenses de jetons.
  • SIWE : Sign-In with Ethereum sert à s'authentifier sur un site avec un message texte standardisé, pas à signer des données typées destinées à un contrat.

Questions fréquentes sur EIP-712

Pourquoi mon portefeuille me demande-t-il de signer un message et pas une transaction ?

Certaines applications utilisent des signatures EIP-712 pour créer des ordres ou des autorisations sans frais. La signature est gratuite, mais elle peut avoir des conséquences réelles une fois utilisée par un contrat.

Une signature EIP-712 peut-elle être réutilisée ailleurs ?

Le séparateur de domaine lie la signature à une application, un contrat et une chaîne précis, ce qui empêche normalement sa réutilisation dans un autre contexte.

Termes liés

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 E

← Tout le lexique crypto de A à Z