EIP-7702 : percée révolutionnaire de l'abstraction de compte et direction future du développement d'Ethereum

Analyse approfondie de l'évolution et des perspectives futures de l'abstraction de compte Ethereum

Introduction

Cet article se divise en deux grandes parties :

La première partie partira de la première proposition AA de 2015, fera un examen systématique du contenu des principales propositions EIP jusqu'à présent, retracera le développement historique des propositions AA et évaluera de manière exhaustive les avantages et les inconvénients de chaque proposition.

La deuxième partie se concentre sur la comparaison des retours de marché confrontés après la proposition de l'EIP4337, et analyse en profondeur l'EIP7702 qui sera inclus dans la prochaine mise à niveau d'Ethereum. Une fois cette proposition fusionnée, elle changera de manière globale la forme des applications sur la chaîne.

EIP-7702 a une signification révolutionnaire, explorons cela en détail.

1. Contexte de l'abstraction de compte

1.1 Signification de l'abstraction de compte

Le fondateur d'Ethereum, Vitalik, a de nouveau mis à jour la feuille de route de développement de l'ETH à la fin de 2023, mais les paramètres liés à l'abstraction de compte n'ont pas été modifiés. Le modèle dominant passe actuellement de l'EIP-4337 à la prochaine étape : la conversion volontaire des comptes EOA.

Plus d'un an après le lancement de l'EIP4337, le 1er mars 2023, il a été officiellement annoncé qu'après audit, (, bien que largement reconnu par les utilisateurs, n'était pas largement utilisé dans un environnement de marché contradictoire. Le progrès de l'EIP-7702 a été considérablement avancé et il a été confirmé qu'il sera intégré dans la prochaine mise à niveau.

) 1.2 État du marché de l'abstraction de compte

Après un an et demi de développement, le nombre total de comptes EIP4337 sur les chaînes majeures est seulement de 12 millions, dont seulement 6 764 adresses actives sur le réseau principal Ethereum, bien en dessous du nombre d'adresses EOA et CA. Le nombre d'adresses indépendantes sur le réseau principal Ethereum a atteint 270 millions, et l'EIP4337 n'a presque connu aucun développement substantiel sur le réseau principal.

Cependant, cela n'affecte pas la valeur intrinsèque de l'AA. La conception de l'EIP4337 était dès le départ vouée à ne pas résoudre le problème de la compatibilité en avant du réseau principal. Avec l'intégration généralisée de l'AA natif dans les chaînes L2, le nombre d'adresses EIP4337 a explosé sur L2, avec 1 million et 3 millions d'utilisateurs actifs mensuels respectivement sur les chaînes Base et Polygon en juillet, ce qui est impressionnant.

Le design de l'EIP4337 n'est pas erroné, mais provient des différences entre la chaîne principale et le L2, nécessitant des solutions adaptées à chacune.

![Analyse approfondie de la voie de l'abstraction de compte Ethereum : passé et avenir]###https://img-cdn.gateio.im/webp-social/moments-cecbf67df71971d38b0a927be5e4c4d9.webp(

2. Qu'est-ce que l'abstraction de compte?

L'abstraction de compte résout essentiellement le problème de la séparation des droits de propriété.

Il existe deux types de comptes dans l'architecture EVM : le compte externe ) EOA ( et le compte de contrat ) Contract Account (. La propriété et le droit de signature d'un compte externe sont détenus par la même entité. La personne qui détient la clé privée possède non seulement la "propriété" du compte, mais a également le droit de "signer le transfert de tous les actifs".

Cela est déterminé par la structure des transactions de compte Ethereum. Dans la structure de transaction standard, il n'y a pas de champ From, le transfert de fonds est en réalité déduit de l'adresse From à partir de la signature de l'utilisateur ) via les paramètres VRS (. Cela implique des concepts comme l'ECDSA et les fonctions de seuil unidirectionnelles, garantissant la sécurité par la cryptographie, mais cela conduit également à la situation actuelle de fusion des droits de propriété des adresses EOA.

L'effet principal de l'EIP4337 est d'ajouter l'adresse de l'expéditeur dans le champ de transaction, permettant la séparation de la clé privée et de l'adresse opérée.

L'importance de la séparation des droits de propriété réside dans la résolution de nombreux problèmes dérivés de la conception des comptes externes )EOA( :

  1. Difficulté à protéger la clé privée : perdre la clé privée signifie perdre tous les actifs.
  2. Algorithme de signature unique : le protocole natif ne prend en charge que la vérification de signature ECDSA.
  3. Autorisation de signature trop élevée : pas de multisignature native, une signature peut exécuter n'importe quelle opération.
  4. Les frais de transaction ne peuvent être payés qu'en ETH, les transactions en lot ne sont pas prises en charge.
  5. Fuite de la vie privée des transactions : les transactions en tête-à-tête exposent facilement la vie privée des détenteurs de comptes.

Ces restrictions rendent difficile l'utilisation d'Ethereum pour les utilisateurs ordinaires :

  • L'utilisation de toute application nécessite de détenir de l'ETH et d'assumer le risque de fluctuation des prix.
  • L'utilisateur doit gérer des logiques de frais complexes, telles que le prix du Gas, la limite de Gas, le Nonce, etc.
  • Bien que de nombreux portefeuilles essaient d'améliorer l'expérience utilisateur par l'optimisation des produits, les résultats sont limités.

La clé pour résoudre la situation réside dans la réalisation de l'abstraction de compte, en découplant la propriété )Owner( et le droit de signature )Signer(, afin de résoudre progressivement les problèmes susmentionnés.

Bien que de nombreux plans historiques existent, ils se résument finalement à deux grandes voies.

![Analyse approfondie du passé et de l'avenir de l'abstraction de compte Ethereum])https://img-cdn.gateio.im/webp-social/moments-65d1ef9656425666ee30c38bbb63e769.webp(

