Account abstraction : ERC-4337 et EIP-7702

EOA ou smart account, UserOperations, bundlers, paymasters et EIP-7702 : comprendre l'account abstraction sur Ethereum et les nouveaux risques de délégation.

Avancé · Avancé · 9 min de lecture · Publié le

L’essentiel

EOA et smart accounts : le point de départ

Sur Ethereum, il existe historiquement deux types de comptes.

Un EOA (Externally Owned Account, compte détenu en externe) est le compte que crée un wallet classique à partir d'une seed phrase. Il est contrôlé par une seule clé privée. Ses règles sont fixées par le protocole : une signature valide suffit à tout faire, les frais se paient obligatoirement en ETH, et chaque action nécessite une transaction séparée. Si la clé est perdue ou volée, il n'existe aucun recours.

Un compte de contrat (ou smart account) est un smart contract qui détient des fonds. Son comportement est défini par son code : il peut exiger plusieurs signatures (c'est le principe d'un multisig), limiter les montants dépensés par jour, autoriser une récupération par des proches, ou accepter d'autres types de signatures.

L'account abstraction consiste à rendre ces possibilités accessibles comme compte principal d'un utilisateur, en « abstrayant » la validation : ce n'est plus le protocole qui impose la règle « une clé, une signature ECDSA », c'est le code du compte qui décide ce qu'est une opération valide.

EOASmart account
ContrôleUne clé privéeLogique programmable
GasEn ETH, payé par le titulairePeut être sponsorisé ou payé en token
RécupérationSeed phrase uniquementPossible via gardiens ou autres règles

ERC-4337 : l'account abstraction sans changer le protocole

ERC-4337, standard au statut final, réalise l'account abstraction sans modifier la couche de consensus d'Ethereum. Il s'appuie sur une infrastructure construite au-dessus du protocole.

Les UserOperations

Au lieu d'envoyer une transaction classique, l'utilisateur d'un smart account signe une UserOperation : une « pseudo-transaction » qui contient notamment l'adresse du compte, un nonce (compteur anti-rejeu), les données de l'appel, les limites et paramètres de gas, la signature, et éventuellement les informations d'un paymaster.

Ces UserOperations ne passent pas par le mempool classique mais par un mempool alternatif qui leur est dédié.

Les bundlers

Les bundlers sont des nœuds spécialisés qui collectent les UserOperations de ce mempool alternatif, les regroupent et les soumettent sous forme d'une seule transaction classique. Selon le standard, n'importe quel nœud peut devenir bundler sans autorisation particulière. Le bundler avance le gas et se fait rembourser par le compte ou par un paymaster.

Le contrat EntryPoint

Toutes ces opérations passent par un contrat unique, l'EntryPoint. Il traite chaque lot en deux phases : une boucle de vérification (le compte valide la signature selon ses propres règles, le paiement des frais est vérifié), puis une boucle d'exécution. Une opération n'est exécutée qu'après une validation réussie.

Les paymasters : le gas sponsorisé

Un paymaster est un contrat qui accepte de payer le gas à la place de l'utilisateur. Cela ouvre plusieurs usages :

  • une application qui offre les frais à ses nouveaux utilisateurs ;
  • le paiement des frais dans un token ERC-20 (par exemple un stablecoin) plutôt qu'en ETH ;
  • des transactions subventionnées sous conditions.

Pour vous, cela signifie qu'un nouveau compte peut fonctionner sans avoir d'abord acheté de l'ETH pour le gas.

Les factories

Les smart accounts sont créés par des contrats factory qui utilisent une méthode de déploiement déterministe. L'adresse du compte peut donc être connue avant même son déploiement, qui intervient lors de la première opération.

EIP-7702 : donner des super-pouvoirs à un EOA

ERC-4337 a une limite : il faut créer un nouveau compte, donc une nouvelle adresse, et y transférer ses fonds. Or la grande majorité des utilisateurs possèdent déjà des EOA.

EIP-7702 (« Set Code for EOAs ») répond à ce problème. Intégré à la mise à jour Pectra, activée sur le mainnet Ethereum le 7 mai 2025, il introduit un nouveau type de transaction (0x04) contenant une liste d'autorisations.

Comment fonctionne la délégation

Avec une autorisation signée, le titulaire d'un EOA indique l'adresse d'un contrat. Le protocole écrit alors dans le compte un indicateur de délégation : chaque fois que du code doit s'exécuter pour ce compte, c'est le code du contrat désigné qui est utilisé. Votre adresse reste la même, vos fonds ne bougent pas, mais votre compte se comporte désormais comme un smart account.

Quelques points techniques importants :

  • La clé privée garde le contrôle : elle peut toujours signer des transactions et changer ou retirer la délégation.
  • La délégation persiste jusqu'à ce qu'elle soit modifiée par une nouvelle autorisation. Ce n'est pas une permission ponctuelle.
  • Le champ chain_id : une autorisation peut être limitée à une chaîne précise, ou, avec la valeur 0, être valable sur toutes les chaînes compatibles.

Selon ethereum.org, EIP-7702 permet notamment le regroupement de transactions (par exemple approval et swap en une seule étape), les transactions sans gas via un sponsor, et des schémas de récupération alternatifs. EIP-7702 est compatible avec l'infrastructure ERC-4337 : un EOA délégué peut utiliser bundlers et paymasters.

