Visa : repenser les transactions cryptographiques à partir de l'abstraction de compte

Par Mustafa Bedawala, Mert Ozbay et Catherine Gu; Visa Malgré des progrès continus, la blockchain a actuellement du mal à offrir le même niveau de flexibilité et d'expérience utilisateur que les écosystèmes de paiement numérique traditionnels. Cependant, les technologies émergentes peuvent améliorer l'expérience de paiement lors des transactions avec des devises numériques. Dans "Paiements automatisés pour les portefeuilles auto-hébergés", nous nous penchons sur l'utilisation d'une technologie de pointe pour les paiements automatisés en tirant parti du concept d'abstraction de compte (AA) sur les chaînes de blocs publiques. ¹ Notre exploration d'AA et d'une expérience de paiement cryptographique améliorée se poursuit avec un aperçu de la façon dont le paradigme AA actuel sur Ethereum offre des solutions créatives pour gérer les frais de transaction : les utilisateurs peuvent utiliser des stablecoins, d'autres jetons ERC-20 pour payer les frais de transaction Ethereum, ou ne pas pas payer du tout ? Il est essentiel de trouver des solutions innovantes pour permettre une expérience d'intégration et de trading crypto sans friction jusqu'à ce que les monnaies numériques soient adoptées par le grand public.

Un aperçu technique de l'ERC-4337, la norme actuelle pour les implémentations AA sur Ethereum, vise à mieux comprendre l'ERC-4337. Nous discutons du déploiement expérimental par Visa de deux ensembles de contrats Paymaster pour montrer comment les frais de gaz sur la blockchain peuvent être repensés pour améliorer la commodité des utilisateurs.

Abstraction de compte et ERC-4337

Pour mieux comprendre la proposition de valeur de l'abstraction de compte, passons brièvement en revue les deux types de comptes qui existent actuellement sur Ethereum : les comptes externes (EOA) et les comptes contractuels (CA), communément appelés comptes d'utilisateurs et CA, respectivement. . EOA, contrôlé par une clé privée, permet aux utilisateurs d'envoyer des transactions. **Cependant, ils n'ont pas la programmabilité des contrats intelligents, ce qui les rend plus rigides. En revanche, les CA possèdent un 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 la signature de l'utilisateur, qu'il s'agisse d'un simple transfert de jetons ou d'une opération complexe effectuée via de nombreux contrats intelligents.

**Le concept d'abstraction de compte (AA) est conçu pour tirer parti de la programmabilité des autorités de certification au profit des utilisateurs finaux. ** Lors de la rédaction de contrats intelligents, il est courant de définir un propriétaire pour contrôler le comportement du contrat. Les portefeuilles auto-hébergés conçus comme des contrats intelligents peuvent fournir aux utilisateurs plus de fonctionnalités que les portefeuilles basés sur EOA. Ceci est réalisé grâce à l'introduction d'une nouvelle norme Ethereum appelée ERC-4337, proposée par des membres de la communauté Ethereum, dont le fondateur d'Ethereum, Vitalik Buterin. ² ERC-4337 permet au propriétaire de posséder directement le compte de contrat intelligent sans signature EOA. Bien que le propriétaire ne signe pas l'EOA au sens traditionnel, sa propriété du contrat intelligent nécessite toujours un processus d'authentification sécurisé pour s'assurer qu'il contrôle et gère correctement le compte du contrat intelligent. À son tour, ce compte de contrat intelligent peut gérer des tâches telles que l'authentification multifacteur, les paiements récurrents et les règles et politiques personnalisées définies par les utilisateurs finaux.