3. Contexte historique des propositions d'abstraction de compte

Les solutions aux problèmes semblent impliquer plusieurs propositions EIP, mais au fond, il n'y a que deux approches fondamentales. Chaque EIP non approuvé a intégré les problèmes qu'il considérait dans les points de rupture des solutions existantes.

) 3.1 Première option : convertir l'adresse EOA en adresse CA

Dès le 15 novembre 2015, Vitalik a proposé une nouvelle structure de compte sous forme de contrat dans l'EIP-101. Les principaux changements incluent :

  • Changer l'adresse pour qu'elle ne contienne que du code et de l'espace de stockage
  • Changement du support des frais de transaction, permettant le paiement en jetons ERC20
  • Convertir les jetons natifs en un solde de type ERC20 via des contrats précompilés.
  • Simplification des champs de transaction, ne conserver que to, startgas, data et code

Cette solution peut être qualifiée de transformation de type grand bond en avant, apportant des modifications majeures à la conception sous-jacente, permettant à chaque adresse de compte de posséder sa propre logique de "code". ### est précisément l'effet que l'EIP-7702 vise à réaliser. (.

Les fonctionnalités dérivées comprennent :

  1. Support de plus d'algorithmes de cryptage, méthode de signature spécifiée par le Code interne de l'adresse.
  2. Présente des caractéristiques de résistance aux attaques quantiques, car le code peut être mis à jour.
  3. Donner à l'ETH des fonctionnalités identiques à celles des contrats ERC20, telles que l'autorisation de prélèvement.
  4. Améliorer l'espace de personnalisation du compte, compatible avec la récupération sociale, le support SBT, la récupération de clé, etc.

Les raisons pour lesquelles les avancées n'ont pas pu se poursuivre sont évidentes : les pas étaient trop grands, les problèmes de collision de hachage de transaction actuels et les préoccupations de sécurité n'ont pas été suffisamment prises en compte, c'est pourquoi cela a été mis de côté. Cependant, chaque concept avantageux est devenu l'une des fonctionnalités centrales des EIP4337 et EIP7702.

Une série d'EIP a tenté d'améliorer cette logique :

EIP-859)2018-01-30(: abstraction de compte de chaîne principale

  • Résoudre le problème de déploiement de Code : lorsque le contrat de la partie transactionnelle n'est pas déployé, utilisez le paramètre code joint à la transaction pour exécuter le déploiement du portefeuille de contrat.
  • Proposition d'un nouvel opcode PAYGAS, en tant que séparateur dans la partie de validation et d'exécution des paramètres de transaction.

Bien que cela n'ait pas abouti à l'époque, cela est devenu l'une des logiques centrales de l'EIP7702. Chaque transaction de l'EIP7702, combinée à une structure de transaction spéciale, peut inclure un certain code, permettant ainsi à l'adresse EOA d'avoir des capacités de contrat dans cette transaction.

EIP-7702)2024-05-07(: définir le code du compte EOA En tant qu'alternative à l'EIP-3074, l'EIP-7702 a été confirmé pour être inclus dans le prochain hard fork ETH Prague/Electra.

) 3.2 Deuxième option : laisser l'adresse EOA piloter l'adresse CA

