
L’Account Abstraction (AA) marque une étape décisive dans l’écosystème Ethereum, bouleversant la gestion des comptes et les interactions des utilisateurs avec la blockchain. Ce guide détaille le fonctionnement, les avantages et l’implémentation de l’Account Abstraction, en mettant en lumière l’EIP-4337, la proposition la plus récente qui rend l’AA possible sans modification du protocole Ethereum.
L’Account Abstraction introduit un nouveau paradigme pour la gestion des comptes sur Ethereum. On distingue deux types de comptes : les comptes externes (EOA), contrôlés par des clés privées et des phrases de récupération, et les comptes de contrat (CA), régis par le code des smart contracts et permettant une gestion programmable. L’AA vise à dissocier la provenance des transactions et les signatures, et à faire évoluer les EOA pour qu’ils adoptent les fonctionnalités des CA. Les smart contracts peuvent ainsi prendre le contrôle des EOA, créant des wallets programmables. Ce système plus souple et intuitif élimine de nombreuses limitations des EOA traditionnels, ouvrant la voie à une sécurité renforcée, une autorisation flexible des transactions et une expérience utilisateur optimisée.
L’Account Abstraction est plébiscitée pour sa capacité à simplifier et enrichir la gestion des comptes. Elle apporte une flexibilité accrue aux opérations on-chain, là où les EOA classiques sont limités. Avec l’AA, les utilisateurs bénéficient d’une logique programmable adaptée à de multiples usages. Côté sécurité, l’AA permet la mise en place de multi-signatures, de récupération sociale et d’autres fonctionnalités avancées, réduisant le risque de perte définitive de fonds. Elle résout aussi des difficultés courantes, comme la nécessité de posséder de l’ETH pour les frais de gas ou l’absence de transactions groupées, facilitant l’accès à Ethereum pour un public élargi.
L’évolution de l’Account Abstraction repose sur plusieurs EIP majeurs. L’EIP-2938 visait à rendre les comptes de contrat capables de payer les frais et d’exécuter des transactions. L’EIP-3074 proposait deux OpCodes, AUTH et AUTHCALL, pour permettre aux EOA de déléguer leurs actions à des contrats. Ces approches nécessitaient des changements profonds au niveau du consensus, comportant des risques et des défis de mise en œuvre, ce qui a conduit à leur suspension. L’EIP-4337 constitue un tournant, permettant l’AA sans modification du protocole, pour une approche plus pragmatique et sécurisée.
Parmi les solutions existantes, l’EIP-4337 est privilégiée pour son approche hors couche de consensus. L’EIP-3074 requiert deux nouveaux opcodes et un hard fork, imposant des changements complexes au protocole. L’EIP-4337, elle, réalise l’AA via une infrastructure additionnelle, limitant les risques et facilitant les évolutions. Elle introduit une complexité supplémentaire (bundlers, paymasters), mais ces éléments restent indépendants du protocole central et peuvent être mis à jour sans consensus réseau.
L’EIP-4337 s’appuie sur plusieurs composants clés : les UserOperation, pseudo-transactions qui contiennent toutes les informations nécessaires à l’exécution d’une transaction ; le Entry point, smart contract coordonnant la validation et l’exécution des UserOperations ; les bundlers, qui collectent et regroupent les UserOperations pour les inclure dans des blocs ; les wallet contracts, smart contracts gérant la validation et l’exécution ; les wallet factories, qui déploient les wallets à la demande ; les aggregators, contrats optionnels validant les signatures agrégées pour optimiser les coûts ; et les paymasters, qui permettent des options de paiement de gas flexibles, sponsorisées ou en tokens ERC-20.
Le modèle transactionnel de l’EIP-4337 diffère nettement des transactions Ethereum classiques. Le processus se décompose en plusieurs étapes, chacune essentielle au cycle de vie d’une transaction.
L’utilisateur crée d’abord un objet UserOperation contenant toutes les données nécessaires (adresse, paramètres de gas, informations spécifiques). Le champ signature est validé par l’implémentation du compte, non par le protocole. La UserOperation est ensuite envoyée dans un mempool dédié, séparé des transactions classiques, permettant une gestion spécialisée.
Les UserOperations du mempool sont traitées par les bundlers, qui les regroupent en transactions groupées. Les block builders intègrent directement ces transactions dans les blocs. Les autres bundlers collaborent avec des infrastructures telles que mev-boost ou des APIs expérimentales. Ce regroupement optimise les coûts et le débit des transactions.
Les UserOperations groupées sont transmises au smart contract Entry point, qui valide chaque opération via la fonction validateUserOp (vérification de signature et critères propres au wallet). Les bundlers n’acceptent que les Entry point fiables, assurant la sécurité du système.
La dernière étape consiste en l’exécution de la UserOperation par le wallet sous forme de smart contract via la fonction ExecuteUserOp, puis handleOps du EntryPoint. La transaction est alors incluse dans un bloc, clôturant le processus.
Ce modèle en plusieurs étapes garantit la validation et l’exécution sécurisée et flexible des opérations, tout en exploitant les capacités avancées de l’Account Abstraction.
Les wallets EOA, traditionnels sur Ethereum, sont économiques à créer et utiliser mais restent limités, imposant la gestion directe des clés et sans mécanisme de récupération natif. Leur sécurité dépend entièrement de la protection des clés privées. Les wallets MPC répartissent la gestion des clés entre plusieurs parties, supprimant les points de défaillance uniques, mais restent basés sur les signatures ECDSA et présentent une compatibilité limitée. Les wallets AA, fondés sur des smart contracts, offrent le paiement du gas en multi-devises, les transactions groupées, plusieurs modes de signature et des fonctions de récupération intégrées. Ils éliminent la gestion classique des clés privées et renforcent la sécurité, mais exigent des audits complets et une compatibilité en amélioration constante.
L’EIP-3074 est restée en suspens car elle nécessitait des modifications au consensus (deux nouveaux OpCodes), entraînant des risques et une coordination complexe. Elle offrait la possibilité de déléguer le contrôle d’un EOA à un contrat, facilitant des schémas transactionnels innovants et la rétrocompatibilité, mais restait limitée aux signatures ECDSA, ce qui restreint la flexibilité et la sécurité apportées par l’AA.
L’EIP-3074 permet la délégation de contrôle d’un EOA à un contrat, autorisant le trading par lots et le paiement flexible du gas sans déploiement de contrat. Les contrats invoker peuvent accepter des tokens autres que l’ETH, et tout EOA peut accéder à des fonctions de wallet programmable sans migration complexe.
Elle impose des modifications du consensus, exposant le réseau à des risques et à la nécessité de coordination. Elle reste limitée aux signatures ECDSA, empêchant l’adoption de méthodes plus avancées et économiques pour la sécurité et le gas.
L’EIP-5003 prolonge l’EIP-3074 avec l’OpCode AUTHUSURP, permettant la migration d’un EOA vers un compte de contrat via le déploiement de code. Cette transition ouvre l’accès aux méthodes de signature avancées et prépare le pont vers l’Account Abstraction, la proposition restant en développement.
L’Account Abstraction, portée par l’EIP-4337, révolutionne la gestion des comptes sur Ethereum. Elle dissocie la source des transactions et les signatures, autorise la programmation logique des comptes, propose des paiements de gas flexibles, la gestion par lots des transactions et des fonctions de récupération intégrées. L’EIP-4337, sans modification du consensus, offre une solution pragmatique, évolutive et sécurisée. Elle facilite l’accès à Ethereum pour les nouveaux utilisateurs et enrichit les possibilités des utilisateurs avancés. L’adoption des wallets AA s’annonce comme un jalon majeur vers l’accessibilité et la démocratisation d’Ethereum.
L’EIP-4337 est une norme Ethereum permettant l’Account Abstraction, les wallets programmables, les connexions sociales et les transactions sans frais de gas. Elle s’appuie sur les UserOperations, Bundlers, EntryPoint et Contract Accounts pour améliorer l’expérience utilisateur.
L’EIP-4337 est une boîte à outils pour créer des fonctionnalités d’Account Abstraction, l’EIP-7702 permet l’utilisation de ces fonctionnalités sur les comptes externes existants.
L’ERC-4337 est une norme Ethereum pour l’Account Abstraction, permettant aux smart contracts de gérer les comptes et transactions sans recourir aux clés wallet classiques, renforçant sécurité et simplicité d’utilisation.
Non, EIP et ERC sont distincts. L’EIP (Ethereum Improvement Proposal) porte sur les modifications du protocole, tandis que l’ERC (Ethereum Request for Comment) définit les standards des tokens et des smart contracts.