Passkeys et récupération sociale

Les passkeys

Une passkey est un identifiant cryptographique stocké dans une puce sécurisée de votre téléphone ou ordinateur, déverrouillé par empreinte digitale, reconnaissance faciale ou code. Ces puces utilisent en général la courbe cryptographique secp256r1 (aussi appelée P-256), différente de celle utilisée par les clés Ethereum classiques.

Un smart account peut accepter ce type de signature, puisque sa logique de validation est programmable. La mise à jour Fusaka, activée le 3 décembre 2025, a ajouté à Ethereum un vérificateur natif de signatures secp256r1 (EIP-7951). Selon ethereum.org, il facilite la signature depuis les puces sécurisées des appareils (Secure Enclave, Android Keystore, clés FIDO2/WebAuthn). Résultat : un wallet peut fonctionner sans seed phrase à recopier, avec la sécurité matérielle du téléphone.

La contrepartie : la sécurité de votre compte dépend alors de celle de votre appareil et du service de synchronisation des passkeys éventuellement utilisé.

La récupération sociale

La récupération sociale permet de désigner des « gardiens » (proches, autres appareils, service tiers) qui peuvent, ensemble et selon un seuil défini (par exemple 2 sur 3), remplacer la clé de contrôle du compte si vous la perdez. Souvent, un délai d'attente est prévu pour vous laisser le temps de bloquer une tentative frauduleuse. Le choix des gardiens est crucial : s'ils se concertent ou sont compromis, ils peuvent prendre le contrôle.

Le revers : le phishing par délégation

Avec EIP-7702, une seule signature d'autorisation peut remettre le contrôle total de votre compte à un contrat. Si ce contrat est malveillant, il peut vider tous les actifs de l'adresse : ETH, tokens, NFT. C'est plus grave qu'un approval classique, limité à un token.

Le texte d'EIP-7702 est explicite : les applications ne doivent pas s'attendre à pouvoir demander à l'utilisateur de signer une autorisation, et les wallets ne devraient pas offrir d'interface permettant de signer des délégations arbitraires, car le code délégué a un accès sans restriction au compte. En pratique, les wallets sérieux ne délèguent qu'à des contrats qu'ils ont eux-mêmes sélectionnés.

Les attaquants se sont rapidement emparés de cette fonctionnalité. Selon une analyse de Wintermute rapportée par CoinDesk en juin 2025, plus de 97 % des délégations EIP-7702 observées à l'époque pointaient vers un même code de type « sweeper » (surnommé « CrimeEnjoyor »), installé sur des adresses dont les clés privées avaient déjà fuité, afin de siphonner automatiquement tout ETH qui y arriverait.

Exemple concret

Vous utilisez un wallet qui propose d'activer un « compte intelligent » sur votre adresse existante.

  1. Le wallet vous présente une demande de délégation vers son propre contrat de smart account, identifié et audité selon ses indications.
  2. Vous vérifiez que la demande vient bien de l'interface du wallet et non d'un site tiers.
  3. Une fois la délégation active, vous pouvez effectuer un approval et un swap en une seule confirmation, et une application peut sponsoriser vos frais via un paymaster.
  4. Plus tard, un site inconnu affiche une demande de « mise à niveau du compte » ou « d'activation de fonctionnalités ». Vous refusez : aucune application tierce légitime n'a besoin de vous faire signer une délégation.

Checklist de sécurité

  • Ne signez une délégation EIP-7702 que depuis l'interface officielle de votre wallet.
  • Méfiez-vous de toute demande de délégation provenant d'un site web ou d'une dApp.
  • Vérifiez sur un explorateur de blocs si votre adresse porte une délégation, et vers quel contrat.
  • En cas de doute, retirez ou remplacez la délégation depuis votre wallet.
  • Gardez vos fonds importants sur un compte dédié, idéalement protégé par un hardware wallet.
  • Pour une récupération sociale, choisissez des gardiens indépendants les uns des autres.

Les erreurs à éviter

  • Croire qu'une signature hors chaîne est sans conséquence : une autorisation EIP-7702 peut remettre le contrôle complet de votre compte.
  • Signer une autorisation avec chain_id à 0 sans le savoir : elle serait valable sur toutes les chaînes compatibles.
  • Réutiliser une adresse compromise : si votre clé privée a fuité, créez un nouveau wallet ; une délégation ne répare pas une clé volée.
  • Penser qu'un paymaster rend tout gratuit : le sponsoring a un coût, souvent répercuté ailleurs, et peut être retiré à tout moment.
  • Négliger la sauvegarde d'un compte à passkey : vérifiez comment récupérer l'accès si vous perdez l'appareil.

Ce guide fournit des informations générales et ne constitue pas un conseil en investissement.

À retenir

  • Un EOA dépend d'une seule clé privée ; un smart account applique une logique programmable.
  • ERC-4337 repose sur des UserOperations, des bundlers, l'EntryPoint et des paymasters, sans changer le protocole.
  • EIP-7702, activé avec Pectra le 7 mai 2025, permet à une adresse existante de déléguer son code à un contrat.
  • Passkeys (facilitées par Fusaka) et récupération sociale réduisent la dépendance à la seed phrase.
  • Une délégation malveillante donne un accès total au compte : ne la signez que depuis votre wallet.

Sources

Comparer les services liés à ce sujet