Entre les wallets crypto, les infrastructures centralisées et décentralisées, les contrats intelligents et les mécanismes de consensus, l’utilisateur lambda peut facilement perdre ses repères dans le monde de la blockchain. C’est de ce constat qu’est née l’ERC-4337, une mise à jour Ethereum 2.0 qui vise à rendre le Web3 plus accessible en introduisant ce que l’on appelle l’abstraction de comptes (account abstraction).
Qu’est-ce que l’ERC-4337 ? Comment fonctionne-t-elle ? Qu’apporte-t-elle au réseau Ethereum 2.0 ? Explications.
- Quelle est la différence entre l’EIP-4337 et l’ERC-4337 ?
- Qu’est-ce que l’ERC-4337 ?
- Comment est né le concept account abstraction ?
- EOA vs Contract Accounts : quelles différences ?
- À quoi sert l’ERC-4337 ?
- Contrats intelligents vs Comptes intelligents : quelles différences ?
- Comment fonctionne l’ERC-4337 ?
- ERC-4337 : quels avantages pour les utilisateurs d’Ethereum 2.0 ?
- Quels sont les inconvénients de l’ERC-4337 ?
- ERC-4337 : quel impact sur Ethereum 2.0 ?
- ERC-4337, le coup d’envoi du réseau Ethereum 2.0 ?
- Foire aux questions (FAQ)
Quelle est la différence entre l’EIP-4337 et l’ERC-4337 ?
Contrairement à ce que l’on pourrait croire, l’EIP-4337 et l’ERC-4337 sont deux choses différentes.
Une EIP, ou Ethereum Improvement Proposal, est une proposition d’amélioration de la blockchain Ethereum. Une fois que cette proposition est approuvée par la communauté, elle devient une ERC, c’est-à-dire, une Ethereum Request for Comment (littéralement, une demande de commentaires pour Ethereum).
Étant donné que l’EIP-4337 a été acceptée par la communauté Ethereum, nous allons l’appeler ERC-4337.
Qu’est-ce que l’ERC-4337 ?
L’ERC-4337 est une norme Ethereum (pas nécessairement une norme de jeton) qui vise à transformer les comptes d’utilisateurs en comptes intelligents. Elle repose sur ce que l’on appelle l’account abstraction (ou abstraction de comptes). Mais, qu’est-ce que l’abstraction ?
Dans le jargon informatique, le terme “abstraction” fait référence à un processus d’idéation ou de création d’idées. En s’appuyant sur l’account abstraction, l’EIP-4337 permet d’apporter de nouvelles idées au réseau Ethereum 2.0. En d’autres termes, elle vise à débarrasser les utilisateurs du fardeau de la gestion des wallets classiques, comme MetaMask, et de la dépendance excessive aux clés privées.
Avec l’ERC-4337, l’écosystème ETH 2.0 veut rendre les wallets crypto plus intelligents en les intégrant à des contrats intelligents. L’objectif est de transformer les portefeuilles crypto en des comptes intelligents qui peuvent effectuer plusieurs tâches à la fois : gérer l’authentification multifacteur, s’inscrire à des plateformes crypto…le tout avec un seul code.
Voici quelques exemples d’éléments que l’on peut transformer avec l’account abstraction :
L’ERC-4337 pour les nuls
Supposons que vous avez un porte-monnaie classique, avec une poche réservée aux billets et d’autres volets réservés aux cartes de crédit, aux coupons, etc. À chaque fois que vous souhaitez payer en espèces, vous devez ouvrir la poche qui contient des billets. Bien sûr, votre carte de crédit et vos coupons ne vous serviront à rien dans ce cas.
Maintenant, si ce portefeuille devient un smart wallet (si on pouvait utiliser l’account abstraction dans la vraie vie), vos espèces, votre carte de crédit et même vos coupons se transformeront en un moyen de paiement unique. Ainsi, il vous suffira de demander de l’argent à votre portefeuille pour l’obtenir dans n’importe quelle forme.
Bien entendu, on ne peut pas appliquer ce principe dans le monde réel. Cependant, on peut très bien l’appliquer sur la blockchain, et c’est ce que l’on appelle l’account abstraction. Vu que ce mot est difficile à mémoriser pour l’utilisateur lambda, on utilise le terme “compte intelligent” pour désigner les portefeuilles crypto basées sur l’abstraction de comptes.
Voici comment Biconomy définit le concept d’abstraction de compte :
Comment est né le concept account abstraction ?
Pour mieux comprendre l’ERC-4337, voici quelques-unes des propositions qui ont donné naissance au concept de l’account abstraction.
EIP-86 : présentée en 2016, cette proposition met l’accent sur l’exécution et la validation des transactions par le biais des contrats intelligents. Notez toutefois que la dernière génération de wallets crypto (qu’ils soient physiques, mobiles, etc.) oblige les propriétaires de comptes à signer les transactions.
EIP-2938 : proposée en 2020, cette EIP visait également à utiliser les contrats intelligents pour créer un nouveau type de comptes sur le réseau ETH 2.0. Il s’agit à ce jour de la proposition la plus similaire à l’ERC-4337.
EIP-3074 : cette proposition, introduite en 2020, avait pour objectif de rendre l’exécution des contrats intelligents plus rapide et plus efficace. Ce, grâce à un nouvel opcode (un bloc qui fait partie des contrats intelligents) qui rend les smart contracts auto-exécutables.
EIP-196 : cette proposition se focalisait également sur l’amélioration de l’efficacité et de la sécurité des contrats intelligents.
Néanmoins, toutes ces propositions axées sur l’account abstraction n’ont pas abouti. Pourquoi ? Tout simplement car elles nécessitaient une modification de la couche de consensus du réseau ETH.
Mais, qu’est-ce qu’une couche de consensus ? Eh bien, il s’agit tout simplement de la cuisine interne du réseau Ethereum 2.0. En revanche, la couche d’exécution est celle que tous les utilisateurs voient lorsqu’ils effectuent des transactions sur le réseau.
Revenons maintenant à nos moutons : l’EIP-4337 a été proposée en 2021 et approuvée en 2023 ? Pourquoi l’EIP-4337 et pas les autres propositions ? Tout simplement parce qu’elle ne nécessite aucune modification de la couche de consensus.
Pour mieux comprendre l’EIP-4337, prenez quelques secondes de votre temps pour imaginer le scénario suivant : Vous souhaitez traverser la rue, mais aucun véhicule ne veut s’arrêter. Vous cherchez les feux de circulation, vous n’en trouvez pas. Après quelques minutes de réflexion, vous décidez de bâtir un autopont. Vous devez donc le positionner au-dessus de la rue sans rien modifier en dessous. Ce n’est que de cette façon que vous pourrez arriver sain et sauf chez vous.
Bien que ce scénario relève d’un film de science-fiction, il représente très bien l’ERC-4337. La seule différence est que ce mécanisme couvre plusieurs rues sur ETH, ou plus précisément, plusieurs écosystèmes compatibles avec la machine virtuelle d’Ethereum (EVM).
EOA vs Contract Accounts : quelles différences ?
Maintenant que nous en savons un peu plus sur l’ERC-4337, voyons pourquoi sa version “auditée” a été approuvée sur le mainnet (ou réseau principal Ethereum 2.0).
Tout d’abord, il faut savoir que la plupart des portefeuilles disponibles sur Ethereum (comme MetaMask ou imToken) sont des EOA, ou des comptes externes alimentés par des tiers. Bien que ces wallets crypto soient très avancés, ils dépendent entièrement des clés privées. En d’autres termes, si vous perdez votre clé privée, il ne vous reste plus qu’à dire adieu à votre argent.
Contrairement aux idées reçues, même les wallets matériels, comme Ledger Nano X, ont des mécanismes d’authentification similaires. l’ERC-4337 vise à changer la donne en transformant les comptes (EOA) en contrats intelligents super avancés. Ces derniers s’appellent “Contract Accounts (CA)”.
Et même si Argent et Gnosis proposent déjà une fonctionnalité de compte intelligent, le paiement des frais de transaction est géré par des relais centralisés. Cependant, avec l’ERC-4337 et l’account abstraction, tout devient décentralisé.
Voici une comparaison entre les CA et les EOA :
Paramètres | CA | EOA |
---|---|---|
Configuration | Dépend du wallet utilisé | Nécessite une phrase secrète |
Automatisation | Personnalisable | Possible jusqu’à ce qu’une signature soit requise |
Permissions | Personnalisable selon le niveau (le contrôle d’accès est autorisé) | Tout est régi par une clé privée |
Transactions groupées | Les swaps et d’autres types de transactions peuvent être groupés | Chaque transaction nécessite une signature |
Limites | Vous pouvez définir des limites de paiement | Impossible de fixer des limites |
Récupération du compte | Vous pouvez choisir n’importe quelle méthode de récupération (même une adresse e-mail) | Impossible de récupérer votre compte sans phrase secrète |
À quoi sert l’ERC-4337 ?
Pour faire simple, l’ERC-4337 remplacera le terme “wallet crypto” par “compte intelligent”. En d’autres termes, cette mise à jour Ethereum rendra votre expérience utilisateur aussi fluide et simple que l’utilisation d’une application bancaire. Le tout sans sacrifier la décentralisation.
Voici quelques-uns des principaux avantages de cette ERC :
- Votre crypto ne dépendra plus d’une clé privée.
- Vous pourrez utiliser votre compte intelligent comme une simple application mobile.
- Étant donné que votre compte utilisera un contrat intelligent, le risque d’erreur humaine sera très faible.
- Vous pourrez facilement effectuer des modifications sur les blockchains compatibles avec la machine virtuelle d’Ethereum (EVM)
- Vous retrouverez toutes les fonctionnalités bancaires classiques, comme le paiement automatique, la récupération de compte et l’authentification multifacteur.
- Et enfin, l’ERC-4337 est compatible avec d’autres modèles de signature, comme BLS (Boneh-Lynn-Shacham) et Quantum Resistance, ce qui rend le réseau Ethereum 2.0 moins vulnérable aux attaques.
En un mot, l’ERC-4337 permettra de concrétiser le concept de “banque décentralisée”.
Contrats intelligents vs Comptes intelligents : quelles différences ?
Les contrats intelligents (ou smart contracts) ont apporté énormément de choses au monde de la crypto, notamment les applications DeFi, les marketplaces NFT et les DAO. Mais il y a un problème…
Jusqu’à présent, la seule façon dont les utilisateurs peuvent interagir avec les contrats intelligents est d’utiliser des EOA ou des comptes externes (comme Metamask). Que ce soit pour envoyer des fonds à un pool DeFi, ou transférer des NFT vers une marketplace, votre EOA vous demandera toujours une signature.
Certes, la plupart des crypto-geeks répètent ce processus de façon machinale sans se soucier de quoi que ce soit. Mais qu’en est-il des débutants et des générations plus âgées ? La plupart d’entre eux préféreront retourner à leurs applications bancaires traditionnelles pour éviter de se casser la tête à signer la moindre petite transaction.
Au cas où vous l’aurez oublié, voici à quoi ressemble le processus pour un débutant :
Heureusement, les comptes intelligents transformeront nos wallets crypto en applications auto-exécutables. Et contrairement aux contrats intelligents, les comptes intelligents proposés par l’ERC-4337 offrent des avantages supplémentaires, notamment :
- Grâce à leur nouveau système de stockage de clés privées, les comptes intelligents rendent votre wallet mobile aussi efficace qu’un hardware wallet.
- Les comptes intelligents proposent plusieurs options de récupération de compte (compte Google ou même votre compte bancaire).
- Les phrases secrètes et les clés privées ne seront plus qu’un mauvais souvenir.
- Le système de relais utilisé dans ces comptes intelligents est décentralisé, ce qui les rend plus sûrs et moins vulnérables à la censure.
- Enfin, les comptes intelligents regroupent tous les mécanismes d’abstraction de compte proposés par d’autres EIP.
Comment fonctionne l’ERC-4337 ?
À moins que vous ne soyez un développeur ETH 2.0, vous n’avez pas vraiment besoin de vous attarder sur les aspects techniques de l’ERC-4337. Mais pour ceux que ça intéresse, voici comment fonctionne cette mise à jour Ethereum :
Voici un petit schéma qui illustre parfaitement le fonctionnement de cette ERC :
Comme vous l’aurez compris, l’exécution de l’ERC-4337 nécessite quatre étapes :
- Première étape : la demande de l’utilisateur est envoyée en tant que “UserOperation” – une requête qui représente les demandes des utilisateurs ou des applications souhaitant utiliser l’account abstraction.
- Deuxième étape : les blocs représentant les “UserOperations” sont regroupés dans un mempool alternatif.
N.B : un mempool alternatif est une file d’attente destinée aux transactions basées sur l’ERC-4337 et gérées par les bundlers (validateurs qui gagnent des récompenses pour la validation des transactions).
Notez aussi que le mempool des opérations utilisateur peut coexister avec le mempool classique. Voici comment :
- Troisième étape : les transactions groupées sont envoyées à un contrat appelé EntryPoint (un contrat intelligent ou un programme basé sur la blockchain). Ensuite, la fonction “handleOps” délègue toutes les tâches au contrat intelligent Entry Point. Enfin, ce dernier transmet les informations au compte intelligent de l’utilisateur final.
Notez que le contrat Entry Point exécute une fonction appelée “validateUserOp” pour reconnaître et identifier l’UserOp détenant le compte intelligent. De son côté, le portefeuille (ou compte) intelligent doit exécuter la fonction “ExecuteUserOp” pour finaliser la transaction.
- Quatrième étape : la transaction est validée sur le réseau Ethereum 2.0
Cependant, il y a deux choses importantes à retenir :
L’élément “ETH Balance”, qui est associé au portefeuille intelligent, peut payer les frais ExecuteUserOp. De même, n’importe quel autre jeton ERC-20 peut fonctionner. Cependant, certaines transactions doivent être validées par le PayMaster (un outil qui permet de convertir les frais de gaz en ETH).
De même, les transactions multi-signatures nécessitent des agrégateurs de signature.
Account abstraction : la définition de Vitalik Buterin
Voici un aperçu des composants les plus importants du mécanisme d’abstraction de compte :
L’image ci-dessous, que nous avons trouvé sur le blog officiel de Vitalik Buterin, illustre parfaitement le fonctionnement des mempools. Et comme vous pouvez le voir, les opérations utilisateur continuent de se déplacer dans le flux, tandis que les validateurs gèrent toutes les opérations dans un premier temps, avant de tout déléguer au point d’entrée (Entry Point).
Au début, les bundlers (les validateurs volontaires) paient les frais de transaction. Ils sont ensuite remboursés lorsque la requête UserOperation est traitée, validée et exécutée par le point d’entrée.
En effet, ce mempool alternatif s’aligne parfaitement avec la vision de Vitalik Buterin, qui consiste à créer “un marché de frais décentralisé” pour les comptes de contrats intelligents.
ERC-4337 : quels avantages pour les utilisateurs d’Ethereum 2.0 ?
Alors, comment l’ERC-4337 va-t-elle améliorer le réseau ETH 2.0 ?
La possibilité de récupérer votre wallet crypto sans phrase secrète
Avec l’ERC-4337, les comptes intelligents d’Ethereum 2.0 proposeront une fonctionnalité appelée “Group-Access”. En cas d’oubli ou de perte de votre phrase secrète, cette fonctionnalité vous permettra de contacter les contrats ou les comptes précédemment désignés pour vous aider à récupérer votre wallet.
De cette façon, votre crypto ne dépendra plus d’une simple clé privée, et la fameuse phrase “pas vos clés, pas votre crypto” ne sera plus qu’un vieux adage.
De même, la configuration des portefeuilles ETH 2.0 sera beaucoup plus simple, car vous n’aurez plus besoin de choisir une phrase secrète.
Les transactions groupées
Chaque transaction EOA nécessite une signature. Si vous utilisez la crypto au quotidien, ce processus peut se transformer en un véritable casse-tête. Heureusement, l’account abstraction permettra au réseau Ethereum 2.0 de regrouper les transactions et de les envoyer en une seule fois. Résultat : un gain de temps et des économies sur les frais de gaz.
Les transactions pré-validées
Supposons que vous souhaitez émettre plusieurs NFT ou jouer à un jeu qui nécessite d’utiliser des tokens sur plusieurs sessions. Avec les comptes intelligents, vous pouvez pré-valider les transactions sans avoir à les signer à chaque fois.
Les transactions sponsorisées
Supposons maintenant que vous souhaitez créer un NFT, effectuer une transaction test, ou créer une dApp qui permet aux utilisateurs de ne pas payer de frais de gaz pendant les 30 premiers jours. Vous pouvez le faire avec Paymasters, un outil qui vous permet d’effectuer des “transactions sponsorisées”.
En termes simples, les transactions sponsorisées sont des transactions dont les frais de gaz sont payés par une adresse crypto différente de celle de l’expéditeur.
La possibilité de payer vos frais de gaz en monnaie fiat
Sur Ethereum 2.0, les utilisateurs auront la possibilité de payer leurs frais de gaz avec n’importe quel token ERC-20. De même, les plateformes utilisant l’ERC-4337 peuvent autoriser leurs clients à payer les frais de gaz en monnaie fiduciaire.
La possibilité de programmer des prélèvements périodiques
Les comptes intelligents du réseau Ethereum 2.0 seront programmables. Ainsi, il sera possible de prédéfinir et d’autoriser des prélèvements périodiques (pour vos abonnements Web3 et tous les autres services acceptant les paiements crypto).
L’authentification multi-facteurs
Comme expliqué plus haut, le code d’accès à votre compte intelligent peut être intégré à votre appareil mobile. Ainsi, si vous avez Face ID sur votre iPhone, vous pouvez l’utiliser pour approuver les transactions. De même, vous pouvez opter pour un système d’authentification multi-facteurs pour renforcer votre sécurité.
Par exemple, vous pouvez programmer votre compte intelligent pour pré-valider toutes les transactions initiées lorsque l’application est ouverte.
La possibilité de fixer un plafond de dépenses
Tout comme une carte de crédit, votre compte intelligent peut vous envoyer des alertes lorsque vous dépassez un certain seuil de paiement. Par exemple, vous pouvez demander à votre compte de vous avertir à chaque fois qu’un service DeFi auquel vous êtes abonné prélève plus de 100 USDT par mois.
La possibilité d’automatiser vos activités DeFi
Sur Ethereum 2.0, vous pouvez demander à votre compte intelligent de transférer vos fonds inactifs vers un pool de liquidité afin de gagner des récompenses. De même, si vous prévoyez d’échanger des NFT, vous pouvez demander à votre portefeuille de chercher pour vous les meilleures offres du marché.
Voici un exemple de code que vous pouvez déployer si vous êtes un développeur Ethereum 2.0 :
En regardant de plus près ce code, vous remarquerez qu’il contient un programme appelé “Auto Invest”, qui vous permet d’investir tout votre argent dans un pool de liquidité et de ne garder que 100 USDT. Notez toutefois que vous devez fournir votre adresse EOA et celle du pool pour pouvoir exécuter le code.
Même si les programmes de ce type vous permettent d’automatiser vos investissements, ils ne sont pas sans inconvénients. Par exemple, lorsque vous utilisez un compte EOA, vous devez signer la transaction immédiatement après la réception de l’alerte d’investissement automatique. Si vous n’êtes pas devant votre ordinateur (ou téléphone) et que vous ne signez pas la transaction, vous passerez à côté d’une opportunité de gain. C’est là que les comptes intelligents entrent en jeu.
En plus de l’automatisation des investissements, l’account abstraction offre de nombreux avantages, notamment :
- Lutte contre la fraude
- Protection contre les attaques de relecture
- La possibilité de fixer des limites de retraits
- La possibilité d’effectuer certaines transactions en un clic
- Et enfin, la possibilité d’avoir un contrôle total sur vos actifs
Quels sont les inconvénients de l’ERC-4337 ?
Bien qu’il reste encore beaucoup de choses à apprendre sur l’ERC-4337, nous connaissons déjà certaines de ses lacunes.
Des frais de gaz plus élevés
Les frais du réseau Ethereum 2.0 sont encore élevés. Malgré le lancement de Paymaster et des transactions sponsorisées, les utilisateurs devront toujours payer des frais. À moins que toutes les solutions L2 compatibles avec la machine virtuelle d’Ethereum ne commencent à implémenter l’ERC-4337, les frais de gaz constitueront toujours un problème sur ETH 2.0.
La vérification des contrats
Bien que les comptes intelligents soient beaucoup plus pratiques que les EOA, ils n’autorisent pas les signatures de clés privées, ce qui est essentiel pour les premières vérifications. En effet, même si l’EIP-1271 autorise les signatures via des contrats intelligents, son utilisation en dehors de la blockchain Ethereum peut s’avérer très complexe.
Un énorme besoin d’infrastructures
L’adoption massive des comptes intelligents nécessiterait davantage de bundlers (validateurs). Par conséquent, l’équipe Ethereum 2.0 doit s’attendre à un travail colossal de développement d’infrastructures.
Un risque de centralisation
Si ETH 2.0 n’attire pas suffisamment de bundlers, la validation des transactions sera entre les mains d’un groupe très limité. Chose qui pourrait menacer la décentralisation du réseau.
ERC-4337 : quel impact sur Ethereum 2.0 ?
L’ERC-4337 pourrait changer la donne pour tous les acteurs du marché crypto. Pour Ethereum, cette mise à jour a le potentiel d’augmenter le volume quotidien des transactions et le nombre d’adresses actives. De même, le réseau pourra générer davantage de gains au fil du temps.
L’ERC-4337 sera également très bénéfique pour les dApps axées sur la DeFi et les NFT. En effet, les portefeuilles intelligents peuvent être synchronisés avec des contrats, ce qui facilite la tâche aux développeurs. En conséquence, ils pourront se focaliser sur des activités plus importantes.
Pour récapituler, l’ERC-4337 sera utile à tous ceux qui cherchent à bâtir des projets sur le Web3. Notons par ailleurs que la Fondation Ethereum propose des API de portefeuilles intelligents ainsi qu’un SKD à tous les développeurs souhaitant utiliser la norme ERC-4337.
Voici comment fonctionne l’API proposée :
ERC-4337, le coup d’envoi du réseau Ethereum 2.0 ?
Sans aucun doute, l’ERC-4337 est beaucoup plus importante que toutes les mises à jour Ethereum qui l’ont précédées (y compris The Merge et Shanghai). Bien que le concept de l’account abstraction ne date pas d’hier, le fait que l’ERC-4337 soit auditée par OpenZepplin en fait une véritable victoire pour l’équipe Ethereum 2.0.
En permettant à tout un chacun d’échanger des NFT, s’abonner à des newsletters crypto, jouer à des jeux Web3 et créer des comptes intelligents, l’ERC-4337 nous approche à grands pas du fameux Ethereum 2.0. Cela dit, à l’image des ERC précédentes, cette mise à jour Ethereum est loin de faire l’unanimité.
Foire aux questions (FAQ)
Comment sont validées les transactions ETH ?
Qu’est-ce qu’une ERC Ethereum ?
Quels sont les six champs à remplir pour effectuer une transaction ETH ?
Qu’est-ce qu’un smart contract ?
Qui confirme les transactions ETH ?
Quelle est la différence entre une EIP et une ERC ?
Avis de non-responsabilité
Avis de non-responsabilité : Conformément aux directives de The Trust Project, le contenu éducatif de ce site est proposé de bonne foi et à des fins d'information générale uniquement. BeInCrypto a pour priorité de fournir des informations de haute qualité, en consacrant du temps à la recherche et à la création d'un contenu informatif pour les lecteurs. Bien que des partenaires puissent récompenser l'entreprise avec des commissions pour des placements dans les articles, ces commissions n'influencent pas le processus de création de contenu impartial, honnête et utile. Toute action entreprise par le lecteur sur la base de ces informations se fait strictement à ses propres risques.