Ethereum : Vitalik Buterin résout les problèmes de l’EIP-3074 avec l’EIP-7702
Récemment, une nouvelle EIP (Ethereum Improvement Proposal) a fait débat au sein de la communauté. Il s’agit de l’EIP-3074 qui visait à améliorer la programmabilité des adresses Ethereum. Cependant, malgré son ajout à la liste des EIP incluses dans le hard fork Prague Electra, des inquiétudes concernant les implications en termes de sécurité ont été relevées par la communauté. Face à ce dilemme, Vitalik Buterin est venu à la rescousse avec une proposition élégante, permettant d’allier le meilleur des deux mondes : l’EIP-7702.
Retour sur l’EIP-3074
Avant d’entrer dans le vif du sujet, voyons brièvement ce qu’est l’EIP-3074 et ce qu’elle propose.
Comme évoqué en introduction, cette proposition vise à rendre les adresses Ethereum plus programme. L’objectif étant de leur ajouter certaines fonctionnalités jusqu’ici plutôt réservées aux smart contracts wallets.
En pratique, l’EIP vise à permettre de déléguer le contrôle d’une adresse dite EOA (Externally Owned Address) à un smart contract. Pour rappel, une EOA n’est autre qu’une adresse basique sur Ethereum, par exemple l’adresse de votre wallet MetaMask.
Cela permettrait d’ouvrir la voie à plusieurs fonctionnalités telles que :
- Le regroupement de transactions au sein d’un lot, afin que l’utilisateur n’ait à signer qu’une fois pour effectuer une série de transactions. Particulièrement utile pour signer en une seule transaction une approbation de dépense et un swap sur un DEX ;
- Le parrainage des frais de transaction par un tiers. Ainsi, les dApps pourraient intégrer à leur modèle financier le fait de payer les frais de gas pour leurs utilisateurs.
Toutefois, cette EIP a engendré de nombreux débats. En effet, de nombreux observateurs craignent que cela pose d’importants problèmes de sécurité.
Vitalik Buterin trouve la solution avec l’EIP-7702
Toutefois, c’était sans compter sur Vitalik Buterin, le cofondateur d’Ethereum. Ainsi, le 7 mai, il a proposé l’EIP-7702 en collaboration avec Sam Wilson, Ansgar Dietrichs et Matt Garnett, qui sont également à l’origine de l’EIP-3074.
Cette EIP vise également à étendre les capacités des externally owned addresses, tout en prenant en considération les limites de l’EIP-3074.
Ainsi, cette EIP introduit un nouveau type de transaction sur Ethereum, qui permettrait aux EOA d’agir comme des smart contracts. Toutefois, à la différence de l’EIP-3074, cette extension des fonctionnalités ne durerait qu’une transaction.
Cela permet notamment de mitiger les risques qu’une délégation de pouvoir à un smart contract puisse être utilisée par un hacker.
De plus, contrairement à l’EIP-3074, la proposition de Vitalik Buterin n’implique pas la création de nouveaux opcodes. Pour rappel, les opcodes sont des instructions spécifiques au langage Solidity. Pour cela, l’EIP-7702 utilise des chemins de code existants, ce qui aide à préserver le code existant et à réduire la fragmentation entre différents types de portefeuilles et mécanismes de transaction.
Enfin, cette EIP a été conçue pour être compatible avec les plans de généralisation de l’account abstraction sur Ethereum. Il est notamment compatible avec l’ERC-4337, sur lequel nous étions revenus en janvier.
Toutefois, comme l’a souligné Christine Kim de Galaxy dans son rapport de la réunion 187 des développeurs d’Ethereum, cette EIP présente encore quelques zones d’ombre.
« Certains détails importants concernant l’EIP 7702 doivent encore être réglés. Par exemple, les modalités de révocation des transactions EIP 7702 et l’échelonnement des coûts du gaz pour ces types de transactions restent flous. »
L’EIP-7702 et hard fork Prague Electra
L’EIP-3074 avait été ajoutée dans la liste des évolutions qui seraient déployées dans le cadre du prochain hard fork Prague Electra. Désormais, les développeurs envisagent de le replacer par l’EIP-7702.
Toutefois, comme celle-ci n’est encore qu’à l’état embryonnaire, l’EIP-3074 sera tout de même déployée dans le cadre du Devnet 0 de Prague Electra. Néanmoins, l’EIP-7702 pourrait la remplacer dans les devnets et testnets suivants.
Décidément, Vitalik Buterin est en forme. En plus de l’EIP-7702, ce dernier a également proposé l’EIP-7706 qui vise à créer un nouveau type de gas pour la partie calldatas des transactions.