Ethereum : l’EIP-3074 qui améliore la programmabilité des wallets fait débat
Une EIP qui fait débat. Les évolutions du protocole Ethereum sont dictées par les Ethereum Improvement Proposal (EIP). Celles-ci décrivent des améliorations avant qu’elles soient discutées par la communauté. Une fois validées, elles peuvent être ajoutées au programme du prochain hard fork pour un déploiement final sur Ethereum. Les derniers jours, l’attention a été canalisée autour de l’EIP-3074 qui semble faire débat au sein de la communauté.
EIP-3074 : des wallets programmables
L’EIP-3074 est une proposition d’évolution soumise par 4 développeurs, Sam Wilson, Ansgar Dietrichs, Matt Garnett et Micah Zoltu.
Avant d’entrer dans le détail de ce qu’elle pourrait changer, il faut dans un premier temps comprendre le paysage des wallets sur Ethereum. Ainsi, il existe deux grandes familles de wallets :
- Les EOA (Externally Owned Address) à savoir les wallets classiques, avec une paire clé publique/ clé privée. Ce sont vos wallets MetaMask ou Rabby ;
- Les Smart Contracts Wallet, à savoir des smart contracts qui font office de wallet. L’un des plus connus sur Ethereum n’est autre que le wallet Argent.
Cependant, les EOA ne sont pas idéals en termes d’adoption. En effet, les utilisateurs s’exposent au risque de perdre leurs clés et par conséquent leurs fonds.
Les smart contracts wallets quant à eux, implémentent certaines solutions de récupération. Cela permet de reprendre la main sur votre wallet, même si vous en avez perdu l’accès.
De son côté, l’EIP-3074 vise à faire tendre les EOA vers les smart contracts wallet en les rendant plus programmables. En pratique, il permettrait de déléguer la possibilité de faire une transaction à un smart contract.
« Cet EIP introduit deux instructions EVM AUTH et AUTHCALL. La première définit une variable de contexte autorisée sur la base d’une signature ECDSA. La seconde envoie un appel en tant que compte autorisé. Cela délègue essentiellement le contrôle du compte détenu en externe (EOA) à un contrat intelligent. »
Les fonctionnalités de l’EIP-3074
D’une part, cela permettrait par exemple aux utilisateurs de regrouper plusieurs transactions en un lot. Ainsi, il n’aurait qu’à signer une seule fois pour exécuter l’ensemble des transactions. Cela retirerait la nécessité de signer plusieurs transactions pour par exemple approuver un contrat puis swap des jetons.
D’autre part, cela permettrait un système de parrainage des transactions par un tiers. Ainsi, les applications décentralisées pourraient prendre en charge les frais de transaction à la place de l’utilisateur. Un modèle financier intéressant pourrait émerger, dans lequel les frais générés par un protocole permettraient de financer les frais de transaction de ses utilisateurs.
De surcroît, du fait de sa conception, l’EIP pourrait aussi bien être déployée sur le L1 d’Ethereum que sur ses différents L2.
Une EIP qui fait débat
Bien que certains observateurs tels que Georgios Konstantopoulos de Paradigm sont enthousiastes, cela n’est pas le cas de tout le monde.
« EIP-3074 arrive dans le prochain hard fork d’Ethereum. Il s’agit d’une grosse affaire. L’interface utilisateur du portefeuille sera multipliée par 10. Félicitations à Ethereum et aux sponsors de l’EIP-3074. Reth l’a déjà implémenté et testé. Nous sommes des fans. »
Ainsi, le cofondateur du wallet Argent quant à lui craint que cela ne pose d’importants problèmes de sécurité.
« Il devrait permettre à un escroc de siphonner l’ensemble de votre portefeuille avec une seule signature hors chaîne. Je m’attends à ce qu’il s’agisse d’un cas d’utilisation majeur… »
En effet, les signatures qui permettent d’autoriser un smart contract tiers se font hors chaîne. Par conséquent, elles ne laissent aucune trace on-chain. Cela peut potentiellement permettre des abus longtemps après la signature initiale.
D’autres développeurs comme Mudit Gupta de Polygon ont également partagé leurs craintes concernant cet EIP. Il va même jusqu’à demander à ce que les wallets n’intègrent pas les fonctionnalités de l’EIP-3074.
Lukas Schor de Safe, a quant à lui publié tout un article de blog expliquant ses craintes. Selon lui, nous devrions nous concentrer sur l’implémentation de l’account abstraction. Celui-ci est notamment proposé à travers l’EIP-4337 que nous avons abordé en début d’année.
Néanmoins, Lukas Schor milite quant à lui pour l’implémentation et le déploiement de l’EIP-5003.
« Cette mise à jour étend l’EIP-3074 en permettant le déploiement d’un smart contract à l’adresse du EOA, tout en révoquant l’accès de la clé privée originale dans le processus. Cela permet de convertir complètement les EOAs en smart contract accouts, tout en conservant l’adresse publique, les jetons soulbound et la réputation non transférable, et garantit généralement la compatibilité future avec la feuille de route de l’abstraction des comptes. »
Toutefois, il semblerait que l’inclusion de l’EIP-3074 soit en bonne voie pour le prochain hard fork. En effet, le hard fork Prague-Electra devrait être déployé sur Ethereum entre le dernier trimestre de 2024 et le premier de 2025.