EIP-2612 : Comment ERC-20 Permet des Approbations Sans Frais de Gaz

LeeMaimaiLeeMaimai
/16 oct. 2025
EIP-2612 : Comment ERC-20 Permet des Approbations Sans Frais de Gaz

Points clés

• L'EIP-2612 permet des approbations hors chaîne, éliminant les frais de gaz pour les utilisateurs.

• Une seule signature peut exécuter des actions comme des échanges ou des dépôts en un seul appel sur la chaîne.

• Les approbations EIP-2612 s'intègrent bien avec les solutions de parrainage de gaz sur les L2.

• La sécurité est cruciale : vérifiez toujours le dépensier et limitez les montants d'approbation.

• Permit2 offre une interface standardisée pour les jetons ne prenant pas en charge l'EIP-2612.

Les frais de gaz sont la principale source de friction dans la DeFi. Avant de pouvoir échanger, prêter ou mettre en jeu un jeton ERC-20, vous devez souvent soumettre une transaction d'« approbation » — et payer du gaz — juste pour permettre à la dApp de déplacer vos jetons. L'EIP-2612 change cela. Il introduit « permit », un flux d'approbation basé sur la signature qui déplace l'approbation hors chaîne et permet à un contrat intelligent ou à un relais de sponsoriser le gaz sur la chaîne. Le résultat est une expérience utilisateur plus fluide, moins de transactions et des approbations plus sûres lorsqu'elles sont correctement implémentées.

Cet article explique comment fonctionne l'EIP-2612, pourquoi il est important en 2025, et ce à quoi les utilisateurs et les développeurs doivent faire attention.

Ce qu'est Réellement l'EIP-2612

L'EIP-2612 étend la norme de jeton ERC-20 avec une nouvelle fonction : permit. Au lieu d'appeler approve(spender, amount) sur la chaîne, les utilisateurs signent un message typé hors chaîne qui inclut les paramètres d'approbation et une date limite. Un contrat intelligent soumet ensuite permit sur la chaîne en utilisant cette signature, définissant l'allocation sans que l'utilisateur ne paie de gaz.

  • Bases d'ERC-20 : les approbations et les transferts suivent la norme définie dans la spécification ERC-20.
  • Spécification EIP-2612 : le format de signature, les nonces et la fonction permit sont formalisés dans la proposition EIP-2612.
  • Données typées : les signatures utilisent des données structurées selon l'EIP-712, ce qui rend ce que vous signez lisible par l'homme et lié au domaine.

En bref, l'EIP-2612 permet des « approbations sans frais de gaz » car l'utilisateur signe uniquement hors chaîne ; une dApp, un relais ou un contrat paie pour relayer le permit sur la chaîne.

Pourquoi C'est Important en 2025

  • Moins de clics, moins de transactions : Une signature peut définir une approbation et exécuter immédiatement une action (échange, dépôt, mise en jeu) en un seul appel sur la chaîne.
  • Expérience utilisateur orientée L2 : Avec la prospérité des L2, de nombreux protocoles parrainent le gaz pour intégrer les utilisateurs. Les approbations EIP-2612 s'intègrent parfaitement dans ces modèles. Consultez l'aperçu d'Ethereum des frais de gaz et des modèles de compte pour comprendre la dynamique des coûts.
  • Abstraction de compte et payeurs : Les flux de portefeuille alimentés par l'ERC-4337 permettent aux services de parrainer le gaz ou d'accepter des frais sous forme de jetons plus facilement. L'EIP-2612 complète ces améliorations de l'expérience utilisateur : vous approuvez par signature, et votre transaction peut être sponsorisée.
  • Changements de protocole prospectifs : Les discussions sur l'autorisation native des portefeuilles comme l'EIP-3074 et l'EIP-7702 soulignent une tendance plus large vers les opérations pilotées par signature. Même si celles-ci évoluent, l'EIP-2612 reste un outil pratique, largement déployé pour les approbations aujourd'hui.

Comment Fonctionnent les Approbations Sans Frais de Gaz (Étape par Étape)

  1. Vous initiez une action (par exemple, échanger un jeton) dans une dApp.
  2. La dApp prépare un message typé EIP-712 avec les champs : propriétaire, dépensier, valeur, nonce, date limite et séparateur de domaine du jeton (nom, version, chainId, adresse du contrat).
  3. Vous signez le message avec votre portefeuille, approuvant les paramètres exacts.
  4. La dApp ou le relais soumet permit(owner, spender, value, deadline, v, r, s) sur la chaîne et, dans la même transaction, appelle l'action de la dApp qui utilise l'allocation.
  5. Le contrat du jeton vérifie la signature, contrôle le nonce et la date limite, puis définit l'allocation.

L'idée clé : vous ne payez pas de gaz pour l'approbation. Vous signez seulement.

Permit Natif vs Permit2

Tous les jetons n'implémentent pas l'EIP-2612. Pour résoudre les interfaces fragmentées et améliorer la sécurité, Uniswap a introduit Permit2, un système d'approbation généralisé qui standardise les approbations par signature et la gestion des allocations pour tous les jetons.

