Auteur : Arrow@go2mars, Source : Twitter de l'auteur @ArrowCrypto_eth
Aujourd'hui, nous parlerons de l'ERC-4337 (abstraction de compte Ethereum) basée sur des transactions intentionnelles. En fait, dans l’article précédent, nous avons déjà évoqué le rôle de Account Abstract dans le projet Bob the Solver.
** ERC-4337 Résumé de compte **
ERC-4337 vise à réaliser l'abstraction des comptes sans compromettre la décentralisation et la résistance à la censure, et les utilisateurs peuvent profiter d'un compte unique avec à la fois des fonctions de contrat intelligent et de compte externe.
Cela signifie que le portefeuille AA peut accéder au portefeuille de contrats intelligents sans s'appuyer sur un relais centralisé contrôlé par une seule entité, permettant des transactions et créant des contrats dans un seul compte de contrat.
L'abstraction de compte combine les fonctions des deux types de comptes existants ① compte détenu en externe (EOA) et ② compte de contrat intelligent (CA), apportant les fonctions de contrat intelligent au portefeuille dans un seul compte. Cela rend plus probables de futures conceptions de portefeuilles innovantes.
Commençons par comprendre les bases de ces deux types de comptes.
Un compte Ethereum comporte quatre champs : {nonce, balance, codeHash, StorageRoot}, où :
①Nonce est un compteur utilisé pour afficher le nombre de transactions envoyées par des comptes externes ou le nombre de contrats créés par des comptes contractuels ;
②balance - le montant de Wei détenu par cette adresse ;
③codeHash - Ce hachage représente le code de compte sur la machine virtuelle Ethereum (EVM). Les comptes de contrat ont des morceaux de code programmés qui effectuent différentes opérations. Ce code EVM est exécuté si le compte reçoit un appel de message. Contrairement aux autres champs de compte, il ne peut pas être modifié. Tous les extraits de code sont enregistrés sous le hachage correspondant dans la base de données d'état pour une récupération ultérieure ;
④storageRoot – parfois appelé hachage de stockage.
Les deux types de comptes sont :
①Comptes détenus en externe (Comptes détenus en externe), c'est-à-dire EOA, est un compte détenu en externe contrôlé par toute personne disposant d'une clé privée, et le codeHash est vide.
②Compte de contact (compte de contact), c'est-à-dire CA, n'a pas de clé privée et codeHash n'est pas vide.
La principale différence entre le compte externe EOA et le compte contractuel CA est :
Compte de dépôt externe (EOA) : la création d'un compte est gratuite et les transactions peuvent être initiées. Seules les transactions Ethereum et tokens peuvent être effectuées entre tous les comptes externes, et il se compose d'une paire de clés de cryptage : la clé publique qui contrôle le compte. activité et clé privée.
Compte de contrat (CA) : la création d'un contrat a un coût en raison de la nécessité d'utiliser l'espace de stockage réseau ; les transactions ne peuvent être envoyées que lorsqu'elles sont reçues ; les transactions initiées depuis des comptes externes vers des comptes de contrat peuvent déclencher un code permettant d'effectuer diverses opérations. , comme le transfert de jetons, les pièces créent même de nouveaux contrats ; les comptes de contrat n'ont pas de clés privées et sont contrôlés par la logique du code de contrat intelligent.
La combinaison des deux comptes d'ERC-4337 apporte des fonctions de contrat intelligent au portefeuille dans un seul compte, ce qui laisse beaucoup de place à l'imagination pour les fonctions du portefeuille AA.
À l’heure actuelle, la plupart des portefeuilles Ethereum sont des comptes de dépôt externes, comme le portefeuille métamasque Little Fox le plus largement utilisé.
Mais ce type de portefeuille externe sera limité par les règles définies du portefeuille externe. Par exemple, l'accès à votre compte dépend entièrement de la clé privée et toutes les transactions doivent être signées. Si vous perdez le mnémonique, vous perdrez le contrôle de le portefeuille. .
Les portefeuilles de contrats intelligents gérés par des comptes de contrats intelligents peuvent également implémenter cette fonction, ce qui est pratique. Le mnémonique n'est plus nécessaire, il n'y a donc aucune crainte de perdre le mnémonique, et l'authentification multifacteur et la récupération de compte sont réalisées. Parallèlement, divers services personnalisés peuvent être réalisés.
Comment fonctionne l'ERC-4337
La proposition d'abstraction de compte évite complètement la nécessité de modifier le protocole de couche consensus. En fait, un concept similaire a été proposé dans le précédent EIP-2938, mais le protocole de couche consensus doit être modifié. L'idée de « déléguer le contrôle EOA à un contrat intelligent » est également proposée dans l'EIP-3074.
Au lieu d'ajouter de nouvelles fonctionnalités de protocole et de modifier le type de transaction sous-jacent, la proposition ERC-4337 introduit un objet de pseudo-transaction de niveau supérieur appelé UserOperation.
Dans le processus opérationnel réel, l'utilisateur envoie l'objet UserOperation vers un nouveau pool de mémoire distinct. Ces objets sont ensuite regroupés en une seule transaction en appelant un contrat spécial via le bundler (Bundler), et la transaction sera également incluse dans un bloc.
La proposition introduit également un mécanisme de paiement grâce auquel les utilisateurs peuvent payer les frais de gaz avec des jetons ERC-20 arbitraires (tels que l'USDC) au lieu d'ETH, ou permettre que leurs frais de gaz soient entièrement pris en charge par un tiers, le tout de manière décentralisée.
Transaction d'intention avec ERC-4337
Dans ERC-4337, UserOperation est un « objet pseudo-transaction » qui représente l'intention de transaction de l'utilisateur. Il peut contenir plusieurs instructions et données supplémentaires pour exécuter l'appel de contrat intelligent initié par le compte de contrat intelligent. Plus tard, sous l'impulsion de l'ERC4337, de plus en plus d'intentions seront adoptées.
Jetons un coup d'œil à dappOS, un protocole d'exploitation Web3 qui a été très populaire récemment et qui est connu pour être à la tête du nouveau récit « Intent-Centric ».
dappOS est un protocole d'exploitation Web3 conçu pour rendre les dApps aussi conviviales que les applications mobiles. En tant que premier protocole d'exploitation unifié Web3, il crée une couche entre les utilisateurs et l'infrastructure de chiffrement telle que les chaînes publiques et les ponts entre chaînes, permettant aux utilisateurs d'interagir facilement avec dappOS et d'effectuer une vérification et une mise en œuvre complètes dans un monde décentralisé. DappOS inclut la fonction de récupération des mots mnémoniques supprimés accidentellement, et les utilisateurs peuvent réinitialiser leurs comptes via d'autres appareils ou même des services KYC tiers.
La solution est principalement composée de deux parties :
①Compte dappOS : l'utilisateur utilise un compte unifié basé sur l'abstraction de compte au lieu d'un compte externe EOA, ce qui permet aux utilisateurs de restaurer des comptes, de pré-transmettre par lots et d'automatiser l'exécution. Dans le même temps, la méthode multi-chaînes l'agrégation de portefeuilles peut également faciliter la gestion unifiée des actifs sur différentes chaînes par les utilisateurs ;
②Réseau dappOS : un réseau décentralisé qui aide les utilisateurs à effectuer automatiquement des opérations liées au portefeuille et aux chaînes croisées, et à compléter le processus d'interaction complexe derrière la transaction.
Ainsi, sur la base de dappOS, à l’avenir, il sera possible de créer des dapps insensés plus rapidement. Pour les utilisateurs, il leur suffit de clarifier l'intention de ce qu'ils veulent faire, au lieu d'effectuer l'opération eux-mêmes, toutes les opérations peuvent être complétées avec une seule signature.
Voir l'original
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.
Longue poussée : analyse des cas d'utilisation du marché ERC-4337 basés sur des transactions d'intention
Auteur : Arrow@go2mars, Source : Twitter de l'auteur @ArrowCrypto_eth
Aujourd'hui, nous parlerons de l'ERC-4337 (abstraction de compte Ethereum) basée sur des transactions intentionnelles. En fait, dans l’article précédent, nous avons déjà évoqué le rôle de Account Abstract dans le projet Bob the Solver.
** ERC-4337 Résumé de compte **
ERC-4337 vise à réaliser l'abstraction des comptes sans compromettre la décentralisation et la résistance à la censure, et les utilisateurs peuvent profiter d'un compte unique avec à la fois des fonctions de contrat intelligent et de compte externe.
Cela signifie que le portefeuille AA peut accéder au portefeuille de contrats intelligents sans s'appuyer sur un relais centralisé contrôlé par une seule entité, permettant des transactions et créant des contrats dans un seul compte de contrat.
L'abstraction de compte combine les fonctions des deux types de comptes existants ① compte détenu en externe (EOA) et ② compte de contrat intelligent (CA), apportant les fonctions de contrat intelligent au portefeuille dans un seul compte. Cela rend plus probables de futures conceptions de portefeuilles innovantes.
Commençons par comprendre les bases de ces deux types de comptes.
Un compte Ethereum comporte quatre champs : {nonce, balance, codeHash, StorageRoot}, où :
①Nonce est un compteur utilisé pour afficher le nombre de transactions envoyées par des comptes externes ou le nombre de contrats créés par des comptes contractuels ;
②balance - le montant de Wei détenu par cette adresse ;
③codeHash - Ce hachage représente le code de compte sur la machine virtuelle Ethereum (EVM). Les comptes de contrat ont des morceaux de code programmés qui effectuent différentes opérations. Ce code EVM est exécuté si le compte reçoit un appel de message. Contrairement aux autres champs de compte, il ne peut pas être modifié. Tous les extraits de code sont enregistrés sous le hachage correspondant dans la base de données d'état pour une récupération ultérieure ;
④storageRoot – parfois appelé hachage de stockage.
Les deux types de comptes sont :
①Comptes détenus en externe (Comptes détenus en externe), c'est-à-dire EOA, est un compte détenu en externe contrôlé par toute personne disposant d'une clé privée, et le codeHash est vide.
②Compte de contact (compte de contact), c'est-à-dire CA, n'a pas de clé privée et codeHash n'est pas vide.
La principale différence entre le compte externe EOA et le compte contractuel CA est :
Compte de dépôt externe (EOA) : la création d'un compte est gratuite et les transactions peuvent être initiées. Seules les transactions Ethereum et tokens peuvent être effectuées entre tous les comptes externes, et il se compose d'une paire de clés de cryptage : la clé publique qui contrôle le compte. activité et clé privée.
Compte de contrat (CA) : la création d'un contrat a un coût en raison de la nécessité d'utiliser l'espace de stockage réseau ; les transactions ne peuvent être envoyées que lorsqu'elles sont reçues ; les transactions initiées depuis des comptes externes vers des comptes de contrat peuvent déclencher un code permettant d'effectuer diverses opérations. , comme le transfert de jetons, les pièces créent même de nouveaux contrats ; les comptes de contrat n'ont pas de clés privées et sont contrôlés par la logique du code de contrat intelligent.
La combinaison des deux comptes d'ERC-4337 apporte des fonctions de contrat intelligent au portefeuille dans un seul compte, ce qui laisse beaucoup de place à l'imagination pour les fonctions du portefeuille AA.
À l’heure actuelle, la plupart des portefeuilles Ethereum sont des comptes de dépôt externes, comme le portefeuille métamasque Little Fox le plus largement utilisé.
Mais ce type de portefeuille externe sera limité par les règles définies du portefeuille externe. Par exemple, l'accès à votre compte dépend entièrement de la clé privée et toutes les transactions doivent être signées. Si vous perdez le mnémonique, vous perdrez le contrôle de le portefeuille. .
Les portefeuilles de contrats intelligents gérés par des comptes de contrats intelligents peuvent également implémenter cette fonction, ce qui est pratique. Le mnémonique n'est plus nécessaire, il n'y a donc aucune crainte de perdre le mnémonique, et l'authentification multifacteur et la récupération de compte sont réalisées. Parallèlement, divers services personnalisés peuvent être réalisés.
Comment fonctionne l'ERC-4337
La proposition d'abstraction de compte évite complètement la nécessité de modifier le protocole de couche consensus. En fait, un concept similaire a été proposé dans le précédent EIP-2938, mais le protocole de couche consensus doit être modifié. L'idée de « déléguer le contrôle EOA à un contrat intelligent » est également proposée dans l'EIP-3074.
Au lieu d'ajouter de nouvelles fonctionnalités de protocole et de modifier le type de transaction sous-jacent, la proposition ERC-4337 introduit un objet de pseudo-transaction de niveau supérieur appelé UserOperation.
Dans le processus opérationnel réel, l'utilisateur envoie l'objet UserOperation vers un nouveau pool de mémoire distinct. Ces objets sont ensuite regroupés en une seule transaction en appelant un contrat spécial via le bundler (Bundler), et la transaction sera également incluse dans un bloc.
La proposition introduit également un mécanisme de paiement grâce auquel les utilisateurs peuvent payer les frais de gaz avec des jetons ERC-20 arbitraires (tels que l'USDC) au lieu d'ETH, ou permettre que leurs frais de gaz soient entièrement pris en charge par un tiers, le tout de manière décentralisée.
Transaction d'intention avec ERC-4337
Dans ERC-4337, UserOperation est un « objet pseudo-transaction » qui représente l'intention de transaction de l'utilisateur. Il peut contenir plusieurs instructions et données supplémentaires pour exécuter l'appel de contrat intelligent initié par le compte de contrat intelligent. Plus tard, sous l'impulsion de l'ERC4337, de plus en plus d'intentions seront adoptées.
Jetons un coup d'œil à dappOS, un protocole d'exploitation Web3 qui a été très populaire récemment et qui est connu pour être à la tête du nouveau récit « Intent-Centric ».
dappOS est un protocole d'exploitation Web3 conçu pour rendre les dApps aussi conviviales que les applications mobiles. En tant que premier protocole d'exploitation unifié Web3, il crée une couche entre les utilisateurs et l'infrastructure de chiffrement telle que les chaînes publiques et les ponts entre chaînes, permettant aux utilisateurs d'interagir facilement avec dappOS et d'effectuer une vérification et une mise en œuvre complètes dans un monde décentralisé. DappOS inclut la fonction de récupération des mots mnémoniques supprimés accidentellement, et les utilisateurs peuvent réinitialiser leurs comptes via d'autres appareils ou même des services KYC tiers.
La solution est principalement composée de deux parties :
①Compte dappOS : l'utilisateur utilise un compte unifié basé sur l'abstraction de compte au lieu d'un compte externe EOA, ce qui permet aux utilisateurs de restaurer des comptes, de pré-transmettre par lots et d'automatiser l'exécution. Dans le même temps, la méthode multi-chaînes l'agrégation de portefeuilles peut également faciliter la gestion unifiée des actifs sur différentes chaînes par les utilisateurs ;
②Réseau dappOS : un réseau décentralisé qui aide les utilisateurs à effectuer automatiquement des opérations liées au portefeuille et aux chaînes croisées, et à compléter le processus d'interaction complexe derrière la transaction.
Ainsi, sur la base de dappOS, à l’avenir, il sera possible de créer des dapps insensés plus rapidement. Pour les utilisateurs, il leur suffit de clarifier l'intention de ce qu'ils veulent faire, au lieu d'effectuer l'opération eux-mêmes, toutes les opérations peuvent être complétées avec une seule signature.