ERC-4337 est le dernier développement d'AA, proposé à l'origine en 2021 sous le nom de proposition d'amélioration Ethereum (EIP)-4337. Il est passé par le processus Ethereum Request for Comments (ERC), qui établit des normes pour les applications sur le réseau Ethereum. La différence entre les EIP et les ERC réside dans leur portée et leurs exigences d'adoption. ERC définit la manière dont les contrats intelligents doivent fonctionner et interagir les uns avec les autres au niveau de l'application. Ils ne nécessitent pas l'adoption par tous les participants comme les EIP de base (Ethereum Improvement Proposals), qui sont déployés au niveau du protocole et nécessitent un consensus plus large au sein de la communauté. La transition de EIP-4337 à ERC-4337 marque que la proposition a satisfait aux normes requises pour les applications Ethereum et fait désormais officiellement partie de l'écosystème Ethereum. Depuis mars 2023, les composants de base de l'ERC-4337 ont été déployés sur le réseau principal Ethereum. Contrairement aux EIP d'abstraction de compte précédents, ERC-4337 ne nécessite aucune modification de la couche consensus du protocole blockchain pour permettre l'abstraction de compte sur le réseau Ethereum. ² Ce développement permet aux participants du réseau blockchain d'explorer et d'expérimenter immédiatement de nouvelles expériences utilisateur sans attendre les mises à niveau majeures du réseau. Il convient de noter que l'un des avantages de l'ERC-4337 est qu'il est compatible avec n'importe quelle blockchain utilisant la machine virtuelle Ethereum, fournissant à AA un standard au-delà d'Ethereum lui-même.

Traverser les transactions ERC-4337

** Dans une transaction EOA typique, les utilisateurs interagissent avec leurs portefeuilles auto-hébergés pour créer, signer et soumettre des transactions au mempool public. La charge utile de transaction générée et signée avec la clé privée de l'utilisateur est ensuite propagée à travers les nœuds vers un mempool peer-to-peer (P2P). Des validateurs ou des entités spécialisées (appelées constructeurs) sélectionnent des transactions appropriées et rentables à partir d'un mempool public pour les exécuter et les intégrer dans la blockchain. **

** NfTTEWrJqktTmEwdalXGlex83Yi3krN5ndz26weD.png**

Figure 1 : Flux de transaction typique d'Ethereum

ERC-4337 introduit un processus de transaction alternatif à la méthode EOA traditionnelle en ajoutant une nouvelle étape avant que la transaction n'atteigne l'adresse proxy EOA. Les utilisateurs envoient leurs intentions en tant que UserOperations, qui sont ensuite propagées via un mempool UserOperations dédié. Ce mempool unique est surveillé par le bundler, qui agit comme un proxy EOA, envoyant des UserOperations au mempool public sous la forme de transactions EOA typiques que le réseau peut gérer. Ces transactions suivent ensuite le même flux que les transactions régulières, soit en rejoignant le mempool public, soit en allant directement aux constructeurs.

