
L'abstraction de compte (account abstraction) permet d'utiliser un portefeuille utilisateur (crypto-wallet) de la même façon qu'un smart contract. C'est une technique qui permet d'améliorer l'expérience utilisateur et la sécurité dans la gestion d'un compte blockchain. Nous prendrons en exemple Ethereum pour expliquer ce concept.
Les deux types de comptes sur une plateforme de smart contracts
Sur une plateforme blockchain telle qu'Ethereum, il existe deux types de comptes :
- Les Externally Owned Accounts (comptes utilisateurs) : il s'agit des compte classiques, gérés grâce à une clé privée. L'utilisateur doit être en sa possession pour effectuer des transactions.
- Les Contract Accounts (comptes de contrat) : ces comptes correspondent aux smart contracts déployés sur la blockchain. Ils ne sont pas gérés par une clé privée mais par des lignes de code. On appelle les fonctions du contrat via des transactions, et il effectue en retour les opérations et les transactions correspondantes, en fonction de sa logique interne.

Les comptes utilisateurs classiques limitent l'expérience utilisateur :
- Accéder au compte en cas de perte ou de vol de la clé privée est impossible ;
- Il n'est pas possible de programmer la gestion du compte ou des transactions complexes ;
- Le fonctionnement du compte utilisateur est entièrement dicté par la logique du protocole.
En d'autres termes, les comptes utilisateurs classiques sur une blockchain telle qu'Ethereum sont peu pratiques, peu flexibles et peu user-friendly.
Les bénéfices de l'account abstraction
L'abstraction de compte permet de gérer un compte utilisateur de la même façon qu'un compte de contrat. Cela présente plusieurs avantages :
- Abstraction des signatures : afin de signer une transaction, il est possible d'utiliser d'autres procédés que ceux qui sont imposés par le protocole, comme une authentification biométrique sur un smartphone. On peut aussi choisir un schéma de signature arbitraire. Cela permet d'améliorer à la fois la confidentialité du compte et sa facilité d'utilisation, en fonction de la méthode choisie.
- Paiement des frais dans un jeton autre que la cryptomonnaie native du protocole ;
- Récupération du compte en cas de décès ou de perte de la clé privée ;
- Création de transactions complexes et exécution de transactions simultanées.
L'abstraction de compte permet donc d'améliorer considérablement l'expérience utilisateur, la sécurité et les fonctionnalités d'un wallet classique.
Les différentes méthodes d'account abstraction
Il y a plusieurs approches pour implémenter l'abstraction de comptes sur une plateforme de smart contracts telle Ethereum :
- Hard fork du protocole : il s'agit de changer complètement la façon dont le protocole fonctionne en faisant des comptes de contrat un standard natif. Cela nécessite cependant un hard fork, et ce changement majeur entraîne fatalement des problèmes de compatibilité.
- Utilisation de couches secondaires : certains Layers 2 comme Starknet implémentent l'abstraction de compte, tout en gardant la sécurité d'Ethereum. Les développeurs créent des portefeuilles offrant les fonctionnalités désirées à l'utilisateur, tandis que l'abstraction de compte est gérée hors chaîne.
- ERC-4337 : cette mise à jour d'Ethereum permet d'implémenter l'abstraction de compte via une infrastructure indépendante. Cependant, les développeurs doivent programmer des dApps compatibles, et les frais d'utilisation sont plus élevés qu'avec un compte classique (EOA).
- ERC-7702 (via le hard fork Pectra) : cette mise à jour du 7 mai 2025 permet aux EOA d'exécuter des fonctions comme les smart contracts, mais seulement pour des transactions uniques. En d'autres termes, ce n'est pas une abstraction de compte native et complète, mais c'est un bon début : il n'y a aucun problème de compatibilité entre les EOA et l'infrastructure existante (dont les wallets).
En conclusion
L'abstraction de compte ou account abstraction améliore considérablement l'expérience des utilisateurs crypto. Cela permet de proposer des fonctionnalités typiques du Web2, comme la double authentification ou la récupération de compte. De même, cette technique permet d'opérer des transactions plus complexes, et d'améliorer la gestion des portefeuilles.
Nous avons présenté l'abstraction de compte via Ethereum, mais certaines plateformes de smart contracts l'intègrent de façon native. C'est par exemple le cas de Sui ou d'Aptos. Plusieurs Layers 2 d'Ethereum l'ont également implémentée, tels Starknet et zkSync.