
EIP4337 : l'avenir de l'abstraction des comptes sur Ethereum
TechFlow SélectionTechFlow Sélection

EIP4337 : l'avenir de l'abstraction des comptes sur Ethereum
Comment l'abstraction des comptes crée un modèle réussi pour les outils de portefeuille à l'ère de Web3.
Lorsque nous commençons à nous engager dans les transactions de finance décentralisée, ce dont nous avons d'abord besoin est un portefeuille. Toutefois, lors de l'utilisation d'outils de portefeuilles sur chaîne, la plupart des utilisateurs ressentent une expérience utilisateur différente de celle à laquelle ils sont habitués — les portefeuilles sur chaîne permettent une gestion complète des actifs numériques, mais manquent de garanties de sécurité au niveau du compte (comme les comptes externes EOA « Externally Owned Accounts » et les comptes de contrat CA « Contract Account » du système Ethereum).

Lors de l'exécution des comptes EOA et CA, chaque transaction sur chaîne doit être initiée par une signature provenant d'un EOA. Un utilisateur possède un portefeuille EOA via une paire de clés, cette clé étant appelée le signer. En raison de la nature publique de la clé d'adresse du portefeuille, le portefeuille EOA fait office à la fois de compte et de signer, ce qui pose de graves problèmes de sécurité des actifs. Autrement dit, le signer détient un contrôle total sur le compte. Imaginons qu’un jour nous perdions notre compte, et que quelqu’un trouve par hasard notre signer ; cette personne aurait alors accès à notre compte ainsi qu’à tous nos actifs numériques.

Comparaison entre les portefeuilles auto-gérés courants sur chaîne EOA & CA d’Ethereum
Face à cela, de nombreux développeurs ont exploré diverses solutions techniques visant à optimiser les comptes EOA et CA. Ils ont ajouté des composants tels que le transfert d’actifs, le contrôle privé des contrats et la gestion utilisateur, s'efforçant d’éviter toute perte d’actifs. Cependant, plusieurs failles persistent, suscitant des critiques. Par exemple, le célèbre projet NFT Bored Ape Yacht Club a connu un piratage impliquant des centaines de NFT volés, aggravant encore davantage l’expérience médiocre des utilisateurs d’Ethereum en matière de portefeuille. C’est pourquoi nous allons explorer une solution d’abstraction des comptes combinant les avantages des deux types tout en corrigeant leurs défauts, afin de comprendre comment elle pourrait devenir un modèle réussi pour les outils de portefeuille à l’ère Web3.
Abstraction des comptes : paiement entièrement automatisé et intégré
Le système de comptes actuel exige que les utilisateurs stockent et protègent soigneusement leur clé privée ou leur phrase de récupération sous peine de perdre leurs actifs numériques. Ce manque de sécurité décourage également de nombreux utilisateurs potentiels souhaitant entrer dans les transactions numériques cryptées, voire empêche l’utilisation d’applications sur chaîne. Alors, quelle est la solution au problème de sécurité des portefeuilles ? C’est l’abstraction des comptes (Account Abstraction), une approche exploratoire permettant des paiements programmables automatisés, prenant la forme d’un contrat intelligent pour écrire des portefeuilles auto-gérés capables d’extraire automatiquement des fonds.

L’abstraction des comptes permet aux utilisateurs d’utiliser leurs comptes plus simplement. Comme lorsqu’on crée un compte de messagerie sur un site web, il suffit d’apprendre à l’utiliser sans avoir besoin de comprendre son fonctionnement interne. Grâce à l’abstraction des comptes, nous pouvons nous affranchir de la contrainte des phrases de récupération ou des clés privées, activer différents modes de signature, et même faire prendre en charge les frais de gaz par une DApp ou payer via des tokens.
L’objectif principal de l’abstraction des comptes est de dissocier le lien entre le signer et le compte, évitant ainsi un contrôle absolu du signer sur les actifs du portefeuille. En résumé, l’abstraction des comptes transforme le processus unifié de vérification et d’exécution des transactions en composants modulaires adaptables selon les besoins de l’utilisateur, fusionnant ainsi EOA et CA en une seule entité.
Libérer l’abstraction des comptes grâce à EIP-4337
Après avoir défini cet objectif, Vitalik et les principaux développeurs d’Ethereum ont continué à rédiger des solutions pour « l’abstraction des comptes ». De l’EIP-86 initial à l’actuel EIP-4337, les droits de transaction ont été davantage transférés aux utilisateurs, les risques de sécurité fortement atténués, annonçant ainsi l’avènement des prochains outils de portefeuille.
Évolution historique