Nous présentons étape par étape le processus de bout en bout d'une transaction ERC-4337, de la génération de UserOperation à l'exécution. Avant de plonger, il est impératif de définir le concept de conteur, qui joue un rôle essentiel dans ce processus et est au cœur de notre propre exploration. Paymaster est un compte de contrat intelligent facultatif qui peut parrainer des frais de transaction pour les comptes de contrat (contrats intelligents centrés sur l'utilisateur). Paymasters évalue si l'UserOperation est acceptée pendant la phase de validation et implémente toute logique de frais requise pendant la phase d'exécution. Ce faisant, ils peuvent parrainer des frais de transaction pour les utilisateurs et permettre aux utilisateurs de payer le gaz en utilisant des jetons ERC-20 tels que des stablecoins en USD.

Figure 2 : Processus de transaction ERC-4337

Figure 2 : Processus de transaction ERC-4337

**1. L'utilisateur génère des UserOperations via le portefeuille de contrats intelligents conforme à la norme ERC-4337. ** UserOperations encapsule l'intention de l'utilisateur d'interagir avec la blockchain, que l'utilisateur signe pour l'authentification. Une fois générées, les UserOperations sont engagées dans le UserOperation Mempool dédié, un stockage dédié aux UserOperations distinct du mempool de transaction Ethereum standard.

**2. Les bundlers sont une classe spécialisée d'acteurs qui surveillent le UserOperation Mempool, exécutent des simulations et assemblent une série d'UserOperations en un seul bundle de transactions. ** Les bundlers sont responsables de la collecte des UserOperations et de leur soumission au contrat EntryPoint, en optimisant l'utilisation du gaz et en maximisant les profits en utilisant la logique de paiement prioritaire.

**3. Le contrat EntryPoint reçoit un lot groupé d'opérations utilisateur. ** Il agit en tant que coordinateur central pour la gestion des UserOperations dans le flux de transactions ERC-4337.

**4. Si UserOperation est spécifié, le contrat EntryPoint interagira avec le contrat Paymaster. **Comme mentionné précédemment, Paymasters peut parrainer des frais de transaction pour les comptes contractuels. EntryPoint vérifie que le payeur dispose de dépôts suffisants ou que le compte du contrat dispose de fonds suffisants pour payer l'essence. Lors de l'exécution, si Paymaster est impliqué, il peut implémenter une logique de frais personnalisée, que nous démontrons dans la section suivante.

**5. Ensuite, le contrat EntryPoint appelle le compte du contrat et, si nécessaire, le caissier pour vérifier la signature dans UserOperation. **Un compte de contrat est un compte d'utilisateur qui interagit de manière transparente avec le contrat EntryPoint pour faciliter l'exécution des transactions. Une fois la vérification réussie, EntryPoint transfère les données pertinentes de chaque UserOperation au compte du contrat et démarre le processus d'exécution.

Abstraction de compte et application pratique

** Alors que la technologie blockchain continue d'explorer les applications du monde réel, les portefeuilles auto-hébergés deviennent une option populaire pour les utilisateurs pour détenir et effectuer des transactions avec leurs devises numériques. ** Depuis la création d'Ethereum, environ 180 millions d'adresses uniques ont fait l'objet de transactions, y compris des comptes de tous types et plusieurs comptes appartenant au même individu ou groupe d'individus. "Cependant, chaque mois, nous ne voyons que des millions d'interactions en chaîne initiées par de vraies personnes, avec une activité quotidienne en chaîne sur le réseau principal Ethereum d'environ 1 million de transactions par jour. ⁴ En comparaison, Visa a traité 258 milliards de transactions en 2022, soit une moyenne de 707 millions de transactions par jour, et il y a actuellement 4,1 milliards de cartes liées à Visa en circulation dans le monde. ⁵ Les blockchains pourraient-elles bénéficier de niveaux d'adoption comparables si elles prenaient en charge le même éventail d'expériences de paiement avec la même facilité d'utilisation ? Les étapes possibles dans cette direction comprennent la suppression des frais de gaz pour les utilisateurs ou leur permettre de payer des frais de transaction en jetons ERC-20.

Utilisez ERC-4337 Paymaster pour payer avec des jetons ERC-20

Figure 3 : Paymaster facilite le paiement des frais de transaction à l'aide de jetons ERC-20

Figure 3 : Paymaster facilite le paiement des frais de transaction à l'aide de jetons ERC-20

Pour effectuer des transactions sur la blockchain Ethereum aujourd'hui, les utilisateurs doivent obtenir ETH pour payer les frais de gaz ; de même, pour effectuer des transactions sur la blockchain Polygon, les utilisateurs doivent obtenir le jeton natif MATIC. Existe-t-il une solution qui supprime le besoin d'accumuler différentes gammes de jetons de blockchain natifs uniquement dans le but de payer le gaz ? La situation est similaire à la valeur du réseau central de paiements transfrontaliers de Visa, où les voyageurs peuvent dépenser dans leur devise locale sans l'acquérir au préalable. Dans cette version du contrat Paymaster, le contrat peut agir comme un service intermédiaire de conversion de devises. Le service peut collecter de la monnaie numérique auprès des utilisateurs, puis la convertir en un jeton natif basé sur le taux de change en vigueur pour payer le gaz au nom de l'utilisateur. De plus, cela peut être fait avec un financement instantané, ce qui signifie que les utilisateurs n'ont qu'à financer les coûts du gaz au moment de la transaction sans aucune exigence de financement initial, pour optimiser leur gestion de trésorerie.

Frais de transaction du sponsor pour les utilisateurs utilisant ERC-4337 Paymaster

Figure 4 : Paymaster sponsorise les frais de transaction pour les utilisateurs

Figure 4 : Paymaster sponsorise les frais de transaction pour les utilisateurs

Les transactions P2P sur le Web 2.0 sont aujourd'hui gratuites pour les consommateurs dans de nombreux pays, ce qui soulève une question immédiate : pourquoi les consommateurs devraient-ils payer pour les transactions P2P sur la blockchain ? Account Abstraction fournit une solution qui permet aux utilisateurs de contourner ces frais si un tiers (tel qu'un fournisseur de portefeuille fintech) est prêt à les couvrir. Dans ce cas, le fournisseur de portefeuille ou dApp peut agir en tant que caissier, payer les frais d'essence pour l'utilisateur et réduire considérablement les frictions. Le concept ERC-4337 Paymaster peut encourager l'adoption par les utilisateurs en leur permettant d'effectuer gratuitement des transactions via leur plateforme de portefeuille.

