Avant que la Monnaie numérique ne devienne courante, il est crucial de chercher des solutions innovantes pour réaliser une expérience de transaction de chiffrement sans friction.
Rédaction :Mustafa Bedawala, Mert Ozbay et Catherine Gu
Compilation: GWEI Research
Malgré des progrès constants, il est actuellement difficile pour la chaîne Bloc de fournir le même niveau de flexibilité et d’expérience utilisateur que l’écosystème de paiement numérique principal. Cependant, les nouvelles technologies peuvent améliorer l’expérience de paiement lors des transactions avec la Monnaie numérique. Dans “Paiement automatique avec Portefeuille autonome”, nous explorons l’application de technologies de pointe dans le domaine des paiements automatiques en utilisant le concept d’abstraction de compte (AA) sur la chaîne publique Blocoff-chain.¹ Nous poursuivons notre exploration de l’AA et de l’amélioration de l’expérience de paiement chiffrée pour voir comment le paradigme AA actuel sur la chaîne ETH offre des solutions créatives pour traiter le Blanchiment de capitaux : les utilisateurs peuvent-ils payer le Blanchiment de capitaux sur la chaîne ETH avec des stablecoins, d’autres Jetons ERC-20, ou pas du tout ? Avant que la Monnaie numérique ne soit largement adoptée, trouver des solutions innovantes pour une expérience d’embauche et de transaction chiffrée sans friction est essentiel.
La description technique de l’ERC-4337 est la norme actuelle mise en œuvre par AA sur Ethereum, dans le but de mieux comprendre l’ERC-4337. Nous discutons du déploiement expérimental de deux ensembles de contrats Paymaster par Visa pour démontrer comment repenser les frais de gaz sur la blockchain afin d’améliorer la convivialité pour les utilisateurs.
abstraction de compte et ERC-4337
Pour mieux comprendre la proposition de valeur de l’abstraction de compte, revenons brièvement sur les deux types de comptes actuellement présents sur la chaîne ETH : les comptes externes (EOAs) et les comptes contractuels (CAs), généralement appelés comptes utilisateur et smart contracts. Les EOAs contrôlés par la clé privée permettent aux utilisateurs d’envoyer des transactions. Cependant, ils manquent de programmabilité des smart contracts, les rendant plus rigides. En revanche, les CAs ont du code exécutable, mais ne peuvent pas initier de transactions de manière indépendante. Les transactions doivent toujours provenir du compte de l’utilisateur et contenir sa signature, que ce soit pour un simple transfert de jetons ou des opérations complexes exécutées via de nombreux smart contracts.
Le concept d’abstraction de compte (AA) vise à bénéficier de la programmabilité de CA pour le bénéfice des utilisateurs finaux. Lors de la rédaction de Smart Contract, il est courant de définir un propriétaire pour contrôler le comportement du contrat. Un Portefeuille autonome construit en tant que Smart Contract peut offrir plus de fonctionnalités aux utilisateurs que le Portefeuille basé sur EOA. Cela est réalisé en introduisant un nouveau standard Ethereum appelé ERC-4337, proposé par des membres de la communauté Ethereum, y compris le fondateur d’Ethereum Vitalik Buterin. ERC-4337 permet au propriétaire de posséder directement le compte Smart Contract sans avoir besoin d’une signature EOA. Bien que le propriétaire n’utilise peut-être pas de signature EOA au sens traditionnel, ils ont toujours besoin d’un processus d’authentification sécurisé pour assurer la propriété correcte et la gestion du compte Smart Contract. À son tour, ce compte Smart Contract peut gérer des tâches telles que l’authentification à plusieurs facteurs, les paiements périodiques et les règles et stratégies personnalisées définies par l’utilisateur final.
ERC-4337 est le dernier développement d’AA, initialement proposé en 2021 en tant que proposition d’amélioration d’ETH (EIP)-4337. Il a suivi le processus de consultation d’ETH (ERC), qui établit des normes pour les applications sur le réseau ETH. La différence entre EIP et ERC réside dans leur portée et leurs exigences d’adoption. ERC définit comment les smart contracts doivent fonctionner et interagir au niveau de l’application. Ils n’ont pas besoin d’être adoptés par tous les participants comme les EIP de base (propositions d’amélioration d’ETH), qui nécessitent un consensus plus large au niveau du protocole et doivent être déployés dans la communauté. La transition de l’EIP-4337 à l’ERC-4337 marque la satisfaction des normes requises par les applications sur le réseau ETH, en faisant désormais officiellement partie de l’écosystème ETH. En mars 2023, les composants clés de l’ERC-4337 ont déjà été déployés sur le réseau principal ETH. Contrairement à l’abstraction de compte précédente, l’ERC-4337 permet d’activer l’abstraction de compte sur le réseau ETH sans modifier la couche de consensus du protocole de la blockchain. Ce développement permet aux participants du réseau blockchain d’explorer et d’expérimenter de nouvelles expériences utilisateur immédiatement, sans attendre de grandes mises à jour du réseau. Il convient de noter que l’un des avantages de l’ERC-4337 est sa compatibilité avec tout réseau blockchain utilisant la machine virtuelle ETH, offrant ainsi à AA une norme au-delà d’ETH.
Parcourir les transactions ERC-4337
Dans une transaction EOA typique, l’utilisateur interagit avec son portefeuille auto-géré pour créer, signer la transaction et la soumettre au mempool public. La charge utile de la transaction signée par la Clé privée de l’utilisateur est ensuite propagée par le Nœud au mempool pair à pair (P2P). Les validateurs ou des entités spécialisées (appelées constructeurs) sélectionnent des transactions appropriées et rentables dans le mempool public pour les exécuter et les fusionner dans la Blockchain.
Figure 1: Processus typique de transaction sur Ethereum
ERC-4337 introduit un processus de transaction alternatif différent de la méthode EOA traditionnelle, ajoutant une nouvelle étape avant que la transaction n’atteigne l’adresse EOA de l’agent. Les utilisateurs envoient leur intention sous forme d’opérations utilisateur, qui sont ensuite propagées via un mempool d’opérations utilisateur dédié. Ce mempool unique est surveillé par des agrégateurs qui agissent en tant qu’EOA de l’agent, pour envoyer les opérations utilisateur au mempool public sous une forme que le réseau peut traiter comme des transactions EOA classiques. Ensuite, ces transactions suivent le même processus que les transactions normales, soit en rejoignant le mempool public, soit en allant directement au constructeur.
Nous avons progressivement présenté le processus de bout en bout des transactions ERC-4337, de la génération de UserOperation à l’exécution. Avant d’approfondir l’étude, il est nécessaire de définir le concept de Paymaster, qui joue un rôle essentiel dans ce processus et est au cœur de nos propres explorations. Le Paymaster est un Smart Contractcompte facultatif qui peut sponsoriser le compte de contratcompte (un contrat Smart Contract centré sur l’utilisateur) pour Blanchiment de capitaux. Les Paymasters évaluent s’ils acceptent les UserOperation lors de la phase de vérification et mettent en œuvre toute logique de frais requise lors de la phase d’exécution. Ce faisant, ils peuvent parrainer les utilisateurs pour Blanchiment de capitaux et permettre aux utilisateurs de payer les frais de carburant en jetons ERC-20 (comme les jetons stables en dollars).
Figure 2: Processus de transaction ERC-4337
Les utilisateurs génèrent des opérations utilisateur via un portefeuille Smart Contract conforme à la norme ERC-4337. Les opérations utilisateur encapsulent l’intention de l’utilisateur d’interagir avec la chaîne de blocs, et l’utilisateur les signe pour une authentification. Une fois générée, l’opération utilisateur est soumise à un Mempool d’opérations utilisateur dédié, qui est un espace de stockage spécifique aux opérations utilisateur et distinct du mempool standard des transactions Ethereum.
Les Bundlers sont un type de participants spécialisés qui surveillent le UserOperation Mempool, exécutent des simulations et assemblent une série d’opérations utilisateur en un seul paquet de transactions. Les Bundlers sont responsables de la collecte des UserOperations et de leur soumission au contrat EntryPoint, optimisant l’utilisation du gas et maximisant les profits en utilisant la logique des frais de priorité.
3.EntryPoint est un contrat qui reçoit un lot d’opérations utilisateur liées. Il agit en tant que coordinateur central pour gérer les opérations utilisateur dans le processus de transaction ERC-4337.
Si UserOperation est spécifié, le contrat EntryPoint interagit avec le contrat Paymaster. Comme mentionné précédemment, les Paymasters peuvent parrainer le Blanchiment de capitaux du compte du contrat. EntryPoint vérifie si le payeur a suffisamment de dépôts ou si le contrat compte a suffisamment de fonds pour payer les frais de carburant. Pendant l’exécution, s’il y a un Paymaster impliqué, il peut mettre en œuvre une logique de frais personnalisée, comme nous le verrons dans la section suivante.
Ensuite, le contrat EntryPoint appelle le contrat compte, et si nécessaire, appelle le caissier pour valider la signature dans UserOperation. Le contrat compte est un compte d’utilisateur qui interagit sans encombre avec le contrat EntryPoint pour faciliter l’exécution de la transaction. Une fois la validation réussie, EntryPoint transfère les données pertinentes de chaque UserOperation au compte de contrat pour démarrer le processus d’exécution.
Abstraction et application pratique de compte
Avec l’exploration continue des applications du Bloc Blockchain dans le monde réel, les portefeuilles auto-gérés deviennent un choix populaire pour les utilisateurs détenant et utilisant leur Monnaie numérique pour effectuer des transactions. Depuis la création d’Éther, environ 180 millions d’Adresses uniques ont été utilisées pour des transactions, y compris tous les types de comptes et plusieurs comptes appartenant à une même personne ou à un groupe de personnes.³ Cependant, chaque mois, nous ne voyons que des millions d’interactions off-chain initiées par de vraies personnes, avec environ 1 million de transactions off-chain sur le Mainnet Ethereum chaque jour.⁴ En comparaison, Visa a traité 258 milliards de transactions en 2022, soit en moyenne 7,07 milliards de transactions par jour, avec 4,1 milliards de cartes Visa en circulation dans le monde.⁵ Si la Blockchain prend en charge une expérience de paiement de même ampleur et une facilité d’utilisation similaire, peut-elle atteindre un niveau d’adoption comparable ? Les mesures pouvant être prises dans cette direction incluent la possibilité pour les utilisateurs de payer les frais de gaz ou de payer les frais de transaction avec des Jetons ERC-20.
Utilisation de l’ERC-4337 Paymaster pour les paiements en Jeton ERC-20
Figure 3: Paymaster facilitates the use of ERC-20 Jeton for money laundering
Aujourd’hui, pour effectuer des transactions sur le réseau ETH Bloc off-chain, les utilisateurs doivent se procurer de l’ETH pour payer les frais de gas ; de même, pour effectuer des transactions sur le réseau Polygon Bloc off-chain, les utilisateurs doivent se procurer du MATIC natif. Existe-t-il une solution pour éliminer le besoin d’acquérir des Jetons locaux de différentes chaînes Bloc uniquement dans le but de payer les frais de gas ? Cette situation est similaire à la valeur du réseau central de paiement transfrontalier de Visa, où les voyageurs peuvent dépenser la monnaie locale sans avoir à l’acquérir au préalable. Dans cette version du contrat Paymaster, le contrat peut agir en tant qu’intermédiaire pour le service de conversion de Monnaie numérique. Ce service peut recevoir de la Monnaie numérique de la part des utilisateurs, puis la convertir en Jetons natifs en fonction du Taux de change actuel pour représenter le paiement des frais de gas par les utilisateurs. De plus, cela peut être réalisé via un financement instantané, ce qui signifie que les utilisateurs n’ont qu’à fournir des fonds pour les coûts de gas au moment de la transaction, sans aucune exigence de financement préalable, afin d’optimiser leur gestion de trésorerie.
Utilisation du Paymaster ERC-4337 pour parrainer le Blanchiment de capitaux des utilisateurs
Figure 4: Paymaster sponsorise Blanchiment de capitaux pour les utilisateurs
Dans le Web 2.0 actuel, les transactions P2P sont gratuites pour de nombreux consommateurs dans de nombreux pays, ce qui pose directement la question : pourquoi les consommateurs devraient-ils payer pour les transactions P2P off-chain de Bloc? L’abstraction de compte fournit une solution : si un tiers (tel qu’un fournisseur de portefeuille de technologie financière) est prêt à assumer ces coûts, alors les utilisateurs peuvent contourner ces frais. Dans ce cas, le fournisseur de portefeuille ou le dApp peut agir en tant que caissier, payer les frais de gaz pour les utilisateurs et réduire considérablement les frictions. Le concept de ERC-4337 Paymaster peut inciter les utilisateurs à adopter en permettant aux utilisateurs de réaliser des transactions gratuitement via leur plateforme de portefeuille.
En outre, les Smart Contracts peuvent simplifier la gestion des portefeuilles et fournir une alternative à la vérification de signature pour une authentification à facteurs multiples, améliorant ainsi la sécurité et la récupération des fonds auto-gérés du portefeuille. De plus, ils simplifient l’utilisation des dApps en permettant des autorisations temporaires pour des tâches spécifiques avec des limites personnalisables, telles que l’autorisation de dApps pour effectuer des paiements récurrents à partir de comptes utilisateurs jusqu’à un certain montant. Ces exemples ne sont que des illustrations de la façon dont les Smart Contracts peuvent aider les utilisateurs non natifs de la cryptographie à interagir plus facilement avec la technologie de blocs tout en assurant la sécurité de leur compte.
Notre expérience avec le Paymaster ERC-4337
Utilisation de l’ERC-4337 Paymaster pour les paiements en Jeton ERC-20
Figure 5: Paymaster facilite le paiement de Jeton ERC-20 pour le Blanchiment de capitaux (extrait de code)
À travers notre premier contrat Visa Paymaster, nous explorons si les utilisateurs peuvent utiliser des Jeton de remplacement pour effectuer des paiements en Blanchiment de capitaux, tels que des Jeton stables en dollars ou même à l’avenir, une Monnaie numérique de banque centrale. Dans ce cas, Paymaster effectue des paiements en Blanchiment de capitaux en recevant des Jeton ERC-20 universels équivalents payés par les utilisateurs. Pour la mise en œuvre, nous utilisons le code de départ fourni par la fondation ETH et l’équipe principale d’ERC-4337. Ce contrat d’exemple comprend la logique de gestion de Paymaster et de son Jeton ERC-20 personnalisé. Pour ce contrat, nous introduisons une Allowlist et une fonction de mise à jour du taux de change du Jeton vers ETH. Cela nous permet de mieux simuler le taux de change dynamique entre l’ETH et Jeton dans des conditions réelles. Notre configuration de test implique le déploiement du contrat Portefeuille Smart Contract et l’envoi d’opérations utilisateur. Pour le moment, les options de Portefeuille compatibles avec ERC-4337 sont limitées, nous avons donc décidé d’utiliser le Portefeuille Trampoline développé par la fondation ETH et l’équipe principale d’ERC-4337. Pour envoyer nos opérations utilisateur vers le réseau de test Goerli, nous utilisons le bundler public de Blocknative. Pour une opération utilisateur réussie, le contrat Visa Paymaster doit d’abord vérifier si l’utilisateur a suffisamment de fonds dans l’ERC-20 pour payer les frais de gaz. Une fois confirmé, l’utilisateur effectue le paiement en Blanchiment de capitaux en utilisant ce Jeton ERC-20 universel. Vous pouvez trouver le contrat que nous avons déployé ici, ainsi que les opérations utilisateur traitées.
Utilisation du Paymaster ERC-4337 pour parrainer le Blanchiment de capitaux des utilisateurs
Figure 6: Paymaster sponsorise Blanchiment de capitaux pour les utilisateurs (extrait de code)
Selon notre deuxième cas d’utilisation mentionné, notre autre contrat Visa Paymaster est entièrement sponsorisé par le Blanchiment de capitaux. De même, notre mise en œuvre est basée sur le code de départ¹¹ fourni par la Fondation Ethereum et l’équipe principale ERC-4337. Le code de départ sponsorise gratuitement chaque transaction. Nous avons ajouté une Allowlist qui autorise uniquement les utilisateurs autorisés à interagir avec le contrat Visa Paymaster. Vous pouvez trouver notre contrat déployé ici. ¹² Notre mise en œuvre de test est capable de sponsoriser avec succès les opérations des utilisateurs sur le Blanchiment de capitaux pour les utilisateurs de la Allowlist. Vous pouvez consulter ici une opération utilisateur réussie. ¹³
Le cas d’utilisation de Paymaster va bien au-delà de ce que nous avons souligné dans cet article. En abstrayant la logique de traitement de base de la chaîne de blocs, il peut y avoir de nombreuses expériences utilisateur innovantes. Pour le développement en cours de ERC-4337, nous voyons plusieurs approches possibles pour construire sur la base de nos expériences susmentionnées. Par exemple, au lieu d’exiger l’intégration d’un nouveau jeton ERC-20 personnalisé dans le contrat intelligent de Paymaster, il serait plus facile d’intégrer Paymaster avec des jetons ERC-20 existants (comme USDC). Cette approche nécessite l’utilisation d’une source externe pour déterminer le prix du jeton et vérifier si le contrat de Paymaster a été approuvé pour collecter des frais auprès des utilisateurs spécifiés en jetons. Une approche consiste à déployer un service d’Oracle Machine hors chaîne, qui peut fournir des informations nécessaires telles que le prix du jeton, ainsi qu’une signature que le contrat de Paymaster peut vérifier.
Ou bien, l’ensemble du processus peut être traité hors chaîne avec l’aide du contrat Oracle Machine contenant les données nécessaires. Bien que cette méthode puisse mieux garantir une compensation appropriée pour le caissier, sa mise en œuvre est également plus difficile. Certaines restrictions de l’ERC-4337 rendent difficile pour le Paymaster de vérifier hors chaîne l’Oracle Machine pendant la période de vérification du Paymaster, et les Bundlers refusent généralement les UserOperations nécessitant cela. Pour activer ce processus, il est nécessaire d’établir une alternative pool de mémoire en utilisant une liste de Paymaster de confiance à laquelle le Bundler peut choisir de se joindre. Ces Paymaster de confiance peuvent appeler un contrat oracle, et les UserOperations utilisant ces Paymaster proviendront du pool de mémoire de secours.
Envisager l’avenir
L’interaction entre Portefeuille numérique et Bloc de chaîne peut être une expérience difficile, et de nombreuses personnes considèrent que garantir la facilité d’utilisation est une étape clé pour favoriser une adoption plus large. ERC-4337 jette les bases de futures possibilités intéressantes pour améliorer l’expérience de paiement des utilisateurs hors chaîne grâce à des contrats intelligents auto-gérés, ce qui à son tour peut changer la façon dont les utilisateurs utilisent la monnaie numérique et les actifs numériques.
Lorsqu’il s’agit de ERC-4337, la communauté Ethereum est en train de commencer ce nouveau voyage. Il existe de nombreux projets visant à fournir une infrastructure pour construire des flux basés sur AA, dont certains que nous utilisons dans les tests et mentionnons dans cet article, mais il y a encore un potentiel de hausse considérable. Comme dans tout domaine ouvert, il existe des compromis et des méthodes concurrentes, tels que l’option de Décentralisation offerte par le Bundler public par rapport à la personnalisation du Bundler privé ; la sécurité sans confiance du Paymaster entièrement off-chain par rapport à l’efficacité économique du déploiement off-chain de certains composants ; et les nombreux schémas de signature alternatifs que Portefeuille pourrait utiliser, etc. Ces choix de conception différents peuvent conduire à un ensemble riche d’options pour offrir une expérience de paiement numérique future plus satisfaisante aux utilisateurs.
L’innovation de paiement omniprésente pour tout le monde
En tant que leader mondial des solutions de paiement, Visa s’engage toujours à explorer l’innovation pour répondre aux besoins du monde réel. Nous continuerons à étudier le potentiel des smart contracts et les futures possibilités de programmabilité des devises et des paiements. Dans cet article, nous examinons en profondeur le nouveau cas d’utilisation passionnant pris en charge par les AA on-chain exécutés par ERC-4337 sur la chaîne Ethereum, et expliquons la pratique de bout en bout des transactions ERC-4337, mettant en évidence les mécanismes sous-jacents et leurs différences par rapport aux transactions standard on-chain.
Nous avons étudié et évalué l’ERC-4337 en déployant le contrat Paymaster pour apprendre et évaluer leur utilité potentielle dans la résolution de problèmes du monde réel et améliorer considérablement l’expérience client à travers des interactions off-chain, mettant ainsi l’accent sur deux cas d’utilisation différents. Pour les entreprises impliquées dans ce travail de pointe, notre équipe produit, recherche et ingénierie serait heureuse de discuter des idées de Programmabilité de paiement.
Contactez Visa Crypto via GDLVisaCryptoResearch@visa.com pour en savoir plus sur nos intérêts de recherche et nos activités dans l’écosystème de chiffrement.
*Ce document est uniquement destiné à des fins d’illustration. Il contient une description des produits en développement et doit être compris comme une représentation des fonctionnalités potentielles du produit entièrement déployé. La version finale de ce produit peut ne pas inclure toutes les fonctionnalités décrites dans cette présentation. Dans nos écrits, nous nous conformons scrupuleusement aux termes et concepts clairement définis tels que points d’entrée, payeurs et opérations d’utilisateurs, ainsi qu’à leurs entités hors chaîne correspondantes EntryPoint, UserOperation et Paymaster. Cette approche suit les conventions établies dans la proposition originale ERC-4337. *
Merci à Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot et John Rising, co-fondateur de Stackup, pour leur relecture.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Analyse des données de big dump 85 : Quelles pièces Rebondissent le plus rapidement ? Quelles zones sont les plus faibles ?
Rédaction : Mustafa Bedawala, Mert Ozbay et Catherine Gu
Compilation: GWEI Research
Malgré des progrès constants, il est actuellement difficile pour la chaîne Bloc de fournir le même niveau de flexibilité et d’expérience utilisateur que l’écosystème de paiement numérique principal. Cependant, les nouvelles technologies peuvent améliorer l’expérience de paiement lors des transactions avec la Monnaie numérique. Dans “Paiement automatique avec Portefeuille autonome”, nous explorons l’application de technologies de pointe dans le domaine des paiements automatiques en utilisant le concept d’abstraction de compte (AA) sur la chaîne publique Blocoff-chain.¹ Nous poursuivons notre exploration de l’AA et de l’amélioration de l’expérience de paiement chiffrée pour voir comment le paradigme AA actuel sur la chaîne ETH offre des solutions créatives pour traiter le Blanchiment de capitaux : les utilisateurs peuvent-ils payer le Blanchiment de capitaux sur la chaîne ETH avec des stablecoins, d’autres Jetons ERC-20, ou pas du tout ? Avant que la Monnaie numérique ne soit largement adoptée, trouver des solutions innovantes pour une expérience d’embauche et de transaction chiffrée sans friction est essentiel.
La description technique de l’ERC-4337 est la norme actuelle mise en œuvre par AA sur Ethereum, dans le but de mieux comprendre l’ERC-4337. Nous discutons du déploiement expérimental de deux ensembles de contrats Paymaster par Visa pour démontrer comment repenser les frais de gaz sur la blockchain afin d’améliorer la convivialité pour les utilisateurs.
abstraction de compte et ERC-4337
Pour mieux comprendre la proposition de valeur de l’abstraction de compte, revenons brièvement sur les deux types de comptes actuellement présents sur la chaîne ETH : les comptes externes (EOAs) et les comptes contractuels (CAs), généralement appelés comptes utilisateur et smart contracts. Les EOAs contrôlés par la clé privée permettent aux utilisateurs d’envoyer des transactions. Cependant, ils manquent de programmabilité des smart contracts, les rendant plus rigides. En revanche, les CAs ont du code exécutable, mais ne peuvent pas initier de transactions de manière indépendante. Les transactions doivent toujours provenir du compte de l’utilisateur et contenir sa signature, que ce soit pour un simple transfert de jetons ou des opérations complexes exécutées via de nombreux smart contracts.
Le concept d’abstraction de compte (AA) vise à bénéficier de la programmabilité de CA pour le bénéfice des utilisateurs finaux. Lors de la rédaction de Smart Contract, il est courant de définir un propriétaire pour contrôler le comportement du contrat. Un Portefeuille autonome construit en tant que Smart Contract peut offrir plus de fonctionnalités aux utilisateurs que le Portefeuille basé sur EOA. Cela est réalisé en introduisant un nouveau standard Ethereum appelé ERC-4337, proposé par des membres de la communauté Ethereum, y compris le fondateur d’Ethereum Vitalik Buterin. ERC-4337 permet au propriétaire de posséder directement le compte Smart Contract sans avoir besoin d’une signature EOA. Bien que le propriétaire n’utilise peut-être pas de signature EOA au sens traditionnel, ils ont toujours besoin d’un processus d’authentification sécurisé pour assurer la propriété correcte et la gestion du compte Smart Contract. À son tour, ce compte Smart Contract peut gérer des tâches telles que l’authentification à plusieurs facteurs, les paiements périodiques et les règles et stratégies personnalisées définies par l’utilisateur final.
ERC-4337 est le dernier développement d’AA, initialement proposé en 2021 en tant que proposition d’amélioration d’ETH (EIP)-4337. Il a suivi le processus de consultation d’ETH (ERC), qui établit des normes pour les applications sur le réseau ETH. La différence entre EIP et ERC réside dans leur portée et leurs exigences d’adoption. ERC définit comment les smart contracts doivent fonctionner et interagir au niveau de l’application. Ils n’ont pas besoin d’être adoptés par tous les participants comme les EIP de base (propositions d’amélioration d’ETH), qui nécessitent un consensus plus large au niveau du protocole et doivent être déployés dans la communauté. La transition de l’EIP-4337 à l’ERC-4337 marque la satisfaction des normes requises par les applications sur le réseau ETH, en faisant désormais officiellement partie de l’écosystème ETH. En mars 2023, les composants clés de l’ERC-4337 ont déjà été déployés sur le réseau principal ETH. Contrairement à l’abstraction de compte précédente, l’ERC-4337 permet d’activer l’abstraction de compte sur le réseau ETH sans modifier la couche de consensus du protocole de la blockchain. Ce développement permet aux participants du réseau blockchain d’explorer et d’expérimenter de nouvelles expériences utilisateur immédiatement, sans attendre de grandes mises à jour du réseau. Il convient de noter que l’un des avantages de l’ERC-4337 est sa compatibilité avec tout réseau blockchain utilisant la machine virtuelle ETH, offrant ainsi à AA une norme au-delà d’ETH.
Parcourir les transactions ERC-4337
Dans une transaction EOA typique, l’utilisateur interagit avec son portefeuille auto-géré pour créer, signer la transaction et la soumettre au mempool public. La charge utile de la transaction signée par la Clé privée de l’utilisateur est ensuite propagée par le Nœud au mempool pair à pair (P2P). Les validateurs ou des entités spécialisées (appelées constructeurs) sélectionnent des transactions appropriées et rentables dans le mempool public pour les exécuter et les fusionner dans la Blockchain.
Figure 1: Processus typique de transaction sur Ethereum
ERC-4337 introduit un processus de transaction alternatif différent de la méthode EOA traditionnelle, ajoutant une nouvelle étape avant que la transaction n’atteigne l’adresse EOA de l’agent. Les utilisateurs envoient leur intention sous forme d’opérations utilisateur, qui sont ensuite propagées via un mempool d’opérations utilisateur dédié. Ce mempool unique est surveillé par des agrégateurs qui agissent en tant qu’EOA de l’agent, pour envoyer les opérations utilisateur au mempool public sous une forme que le réseau peut traiter comme des transactions EOA classiques. Ensuite, ces transactions suivent le même processus que les transactions normales, soit en rejoignant le mempool public, soit en allant directement au constructeur.
Nous avons progressivement présenté le processus de bout en bout des transactions ERC-4337, de la génération de UserOperation à l’exécution. Avant d’approfondir l’étude, il est nécessaire de définir le concept de Paymaster, qui joue un rôle essentiel dans ce processus et est au cœur de nos propres explorations. Le Paymaster est un Smart Contractcompte facultatif qui peut sponsoriser le compte de contratcompte (un contrat Smart Contract centré sur l’utilisateur) pour Blanchiment de capitaux. Les Paymasters évaluent s’ils acceptent les UserOperation lors de la phase de vérification et mettent en œuvre toute logique de frais requise lors de la phase d’exécution. Ce faisant, ils peuvent parrainer les utilisateurs pour Blanchiment de capitaux et permettre aux utilisateurs de payer les frais de carburant en jetons ERC-20 (comme les jetons stables en dollars).
Figure 2: Processus de transaction ERC-4337
Les utilisateurs génèrent des opérations utilisateur via un portefeuille Smart Contract conforme à la norme ERC-4337. Les opérations utilisateur encapsulent l’intention de l’utilisateur d’interagir avec la chaîne de blocs, et l’utilisateur les signe pour une authentification. Une fois générée, l’opération utilisateur est soumise à un Mempool d’opérations utilisateur dédié, qui est un espace de stockage spécifique aux opérations utilisateur et distinct du mempool standard des transactions Ethereum.
Les Bundlers sont un type de participants spécialisés qui surveillent le UserOperation Mempool, exécutent des simulations et assemblent une série d’opérations utilisateur en un seul paquet de transactions. Les Bundlers sont responsables de la collecte des UserOperations et de leur soumission au contrat EntryPoint, optimisant l’utilisation du gas et maximisant les profits en utilisant la logique des frais de priorité.
3.EntryPoint est un contrat qui reçoit un lot d’opérations utilisateur liées. Il agit en tant que coordinateur central pour gérer les opérations utilisateur dans le processus de transaction ERC-4337.
Si UserOperation est spécifié, le contrat EntryPoint interagit avec le contrat Paymaster. Comme mentionné précédemment, les Paymasters peuvent parrainer le Blanchiment de capitaux du compte du contrat. EntryPoint vérifie si le payeur a suffisamment de dépôts ou si le contrat compte a suffisamment de fonds pour payer les frais de carburant. Pendant l’exécution, s’il y a un Paymaster impliqué, il peut mettre en œuvre une logique de frais personnalisée, comme nous le verrons dans la section suivante.
Ensuite, le contrat EntryPoint appelle le contrat compte, et si nécessaire, appelle le caissier pour valider la signature dans UserOperation. Le contrat compte est un compte d’utilisateur qui interagit sans encombre avec le contrat EntryPoint pour faciliter l’exécution de la transaction. Une fois la validation réussie, EntryPoint transfère les données pertinentes de chaque UserOperation au compte de contrat pour démarrer le processus d’exécution.
Abstraction et application pratique de compte
Avec l’exploration continue des applications du Bloc Blockchain dans le monde réel, les portefeuilles auto-gérés deviennent un choix populaire pour les utilisateurs détenant et utilisant leur Monnaie numérique pour effectuer des transactions. Depuis la création d’Éther, environ 180 millions d’Adresses uniques ont été utilisées pour des transactions, y compris tous les types de comptes et plusieurs comptes appartenant à une même personne ou à un groupe de personnes.³ Cependant, chaque mois, nous ne voyons que des millions d’interactions off-chain initiées par de vraies personnes, avec environ 1 million de transactions off-chain sur le Mainnet Ethereum chaque jour.⁴ En comparaison, Visa a traité 258 milliards de transactions en 2022, soit en moyenne 7,07 milliards de transactions par jour, avec 4,1 milliards de cartes Visa en circulation dans le monde.⁵ Si la Blockchain prend en charge une expérience de paiement de même ampleur et une facilité d’utilisation similaire, peut-elle atteindre un niveau d’adoption comparable ? Les mesures pouvant être prises dans cette direction incluent la possibilité pour les utilisateurs de payer les frais de gaz ou de payer les frais de transaction avec des Jetons ERC-20.
Utilisation de l’ERC-4337 Paymaster pour les paiements en Jeton ERC-20
Figure 3: Paymaster facilitates the use of ERC-20 Jeton for money laundering
Aujourd’hui, pour effectuer des transactions sur le réseau ETH Bloc off-chain, les utilisateurs doivent se procurer de l’ETH pour payer les frais de gas ; de même, pour effectuer des transactions sur le réseau Polygon Bloc off-chain, les utilisateurs doivent se procurer du MATIC natif. Existe-t-il une solution pour éliminer le besoin d’acquérir des Jetons locaux de différentes chaînes Bloc uniquement dans le but de payer les frais de gas ? Cette situation est similaire à la valeur du réseau central de paiement transfrontalier de Visa, où les voyageurs peuvent dépenser la monnaie locale sans avoir à l’acquérir au préalable. Dans cette version du contrat Paymaster, le contrat peut agir en tant qu’intermédiaire pour le service de conversion de Monnaie numérique. Ce service peut recevoir de la Monnaie numérique de la part des utilisateurs, puis la convertir en Jetons natifs en fonction du Taux de change actuel pour représenter le paiement des frais de gas par les utilisateurs. De plus, cela peut être réalisé via un financement instantané, ce qui signifie que les utilisateurs n’ont qu’à fournir des fonds pour les coûts de gas au moment de la transaction, sans aucune exigence de financement préalable, afin d’optimiser leur gestion de trésorerie.
Utilisation du Paymaster ERC-4337 pour parrainer le Blanchiment de capitaux des utilisateurs
Figure 4: Paymaster sponsorise Blanchiment de capitaux pour les utilisateurs
Dans le Web 2.0 actuel, les transactions P2P sont gratuites pour de nombreux consommateurs dans de nombreux pays, ce qui pose directement la question : pourquoi les consommateurs devraient-ils payer pour les transactions P2P off-chain de Bloc? L’abstraction de compte fournit une solution : si un tiers (tel qu’un fournisseur de portefeuille de technologie financière) est prêt à assumer ces coûts, alors les utilisateurs peuvent contourner ces frais. Dans ce cas, le fournisseur de portefeuille ou le dApp peut agir en tant que caissier, payer les frais de gaz pour les utilisateurs et réduire considérablement les frictions. Le concept de ERC-4337 Paymaster peut inciter les utilisateurs à adopter en permettant aux utilisateurs de réaliser des transactions gratuitement via leur plateforme de portefeuille.
En outre, les Smart Contracts peuvent simplifier la gestion des portefeuilles et fournir une alternative à la vérification de signature pour une authentification à facteurs multiples, améliorant ainsi la sécurité et la récupération des fonds auto-gérés du portefeuille. De plus, ils simplifient l’utilisation des dApps en permettant des autorisations temporaires pour des tâches spécifiques avec des limites personnalisables, telles que l’autorisation de dApps pour effectuer des paiements récurrents à partir de comptes utilisateurs jusqu’à un certain montant. Ces exemples ne sont que des illustrations de la façon dont les Smart Contracts peuvent aider les utilisateurs non natifs de la cryptographie à interagir plus facilement avec la technologie de blocs tout en assurant la sécurité de leur compte.
Notre expérience avec le Paymaster ERC-4337
Utilisation de l’ERC-4337 Paymaster pour les paiements en Jeton ERC-20
Figure 5: Paymaster facilite le paiement de Jeton ERC-20 pour le Blanchiment de capitaux (extrait de code)
À travers notre premier contrat Visa Paymaster, nous explorons si les utilisateurs peuvent utiliser des Jeton de remplacement pour effectuer des paiements en Blanchiment de capitaux, tels que des Jeton stables en dollars ou même à l’avenir, une Monnaie numérique de banque centrale. Dans ce cas, Paymaster effectue des paiements en Blanchiment de capitaux en recevant des Jeton ERC-20 universels équivalents payés par les utilisateurs. Pour la mise en œuvre, nous utilisons le code de départ fourni par la fondation ETH et l’équipe principale d’ERC-4337. Ce contrat d’exemple comprend la logique de gestion de Paymaster et de son Jeton ERC-20 personnalisé. Pour ce contrat, nous introduisons une Allowlist et une fonction de mise à jour du taux de change du Jeton vers ETH. Cela nous permet de mieux simuler le taux de change dynamique entre l’ETH et Jeton dans des conditions réelles. Notre configuration de test implique le déploiement du contrat Portefeuille Smart Contract et l’envoi d’opérations utilisateur. Pour le moment, les options de Portefeuille compatibles avec ERC-4337 sont limitées, nous avons donc décidé d’utiliser le Portefeuille Trampoline développé par la fondation ETH et l’équipe principale d’ERC-4337. Pour envoyer nos opérations utilisateur vers le réseau de test Goerli, nous utilisons le bundler public de Blocknative. Pour une opération utilisateur réussie, le contrat Visa Paymaster doit d’abord vérifier si l’utilisateur a suffisamment de fonds dans l’ERC-20 pour payer les frais de gaz. Une fois confirmé, l’utilisateur effectue le paiement en Blanchiment de capitaux en utilisant ce Jeton ERC-20 universel. Vous pouvez trouver le contrat que nous avons déployé ici, ainsi que les opérations utilisateur traitées.
Utilisation du Paymaster ERC-4337 pour parrainer le Blanchiment de capitaux des utilisateurs
Figure 6: Paymaster sponsorise Blanchiment de capitaux pour les utilisateurs (extrait de code)
Selon notre deuxième cas d’utilisation mentionné, notre autre contrat Visa Paymaster est entièrement sponsorisé par le Blanchiment de capitaux. De même, notre mise en œuvre est basée sur le code de départ¹¹ fourni par la Fondation Ethereum et l’équipe principale ERC-4337. Le code de départ sponsorise gratuitement chaque transaction. Nous avons ajouté une Allowlist qui autorise uniquement les utilisateurs autorisés à interagir avec le contrat Visa Paymaster. Vous pouvez trouver notre contrat déployé ici. ¹² Notre mise en œuvre de test est capable de sponsoriser avec succès les opérations des utilisateurs sur le Blanchiment de capitaux pour les utilisateurs de la Allowlist. Vous pouvez consulter ici une opération utilisateur réussie. ¹³
Le cas d’utilisation de Paymaster va bien au-delà de ce que nous avons souligné dans cet article. En abstrayant la logique de traitement de base de la chaîne de blocs, il peut y avoir de nombreuses expériences utilisateur innovantes. Pour le développement en cours de ERC-4337, nous voyons plusieurs approches possibles pour construire sur la base de nos expériences susmentionnées. Par exemple, au lieu d’exiger l’intégration d’un nouveau jeton ERC-20 personnalisé dans le contrat intelligent de Paymaster, il serait plus facile d’intégrer Paymaster avec des jetons ERC-20 existants (comme USDC). Cette approche nécessite l’utilisation d’une source externe pour déterminer le prix du jeton et vérifier si le contrat de Paymaster a été approuvé pour collecter des frais auprès des utilisateurs spécifiés en jetons. Une approche consiste à déployer un service d’Oracle Machine hors chaîne, qui peut fournir des informations nécessaires telles que le prix du jeton, ainsi qu’une signature que le contrat de Paymaster peut vérifier.
Ou bien, l’ensemble du processus peut être traité hors chaîne avec l’aide du contrat Oracle Machine contenant les données nécessaires. Bien que cette méthode puisse mieux garantir une compensation appropriée pour le caissier, sa mise en œuvre est également plus difficile. Certaines restrictions de l’ERC-4337 rendent difficile pour le Paymaster de vérifier hors chaîne l’Oracle Machine pendant la période de vérification du Paymaster, et les Bundlers refusent généralement les UserOperations nécessitant cela. Pour activer ce processus, il est nécessaire d’établir une alternative pool de mémoire en utilisant une liste de Paymaster de confiance à laquelle le Bundler peut choisir de se joindre. Ces Paymaster de confiance peuvent appeler un contrat oracle, et les UserOperations utilisant ces Paymaster proviendront du pool de mémoire de secours.
Envisager l’avenir
L’interaction entre Portefeuille numérique et Bloc de chaîne peut être une expérience difficile, et de nombreuses personnes considèrent que garantir la facilité d’utilisation est une étape clé pour favoriser une adoption plus large. ERC-4337 jette les bases de futures possibilités intéressantes pour améliorer l’expérience de paiement des utilisateurs hors chaîne grâce à des contrats intelligents auto-gérés, ce qui à son tour peut changer la façon dont les utilisateurs utilisent la monnaie numérique et les actifs numériques.
Lorsqu’il s’agit de ERC-4337, la communauté Ethereum est en train de commencer ce nouveau voyage. Il existe de nombreux projets visant à fournir une infrastructure pour construire des flux basés sur AA, dont certains que nous utilisons dans les tests et mentionnons dans cet article, mais il y a encore un potentiel de hausse considérable. Comme dans tout domaine ouvert, il existe des compromis et des méthodes concurrentes, tels que l’option de Décentralisation offerte par le Bundler public par rapport à la personnalisation du Bundler privé ; la sécurité sans confiance du Paymaster entièrement off-chain par rapport à l’efficacité économique du déploiement off-chain de certains composants ; et les nombreux schémas de signature alternatifs que Portefeuille pourrait utiliser, etc. Ces choix de conception différents peuvent conduire à un ensemble riche d’options pour offrir une expérience de paiement numérique future plus satisfaisante aux utilisateurs.
L’innovation de paiement omniprésente pour tout le monde
En tant que leader mondial des solutions de paiement, Visa s’engage toujours à explorer l’innovation pour répondre aux besoins du monde réel. Nous continuerons à étudier le potentiel des smart contracts et les futures possibilités de programmabilité des devises et des paiements. Dans cet article, nous examinons en profondeur le nouveau cas d’utilisation passionnant pris en charge par les AA on-chain exécutés par ERC-4337 sur la chaîne Ethereum, et expliquons la pratique de bout en bout des transactions ERC-4337, mettant en évidence les mécanismes sous-jacents et leurs différences par rapport aux transactions standard on-chain.
Nous avons étudié et évalué l’ERC-4337 en déployant le contrat Paymaster pour apprendre et évaluer leur utilité potentielle dans la résolution de problèmes du monde réel et améliorer considérablement l’expérience client à travers des interactions off-chain, mettant ainsi l’accent sur deux cas d’utilisation différents. Pour les entreprises impliquées dans ce travail de pointe, notre équipe produit, recherche et ingénierie serait heureuse de discuter des idées de Programmabilité de paiement.
Contactez Visa Crypto via GDLVisaCryptoResearch@visa.com pour en savoir plus sur nos intérêts de recherche et nos activités dans l’écosystème de chiffrement.
*Ce document est uniquement destiné à des fins d’illustration. Il contient une description des produits en développement et doit être compris comme une représentation des fonctionnalités potentielles du produit entièrement déployé. La version finale de ce produit peut ne pas inclure toutes les fonctionnalités décrites dans cette présentation. Dans nos écrits, nous nous conformons scrupuleusement aux termes et concepts clairement définis tels que points d’entrée, payeurs et opérations d’utilisateurs, ainsi qu’à leurs entités hors chaîne correspondantes EntryPoint, UserOperation et Paymaster. Cette approche suit les conventions établies dans la proposition originale ERC-4337. *
Merci à Cuy Sheffield, Andrew Beams, Mahdi Zamani, Mohsen Minaei, Aaron Salot et John Rising, co-fondateur de Stackup, pour leur relecture.