EIP-3074###2020-10-15( : ajout des opcodes AUTH et AUTHCALL Ajouter deux nouveaux codes d'opération dans l'EVM, permettant à un EOA d'autoriser un contrat à appeler d'autres contrats en remplaçant l'identité de l'EOA par ces opcode.

EIP-4337)2021-09-29(: mise en œuvre de l'abstraction de compte via le mempool des transactions Conçu sous l'inspiration du MEV, la valeur centrale réside dans l'évitement total des modifications du protocole de couche de consensus. Un nouvel objet de transaction, UserOperation, est proposé, que les utilisateurs envoient au pool de mémoire, où les bundlers l'emballent en vrac pour livrer les transactions d'exécution de contrat, ce qui revient essentiellement à faire exécuter les transactions sous-jacentes et l'exploitation des comptes au niveau des contrats.

EIP-5189)2022-06-29(: par l'opération d'un garant d'abstraction de compte Optimiser la logique EIP4337, en établissant un mécanisme d'endossement des pénalités financières pour prévenir les attaques de blocage DoS.

) 3.3 Autres propositions prenant en charge l'abstraction de compte

EIP-2718###2020-06-13( : enveloppe de nouveau type de transaction Les propositions définitivement établies définissent un nouveau type de transaction comme une enveloppe pour les futurs nouveaux types de transactions. Lors de l'introduction d'un nouveau type de transaction, une codification spécifique est utilisée pour différencier, permettant la compatibilité descendante sans nécessiter de compatibilité montante. Par exemple, EIP1559 distingue les frais de transaction, utilisant un codage de nouveau type de transaction, sans affecter le type de transaction legacy initial.

EIP-3607)2021-06-10(: interdiction de déployer des contrats par des adresses EOA Solutions complémentaires sur le chemin AA, pour éviter les conflits entre l'adresse de déploiement du contrat et l'adresse EOA. Contrôlez les méthodes de génération de contrats, interdisant le déploiement de code à une adresse qui est déjà une EOA.

) 3.4 Comment comprendre le développement de l'abstraction de compte ?

Tout d'abord, il est nécessaire de comprendre la valeur après la conversion en CA, qui est essentiellement l'effet réel de l'EIP-4337 :

  • Prise en charge des transactions par lot
  • Prise en charge du paiement des frais de Gas
  • Support de la récupération de compte
  • Support de signatures multiples
  • Prise en charge des transactions de relais
  • Prise en charge de la mise à niveau de l'algorithme de signature
  • Prise en charge des portefeuilles de contrats ERC4337
  • Prise en charge du paiement du Gas par des tiers

Cependant, le principal inconvénient de l'EIP-4337 est qu'il va à l'encontre du principe de motivation humaine.

Cela semble meilleur, mais cela entraîne un cercle vicieux de développement du marché : de nombreuses Dapps ne sont pas compatibles, les utilisateurs ne veulent pas utiliser des adresses CA ; l'utilisation de CA augmente en fait le coût des transactions ###, les frais de transaction doublent dans les scénarios de transfert ordinaires (, et cela dépend trop de la compatibilité des Dapps.

Ainsi, cela n'a jamais réussi à se populariser sur le réseau principal Ethereum.

Le coût est le critère le plus important pour les utilisateurs, il est donc nécessaire de réduire les coûts.

Pour vraiment réduire les frais de Gas, il faut procéder à une mise à niveau par hard fork de l'Ethereum lui-même, modifiant le calcul des frais de Gas ou les modules de consommation de Gas des opcodes. Puisqu'il s'agit d'un hard fork, pourquoi ne pas envisager directement l'EIP-7702 ?

![Analyse approfondie du passé et de l'avenir de l'abstraction de compte Ethereum])https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(

4. Analyse complète de l'EIP-7702

) 4.1 Résumé de l'EIP-7702

Grâce à un nouveau type de transaction, il est possible de permettre aux EOA de disposer temporairement de fonctionnalités de contrat intelligent dans une seule transaction, prenant en charge les transactions en lot, les transactions sans Gas et la gestion des droits personnalisés, sans avoir besoin d'introduire un nouvel opCode EVM ### qui affecterait la compatibilité rétroactive (.

Les utilisateurs peuvent bénéficier de la plupart des capacités AA sans avoir à déployer de contrats intelligents, et même permettre à des tiers d'initier des transactions en leur nom, nécessitant uniquement une signature d'autorisation plutôt que de fournir une clé privée.

) 4.2 structure de données

Définir un nouveau type de transaction 0x04, TransactionPayload est le résultat de la sérialisation RLP du contenu suivant :