Au-delà de cela, ** les comptes de contrat intelligents peuvent simplifier la gestion des portefeuilles et fournir une alternative à la vérification des signatures, permettant une authentification multi-facteurs pour une sécurité accrue et la récupération des fonds dans les portefeuilles auto-dépositaires. **** De plus, ils simplifient l'utilisation des dApps en autorisant des autorisations temporaires pour des tâches spécifiques avec des limites personnalisables, telles que l'autorisation des dApps à traiter les paiements pull récurrents à partir des comptes d'utilisateurs, jusqu'à un certain montant. **Ces exemples ne sont que des exemples de la façon dont les contrats intelligents peuvent aider les utilisateurs non crypto-natifs à interagir plus facilement avec la technologie blockchain tout en protégeant leurs comptes.

Nos expériences avec ERC-4337 Paymaster

Utilisez ERC-4337 Paymaster pour payer avec des jetons ERC-20

UfeQgL0sIh8aEw132khH0YtCE3IrfwfHJVLXgNzG.png

Figure 5 : Paymaster facilite le paiement des frais de transaction à l'aide de jetons ERC-20 (extrait de code)

Avec notre premier contrat Visa Paymaster, nous explorons si les utilisateurs peuvent payer des frais de transaction avec des jetons alternatifs, tels que des stablecoins en USD, ou même des devises numériques de la banque centrale à l'avenir. Dans ce cas, Paymaster paie les frais de transaction ETH en recevant l'équivalent d'un jeton ERC-20 générique payé par l'utilisateur. Pour l'implémentation, nous avons utilisé le code de démarrage fourni par la Fondation Ethereum et l'équipe principale ERC-4337⁶. Cet exemple de contrat contient la logique de gestion de Paymaster et son jeton ERC-20 personnalisé. Pour ce contrat, nous introduisons une liste blanche et une fonction pour mettre à jour le taux de conversion de jeton en ETH. Cela nous permet de mieux simuler les conditions réelles où le taux de change entre ETH et jetons est dynamique. Notre configuration de test impliquait le déploiement d'un portefeuille de contrats intelligents et l'envoi d'actions utilisateur. Actuellement, les options de portefeuille compatibles ERC-4337 sont limitées, nous avons décidé d'utiliser le portefeuille Trampoline construit par la Fondation Ethereum et l'équipe principale ERC-4337. ⁷ Pour envoyer nos actions utilisateur au Goerli Testnet, nous avons utilisé le Bundler public de Blocknative. ⁸ Pour une UserOperation réussie, le contrat Visa Paymaster doit d'abord vérifier si l'utilisateur dispose de suffisamment de fonds dans ERC-20 pour payer les frais de gaz. Après confirmation, les utilisateurs paient des frais de transaction avec ce jeton générique ERC-20. Vous pouvez trouver notre contrat déployé, ⁹ et le UserOperation géré ici.

Frais de transaction du sponsor pour les utilisateurs utilisant ERC-4337 Paymaster

3XRY1ePS3qnOQM7J3XHlWaac8U2tCoFJQwR0co7Q.png

Figure 6 : Paymaster sponsorise les frais de transaction pour les utilisateurs (extrait de code)

Selon le deuxième cas d'utilisation que nous avons mentionné, notre autre contrat Visa Paymaster sponsorise entièrement les frais de transaction. Encore une fois, notre implémentation est basée sur le code de démarrage¹¹ fourni par la Fondation Ethereum et l'équipe centrale ERC-4337. Origination Code sponsorise chaque transaction pro bono. Nous avons ajouté une liste blanche pour autoriser uniquement les utilisateurs autorisés à interagir avec le contrat Visa Paymaster. Vous pouvez trouver notre contrat déployé ici. ¹² Notre implémentation de test a pu parrainer avec succès les frais de transaction d'action utilisateur pour les utilisateurs sur liste blanche. Vous pouvez voir une UserOperation réussie ici. ¹³