Lorsqu'un jeton prend en charge le permit natif, les dApps peuvent l'utiliser directement. Lorsqu'il ne le fait pas, Permit2 fournit une interface cohérente tout en restreignant les allocations au contrat Permit2, améliorant souvent le contrôle et l'expérience utilisateur de révocation.

Considérations de Sécurité Qui Vous Concernent

Sans frais de gaz ne signifie pas sans risque. Les signatures sont puissantes ; traitez-les comme des transactions.

  • Vérifiez le dépensier : Vérifiez toujours quel contrat recevra l'allocation. Les données typées EIP-712 devraient indiquer clairement l'adresse du dépensier. Apprenez comment fonctionnent les données typées dans l'EIP-712.
  • Limitez le montant et définissez une date limite raisonnable : Évitez les approbations illimitées à moins de faire profondément confiance au protocole. Les dates limites réduisent la fenêtre d'attaque.
  • Vérifiez le chainId et le domaine : Les signatures ne sont valides que sur le réseau et le contrat de jeton prévus via le séparateur de domaine. Méfiez-vous des tentatives de rejeu inter-chaînes ou du phishing.
  • Gérez les nonces : L'EIP-2612 utilise des nonces pour empêcher les rejeux. Fiez-vous à des implémentations de jetons réputées, idéalement auditées et utilisant des bibliothèques bien testées comme ERC20Permit d'OpenZeppelin.
  • Révokez les allocations : Examinez et révoquez régulièrement les approbations inutilisées dans l'interface de votre portefeuille ou via le contrat du jeton.
  • Confiance dans les méta-transactions : Si un relais soumet votre permit, assurez-vous de faire confiance au backend de la dApp. Pour les modèles de méta-transactions, voir l'EIP-2771 (Trusted Forwarder).

Les bonnes implémentations aident à atténuer les problèmes, mais la vigilance de l'utilisateur est essentielle. Pour les bonnes pratiques générales, la documentation d'OpenZeppelin est un excellent point de départ : Contrats OpenZeppelin.

Notes pour les Développeurs : Implémentation et Utilisation de Permit

  • Utilisez une implémentation éprouvée : ERC20Permit et draft-EIP712 d'OpenZeppelin réduisent les erreurs et restent alignés avec la spécification. Référence : ERC20Permit.
  • Regroupez l'exécution : Concevez votre dApp pour accepter une signature permit et effectuer l'action dans la même transaction pour une expérience utilisateur en un clic.
  • Prenez en charge les deux flux : Privilégiez le permit natif lorsqu'il est disponible ; rabattez-vous sur Permit2 si le jeton n'en dispose pas. Référence : Uniswap Permit2.
  • Gérez les dates limites et les nonces de manière robuste : Rejetez les signatures expirées et confirmez le nonce attendu avant de soumettre sur la chaîne.
  • Envisagez le parrainage : Combinez l'EIP-2612 avec les payeurs ERC-4337 pour créer des flux véritablement transparents et sponsorisés. Référence : ERC-4337.

Questions Courantes

  • Est-ce « gratuit » ? L'utilisateur ne paie pas de gaz pour l'approbation ; quelqu'un d'autre le fait. La dApp peut toujours facturer des frais via sa logique de contrat intelligent.

  • Que se passe-t-il si un jeton ne prend pas en charge l'EIP-2612 ? Utilisez Permit2, ou rabattez-vous sur un flux d'approbation standard avec une invite claire pour l'utilisateur.

  • Le permit fonctionne-t-il sur plusieurs chaînes ? Non. Les signatures sont étendues via l'EIP-712 à un domaine (contrat de jeton + chainId). Vous devez signer pour le réseau spécifique.

  • Les portefeuilles matériels sont-ils compatibles ? Tout portefeuille qui prend en charge les données typées EIP-712 peut afficher les messages de permit. Les bons portefeuilles affichent clairement le dépensier, le montant et la date limite.

Réflexions Finales

L'EIP-2612 est l'une de ces améliorations petites mais cruciales qui donnent à la DeFi une impression d'instantanéité. En transformant les approbations en signatures, il élimine un obstacle courant à l'expérience utilisateur et s'associe naturellement aux flux modernes sur les L2 et à l'abstraction de compte.

Si vous vous appuyez sur des flux basés sur le permit, choisissez un portefeuille qui affiche les messages EIP-712 de manière transparente et maintient les clés hors ligne. Les portefeuilles matériels OneKey se concentrent sur des aperçus EIP-712 clairs sur l'appareil (dépensier, montant, date limite, chaîne), un firmware open source et une large prise en charge EVM/L2 — utile lorsque vous souhaitez la commodité des approbations sans frais de gaz sans compromettre la sécurité des signatures.

Sécurisez votre parcours crypto avec OneKey

View details for Boutique OneKeyBoutique OneKey

Boutique OneKey

Le portefeuille matériel le plus avancé au monde.

View details for Télécharger l'applicationTélécharger l'application

Télécharger l'application

Alertes contre les arnaques. Toutes les pièces supportées.

View details for OneKey SifuOneKey Sifu

OneKey Sifu

Clarté Crypto—À un appel de distance.

Continuer à lire