Vitalik Buterin suggère EIP-7702 pour améliorer l'abstraction des comptes sur Ethereum

Ethereum pourrait bientôt connaître une amélioration significative avec l'introduction de l'EIP-7702. Proposée par le co-fondateur Vitalik Buterin, cette mise à niveau se concentre sur l'amélioration de « l'abstraction des comptes » sur la plateforme blockchain. Vitalik Buterin et ses co-auteurs ont introduit l'EIP-7702 comme substitut à l'EIP-3074 pour améliorer l'abstraction des comptes dans Ethereum.
Cette proposition permet aux comptes externes (EOA) de fonctionner temporairement comme des portefeuilles de contrats intelligents pendant une transaction, puis de revenir ensuite à leur état initial.
Qu'est-ce que l'EIP 7702 ?
EIP 7702 vise à améliorer la sécurité et la compatibilité
Selon le résumé de Github, l'EIP 7702 se présente comme une alternative cruciale à l'actuel EIP-3074, s'attaquant aux vulnérabilités majeures en évitant les opcodes qui devraient devenir obsolètes et en évitant la fragmentation au sein de l'écosystème. Il est conçu pour être compatible avec les futures avancées de l’informatique quantique et vise une intégration transparente avec EIP 4337, qui devient de plus en plus importante à mesure que la technologie quantique progresse.
Rédigé par Vitalik Buterin, Sam Wilson, Ansgar Dietrichs et Matt Garnett, l'EIP présente un nouveau type de transaction qui transforme temporairement les comptes d'utilisateurs en portefeuilles de contrats intelligents. Cette innovation permet des opérations complexes, telles que la combinaison de plusieurs actions en une seule transaction, augmentant ainsi l'efficacité et la flexibilité du réseau.
EIP 7702 prétend rationaliser les interactions des utilisateurs et réduire les coûts de transaction sur les plates-formes d'échange décentralisées (DEX) en supprimant le besoin de plusieurs étapes de transaction, ce qui représente une avancée significative par rapport aux limitations existantes. La communauté semble très intéressée par cette nouvelle proposition.
Une caractéristique clé de l'EIP 7702 est l'accent mis sur l'amélioration de la sécurité et de l'autonomie des utilisateurs. Selon le résumé de Github, il permet aux utilisateurs de signer des transactions avec des autorisations temporaires et spécifiques, minimisant ainsi les risques liés aux compromissions clés. Cet aspect augmente non seulement la confiance des utilisateurs dans le système, mais renforce également la capacité du réseau Ethereum à relever efficacement les défis de sécurité actuels et futurs.
Lorsque Buterin et ses co-auteurs ont présenté leur EIP, celui-ci a attiré une attention particulière en raison de sa résistance quantique, répondant ainsi aux préoccupations de longue date de la communauté des cryptomonnaies concernant la menace de l'informatique quantique. Cette proposition est considérée comme une mesure proactive visant à atténuer les menaces quantiques potentielles.
Principales améliorations introduites par EIP-7702
Sécurité renforcée
EIP-7702 élimine l'aspect de délégation permanente observé dans EIP-3074, réduisant ainsi le risque de vol de fonds par des contrats malveillants.
Compatibilité des fourches souples
Contrairement à l'EIP-3074, l'EIP-7702 peut potentiellement être implémenté via un soft fork, ce qui en fait une mise à niveau du réseau moins perturbatrice.
Compatibilité améliorée
EIP-7702 est conçu pour être compatible avec la norme ERC-4337, favorisant une approche plus unifiée de l'abstraction des comptes.
Résistance quantique
L'EIP-7702 est considéré comme plus résistant aux menaces informatiques quantiques que l'EIP-3074, offrant une meilleure protection évolutive.
Comment EIP-7702 réalise ces améliorations
Nouveau type de transaction
EIP-7702 introduit un nouveau type de transaction avec des champs pour le code du contrat et une signature. Pendant la transaction, le code de compte du signataire est temporairement remplacé par le code de contrat fourni, qui dicte la manière dont la transaction est exécutée. Une fois la transaction terminée, le code de compte revient à son état vide d'origine.
Appels de fonction au lieu d'opcodes
Au lieu d'introduire de nouveaux opcodes comme EIP-3074, EIP-7702 définit les fonctions à appeler dans la transaction. Cette approche offre plus de flexibilité et élimine le besoin d’un hard fork.
Approche intégrée
EIP-7702 propose une méthode rationalisée et plus intégrée, alliant la sécurité et la simplicité des EOA à la flexibilité des contrats intelligents. Au début de la transaction, le champ contract_code de l'EOA est temporairement défini sur un contrat intelligent spécifique requis pour la transaction. Une fois la transaction terminée, le contract_code est effacé et l'EOA revient à son état d'origine. Cette méthode évite le besoin de nouveaux opcodes et des hard forks associés en utilisant des fonctions appelables qui peuvent s'intégrer de manière transparente à l'infrastructure existante d'Ethereum. Jarrod Watts, ingénieur en relations avec les développeurs chez Polygon, a fait remarquer.
Limites des comptes externes (EOA)
Capacités limitées
Actuellement, les utilisateurs d’Ethereum interagissent avec le réseau via des comptes externes (EOA), qui sont de simples comptes liés à des clés privées. Bien que les EOA fournissent des fonctionnalités de base, ils présentent plusieurs limitations. Les EOA ne peuvent effectuer que des tâches simples, telles que transférer des jetons vers d'autres EOA et lancer des transactions qui déclenchent une autre transaction de contrat intelligent.
Failles de sécurité
Les EOA s'appuient sur des clés privées, qui servent de point de défaillance unique. Si la clé privée est compromise, les pirates peuvent accéder et voler tous les fonds associés au compte. Cela rend les EOA particulièrement vulnérables aux failles de sécurité.
Abstraction de compte sur Ethereum
Ethereum utilise deux modèles de comptes : les comptes externes (EOA) et les comptes contractuels. Les EOA, contrôlés par des clés privées, ont des capacités et des fonctionnalités de sécurité limitées, limitant leur utilisation dans des transactions complexes impliquant des contrats intelligents. Pour remédier à ces limitations, Ethereum a introduit plusieurs EIP, notamment EIP-4337, EIP-3074 et EIP-5003.
EIP-4337
Mis en œuvre en mars 2023, l'EIP-4337 a établi un cadre qui permet aux contrats intelligents de fonctionner comme des comptes, capables de valider et d'exécuter des transactions.
EIP-3074
Proposé avant l'EIP-4337, l'EIP-3074 visait à améliorer les EOA en déléguant temporairement leur pouvoir de transaction aux contrats intelligents.
EIP-5003
S'appuyant sur EIP-3074, EIP-5003 a introduit l'opcode AUTHUSURP, permettant la conversion permanente d'un EOA en compte de contrat intelligent.
Récapitulatif de l'EIP-3074
Pour surmonter les limites des EOA, EIP-3074 a été proposé pour améliorer leur fonctionnalité. Cette proposition a introduit deux nouveaux opcodes : AUTH et AUTHCALL. AUTH permet aux EOA d'autoriser des contrats intelligents spécifiques à agir en leur nom, tandis qu'AUTHCALL permet à ces contrats intelligents autorisés d'exécuter des transactions pour l'EOA.
La proposition introduit également le concept de parrainage de transactions par des tiers, dans le cadre duquel quelqu'un d'autre pourrait payer des frais de transaction au nom d'un utilisateur, améliorant ainsi l'expérience utilisateur. De plus, les utilisateurs peuvent combiner plusieurs transactions en une seule, réduisant ainsi les frais de transaction. Cela visait à rendre Ethereum plus accessible aux utilisateurs peu familiers avec les frais de gaz ou n’ayant pas accès à l’ETH.
Cependant, l'EIP-3074 présentait plusieurs inconvénients :
Problèmes de sécurité
Le processus de délégation a soulevé des problèmes de sécurité. Les contrats intelligents malveillants, s’ils sont autorisés, pourraient potentiellement drainer les fonds des utilisateurs.
Exigence de fourche dure
La mise en œuvre de l'EIP-3074 a nécessité un hard fork, une mise à niveau majeure du réseau qui peut être perturbatrice.
Compatibilité limitée
EIP-3074 ne s'intègre pas bien à la nouvelle norme ERC-4337 pour les portefeuilles de contrats intelligents.
Réaction des gens à ce sujet
La communauté Ethereum a répondu favorablement à l'EIP-7702. Beaucoup y voient une avancée essentielle pour une adoption plus large des portefeuilles de contrats intelligents, offrant une sécurité renforcée et des fonctionnalités accrues. Par ailleurs, certains soulignent son potentiel pour une meilleure interopérabilité avec d’autres blockchains, grâce à sa compatibilité avec la norme ERC-4337. Cela suggère que l’EIP-7702 pourrait résoudre efficacement les limitations de longue date et contribuer à un écosystème Ethereum plus sécurisé et plus polyvalent.
Source : twitter.com/hayden.eth
Résultats futurs
Bien que l'EIP-7702 offre un avenir prometteur, plusieurs considérations sont à prendre en compte pour son adoption :
Consensus communautaire
La communauté Ethereum doit parvenir à un accord sur la mise en œuvre de l'EIP-7702, ce qui impliquera des discussions, des tests et d'éventuelles révisions de la proposition.
Intégration du fournisseur de portefeuille
Les fournisseurs de portefeuilles, tels que MetaMask, devront mettre à jour leur logiciel pour prendre en charge les transactions EIP-7702, ce qui est crucial pour l'adoption par les utilisateurs.
Sécurité des contrats intelligents
La sécurité du code de contrat intelligent utilisé dans les transactions EIP-7702 est vitale. Les utilisateurs doivent s'assurer que le code qu'ils exécutent provient d'une source fiable.
Malgré ces défis, les avantages potentiels de l'EIP-7702 sont substantiels. S’il est mis en œuvre avec succès, il pourrait annoncer une nouvelle ère pour Ethereum, offrant aux utilisateurs une expérience plus sécurisée et plus flexible tout en ouvrant la voie à une abstraction avancée des comptes à l’avenir.
Le message Vitalik Buterin suggère que l'EIP-7702 améliore l'abstraction des comptes sur Ethereum est apparu pour la première fois sur BTC Wires.