Le cas d'utilisation de Paymaster va bien au-delà de ce que nous avons souligné dans cet article. En faisant abstraction de la logique de traitement de base de la blockchain, de nombreuses expériences utilisateur innovantes sont possibles. Pour le développement ERC-4337 actuellement en cours, nous voyons plusieurs approches possibles qui pourraient s'appuyer sur nos expériences décrites ci-dessus. Par exemple, plutôt que d'exiger un nouveau jeton ERC-20 personnalisé intégré au contrat intelligent Paymaster, il serait plus facile d'intégrer Paymaster à un jeton ERC-20 existant tel que l'USDC. Cette approche nécessite d'utiliser une source externe pour déterminer le prix du jeton et de vérifier que le contrat Paymaster a approuvé la facturation de l'utilisateur pour le jeton spécifié. Une approche consiste à déployer un service oracle hors chaîne qui peut fournir les informations nécessaires telles que les prix des jetons et les signatures que le contrat Paymaster peut vérifier.

Alternativement, l'ensemble du processus peut être géré en chaîne à l'aide d'un contrat oracle pour les données nécessaires. Bien que cette approche offre une meilleure assurance que les caissiers sont correctement rémunérés, elle est également plus difficile à mettre en œuvre. Certaines restrictions ERC-4337 rendent difficile pour les Paymasters d'interroger les oracles en chaîne lors de la vérification Paymaster, et les Bundlers rejettent souvent les UserOperations qui doivent le faire. Afin d'activer ce processus, il est nécessaire d'établir un mempool alternatif avec une liste de Paymasters de confiance, dans laquelle le Bundler peut s'inscrire. Ces Paymasters de confiance peuvent appeler des contrats oracle, et les UserOperations utilisant ces Paymasters seront extraites du pool de mémoire de sauvegarde.

Tourné vers l'avenir

** Interagir avec une blockchain à l'aide d'un portefeuille numérique peut être une expérience difficile, et beaucoup pensent que garantir la facilité d'utilisation est une étape essentielle pour favoriser une adoption plus large. ERC-4337 présente des possibilités futures intéressantes pour améliorer l'expérience de paiement des utilisateurs en chaîne grâce à des portefeuilles de contrats intelligents autodépositaires, ce qui pourrait à son tour changer la façon dont les utilisateurs dépensent les devises numériques et les actifs numériques. **

La communauté Ethereum est au début de ce nouveau voyage en ce qui concerne ERC-4337. Il existe de nombreux plans pour fournir l'infrastructure sur laquelle les flux pilotés par AA peuvent être construits, dont certains que nous avons utilisés dans nos tests et mentionnés dans cet article, mais il reste encore une marge de croissance considérable. Comme pour tout domaine ouvert, il existe des approches et des compromis concurrents, tels que les options de décentralisation offertes par les Bundlers publics par rapport à la personnalisation des Bundlers privés ; la sécurité sans confiance de Paymaster entièrement en chaîne par rapport au déploiement de certains composants par rapport à la rentabilité ; et la multitude de schémas de signature alternatifs que les portefeuilles peuvent utiliser, entre autres. Ces différents choix de conception peuvent se traduire par un riche ensemble d'options pour mieux offrir aux utilisateurs de futures expériences de paiement numérique.

L'innovation des paiements pour tous, partout

En tant que leader mondial des solutions de paiement, Visa est toujours à la recherche d'innovations qui répondent aux besoins du monde réel. Nous continuerons à étudier le potentiel des contrats intelligents et l'avenir possible de l'argent programmable et des paiements programmables. Dans cet article, nous explorons comment AA sur Ethereum mis en œuvre par ERC-4337 peut permettre de nouveaux cas d'utilisation intéressants sur la blockchain. Nous fournissons une présentation de bout en bout d'une transaction ERC-4337 et expliquons en quoi elle diffère des transactions Ethereum standard pour mettre en évidence les mécanismes sous-jacents.

Nos expériences sur ERC-4337 se concentrent sur deux cas d'utilisation distincts en déployant des contrats Paymaster pour apprendre et évaluer leur utilité potentielle dans la résolution de problèmes réels et l'amélioration significative de l'expérience client grâce à des interactions en chaîne. Pour les entreprises travaillant sur cette frontière, nos équipes de produits, de recherche et d'ingénierie seront ravies de discuter d'idées de paiements programmables.

Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
  • Récompense
  • Commentaire
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate.io app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)