rlp###[ identifiant_de_chaîne, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, valeur, données, liste_d'accès, liste_d'autorisation, signature_y_parity, signature_r, signature_s ](

Ajout d'un objet authorization_list pour stocker le code que le signataire souhaite exécuter dans un EOA. L'utilisateur signe le contrat à exécuter en même temps qu'il signe la transaction. Il existe sous forme de liste bidimensionnelle, pouvant contenir plusieurs informations d'opération pour exécuter des opérations en lot.

authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]

) 4.3 cycle de vie des transactions

4.3.1 Phase de vérification

Pour chaque tuple [chain_id, address, nonce, y_parity, r, s] de l'authorization_list :

  1. Récupérer l'adresse du signataire à partir des signatures r et s en utilisant ecrecover.
  2. Vérifiez l'ID de chaîne ### pour la protection contre la répétition des chaînes de fork (
  3. Vérifiez si le code du signataire d'autorité est vide ou délégué.
  4. Vérifier le nonce du signataire authority ) pour prévenir la répétition de la signature authority (
  5. Définir le code du signataire authority à 0xef0100 || adresse
  6. Augmenter le nonce du signataire authority ) pour prévenir la répétition de signature partielle (
  7. Ajouter le compte du signataire authority à la liste des adresses accessibles

)# 4.3.2 Phase d'exécution des opérations

La nouvelle version ne change que le comportement de déploiement du code. Le code du compte n'est plus défini comme contract_code, mais est récupéré à partir de la liste d'autorisation et défini comme le code du compte pour l'adresse spécifiée.

Lors de l'exécution du code autorisé, le code est chargé à partir du champ address de la liste d'autorisation dans le contexte du compte signataire.

Le code des contrats utilisateurs est effectivement stocké à une adresse spécifique sur la chaîne, plutôt que d'être directement inclus dans la transaction. Les instructions d'opération et les paramètres associés sont stockés dans le champ data de la charge utile de la transaction.

4.4 La valeur de l'EIP-7702

Des changements ont été apportés à l'ensemble de la chaîne des portefeuilles Web3, améliorant considérablement l'expérience utilisateur. Les EOA peuvent exécuter diverses logiques de contrat lors d'une transaction ordinaire, comme le transfert en masse. Cela affecte l'identification des transactions dans les scénarios CeFi, les frais de retrait et de regroupement, etc.

Briser plusieurs schémas préétablis:

  1. Le solde du compte peut diminuer en raison de transactions ne provenant pas de ce compte.
  2. Après le début de l'exécution de la transaction, le nonce EOA peut augmenter plusieurs fois.
  3. La logique de protection de la comparaison entre tx.origin et msg.sender est invalide
  4. Un EOA peut émettre des événements, affectant la reconnaissance et l'écoute des événements sur la chaîne.
  5. L'adresse EOA peut échouer à recevoir des actifs ERC20, 721, 1155, etc. mécanisme de rappel ### (

) 4.5 Comparaison entre EIP-7702 et EIP-4337

Avantages de l'EIP-7702 :

  • Gas plus bas, pas besoin de passer par le module entrypoint
  • Le coût de migration des utilisateurs est plus bas, sans besoin de déployer à l'avance des contrats sur la chaîne.
  • Prend également en charge l'exécution des ordres par code, divisée en complète
ETH-0.64%
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.
  • Récompense
  • 7
  • Partager
Commentaire
0/400
retroactive_airdropvip
· 07-28 20:44
Titre accrocheur, qu'est-ce qu'il y a de nouveau avec 7702 ?
Voir l'originalRépondre0
ChainMaskedRidervip
· 07-28 15:16
C'est trop long, je ne peux pas bouger. Vitalik Buterin, parle en langage humain.
Voir l'originalRépondre0
GasGuzzlervip
· 07-27 22:47
Ce nom de proposition est vraiment trop difficile à retenir, non ? 7702?
Voir l'originalRépondre0
CafeMinorvip
· 07-26 03:35
L'interface abstraite a encore fait des merveilles. Ne nuisez pas aux débutants.
Voir l'originalRépondre0
NeverPresentvip
· 07-26 03:35
On recommence à parler de 7702, vraiment capable d'évoluer.
Voir l'originalRépondre0
ApeWithNoFearvip
· 07-26 03:33
Ça fait si longtemps que l'abstraction de compte n'est toujours pas claire... vb tu peux le faire ou pas ?
Voir l'originalRépondre0
HashRateHermitvip
· 07-26 03:14
Encore une fois en train de parler d'AA, ça m'énerve.
Voir l'originalRépondre0
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)