EIP-86 : introduction de contrats intelligents en tant que « contrats relais », permettant à n’importe qui d’envoyer des transactions depuis une adresse d’entrée.
EIP-1014 : prédiction de l’adresse de déploiement du contrat, exploitant le rôle des portefeuilles intelligents, assurant que l’adresse du contrat soit identique sur toutes les chaînes EVM.
EIP-2938 : création d’une nouvelle opération cryptographique pour les transactions d’« abstraction des comptes », abandonnée par la suite en raison de modifications trop importantes du protocole.
EIP-3074 : création de deux nouveaux opcodes permettant à un contrat intelligent d’envoyer des transactions au nom d’un EOA, mais non mise en œuvre en raison de risques de sécurité.
Après la finalisation de la transition vers la fusion d’Ethereum, davantage de développeurs se sont investis dans la modification et l’élaboration de solutions d’abstraction des comptes. En septembre 2021, des chercheurs de Nethermind et Opengsn, avec l’aide de Vitalik, ont proposé l’EIP-4337. La caractéristique majeure de cette version est qu’elle ne nécessite aucune modification du protocole de couche consensus, apportant ainsi l’« abstraction des comptes » à Ethereum.
Principe de fonctionnement
L’EIP-4337 ne modifie pas la logique propre de la couche consensus, mais copie la fonction du pool de transactions (tx mempool) vers un système de niveau supérieur. Cette proposition introduit de façon innovante le concept de « User Operations » (opérations utilisateur), permettant d’intégrer des fonctions personnalisées dans les portefeuilles intelligents. Les utilisateurs peuvent regrouper leur intention, leur signature et d’autres données pour validation. Le fonctionnement de l’EIP-4337 comprend trois étapes :
-
User Operations : initiation d'une « opération utilisateur », envoyée via un Mempool personnalisé.
-
Regroupement par Bundler : le Bundler sélectionne les objets contenant UserOperation selon un ordre de priorité des frais, puis appelle le contrat EntryPoint via le bundler pour effectuer la validation.
-
Exécution de la transaction : si aucune erreur n’est rencontrée durant le processus précédent, la transaction est incluse dans le prochain bloc du réseau.

Dans la conception de la proposition EIP-4337, le contrat EntryPoint assure la fonction de validation du compte, garantissant le respect des règles prédéfinies et l’exécution. Le Bundler, en tant qu’adresse EOA, soumet toutes les transactions à la chaîne. Il est également possible d’ajouter un contrat intelligent Paymaster pour fournir un support complémentaire. Comparé aux versions précédentes, l’EIP-4337 réduit davantage les risques de sécurité tout en assurant l’ordre et la stabilité des transactions, sans modifier la couche consensus, offrant ainsi commodité et efficacité aux développeurs comme aux utilisateurs.
Analyse des performances supérieures de l’EIP-4337

Sécurité
La première garantie apportée par l’application de l’EIP-4337 est une sécurité renforcée. Le mécanisme d’opération basé sur des schémas de signature personnalisés autorise nativement le support de multiples signataires sur Ethereum. Deux utilisateurs ou plus peuvent ainsi approuver une transaction, augmentant considérablement la sécurité. Si un utilisateur perd malencontreusement sa clé privée ou son compte, il peut simplement demander à un ami ou un membre de sa famille de l’aider à récupérer son compte. Cette capacité de récupération sociale représente un bond qualitatif significatif par rapport aux versions antérieures.
Liberté d’opération
Bien que la validation et l’exécution des transactions soient séparées en deux contrats intelligents distincts, si le contrat de portefeuille valide correctement une transaction, le contrat EntryPoint exécute automatiquement l’étape suivante et la soumet au bloc correspondant. Les développeurs et utilisateurs peuvent librement intégrer des fonctionnalités personnalisées dans le contrat de portefeuille (telles que la signature multisignature, la récupération sociale, ou des schémas de signature résistants aux ordinateurs quantiques), dépassant ainsi la limitation des EOA restreints au seul schéma de cryptographie ECDSA.
Compatibilité architecturale
Tandis que l'intégration de fonctionnalités personnalisées requiert un soutien architectural multithread pour répondre aux exigences supplémentaires, l’EIP-4337 introduit spécifiquement les « User Operations » dédiées aux comptes abstraits (mentionnées précédemment). Que ce soit le Mempool destiné aux User Operations ou le Bundler transmettant le contrat EntryPoint, tout peut fonctionner simultanément sans entraîner de gaspillage excessif en consommation énergétique ou en frais. En cas de changement au niveau du consensus ou de phénomène de congestion lié à un fork dur, l’ajout d’un nouveau Mempool nécessite uniquement une mise à jour du client nœud Ethereum.
Subvention des frais
Le Bundler joue non seulement un rôle central dans le flux de travail de l’EIP-4337, mais devient aussi un « allié économique ». En regroupant plusieurs transactions et opérations, les validations de dépenses de tokens et les transactions peuvent être traitées comme un seul nœud d’exécution, éliminant ainsi les coûts redondants liés aux transactions multithreads. De plus, la fonction Paymaster permet à un tiers de prendre en charge les frais de certaines User Operations, subventionnant ainsi les frais de gaz pour l’utilisateur. Les soldes des comptes de l’utilisateur et du payeur sont mis à jour en continu pendant l’exécution, rendant véritablement possible le principe de « paiement unique, multiple utilisation ».
Avancer malgré les obstacles : concrétiser la prochaine génération de portefeuilles grâce à l’EIP-4337
Profitant des retombées positives de la fusion d’Ethereum, l’EIP-4337 s’impose comme un « candidat prometteur » libérant tout le potentiel de l’abstraction des comptes. On observe que l’EIP-4337 améliore sensiblement l’expérience utilisateur insatisfaisante des anciens comptes sur chaîne, devenant ainsi la méthode principale adoptée par de nombreuses applications Web3 pour permettre aux utilisateurs de gérer eux-mêmes leurs actifs. Elle offre également de nouvelles opportunités pour encourager une adoption massive par les projets. Ce n’est pas seulement un point focal au cœur de l’essor des portefeuilles intelligents, mais aussi une innovation majeure de la technologie blockchain à l’ère d’Internet.
Cependant, malgré ses nombreux avantages, l’EIP-4337 doit continuellement surmonter ses propres limites pour renouveler sa vitalité. Par exemple, la complexité accrue de la logique de vérification introduit des vulnérabilités DoS comparativement à une simple vérification ECDSA ; les comptes ne peuvent pas envoyer plusieurs transactions en file d’attente vers le Mempool, mais doivent les traiter une par une ; bien que les frais de gaz puissent être subventionnés, les frais d’exécution du système restent élevés… Ces points critiques nécessitent une attention approfondie de la part des développeurs afin de trouver des solutions. Seule une optimisation continue des détails du projet et des avancées techniques permettront à l’EIP-4337 de devenir la solution incontournable pour l’abstraction des comptes.
Nous espérons que la communauté des développeurs Ethereum apportera davantage d’innovations à l’EIP-4337 en 2023, créant ainsi la prochaine génération de portefeuilles et offrant aux utilisateurs des outils de paiement plus pratiques et sécurisés.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News












