EIP-4337 (ou ERC-4337) : qu'est-ce que cette norme Ethereum
Adopté en mars 2023, ce standard permet de faciliter l'adoption des technologies Ethereum auprès du plus grand nombre.
L'EIP-4337 est une nouveauté du réseau Ethereum consécutive aux recherches menées par Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson et Thaden Hess, qui permet l'abstraction de comptes sans nécessiter de changement sur le consensus de la blockchain. Puisqu'elle est adoptée depuis mars, il convient de nommer ce standard ERC-4337.
Qu'est-ce qu'un compte Ethereum ?
Pour comprendre l'abstraction de comptes, il faut tout d'abord comprendre comment fonctionne l'infrastructure Ethereum. Il existe ainsi deux types de compte : les EOA (pour Externally Owned Accounts ou comptes à propriétaire externe) et les comptes de smart contracts.
Les premiers sont en principe les comptes détenus par les utilisateurs tandis que les seconds correspondent aux smart contracts déployés sur le réseau Ethereum. Les comptes détenus en externe sont toujours associés à une clef privée alors que les comptes de smart contracts sont associés à du code. La différence est majeure et explique pourquoi chaque utilisateur doit la plupart du temps rester en possession de sa clef privée pour utiliser son wallet : le compte est indissociable du signataire.
Qu'est-ce qu'un compte abstrait ?
L'abstraction de compte revient à transformer le compte à propriétaire externe en un smart contract, qui imite les fonctionnalités d'un wallet traditionnel : il peut ainsi valider et exécuter des transactions mais puisqu'il s'agit avant tout de code, il est aussi programmable.
Cette capacité de programmation ouvre beaucoup de possibilités :
- Elle permet le recouvrement social d'un compte, c'est-à-dire qu'un utilisateur n'a plus l'obligation de détenir une clef privée pour récupérer son compte ; il devient possible de désigner des entités de confiance pour réinitialiser l'accès au compte.
- Elle permet de programmer la partie transactionnelle, par exemple en regroupant plusieurs transactions en un seul envoi ou en les exécutant sous certaines conditions ou encore en exigeant plusieurs signataires (portefeuille multi-signatures) : des fonctionnalités déjà existantes sur Bitcoin mais pas sur Ethereum avant l'apparition de smart contract wallet.
- Elle permet de simplifier l'expérience utilisateur en annulant les frais de transaction pour le client. Ceux-ci resteront pris en charge par le développeur de l'application ou du wallet.
Qu'est-ce que l'ERC-4337 (ou EIP-4337 ?) ?
Cet ERC-4337 harmonise l'infrastructure nécessaire au bon fonctionnement des smart contract wallets, laquelle nécessite plusieurs maillons dans la chaîne.
Ainsi, les utilisateurs n'envoient plus en direct leurs transactions, celles-ci sont soumises puis regroupées avant d'être incluses dans un bloc par des relayeurs. Afin de payer les frais de transaction, une tierce-partie peut être désignée.
Cela signifie de fait qu'une entreprise, par exemple un studio de jeu vidéo, peut permettre à des utilisateurs de créer un compte pour accéder au produit, sans se soucier d'une clef privée ni des frais de transaction.
La startup française Cometh a a par exemple conçu p256, qui mêle le protocole WebAuthn et EIP-4337, et permet donc d'associer une clef à un téléphone portable.
Quels sont les exemples de smart contract wallet ?
Certains wallets sont déjà des smart contract wallets :
- Argent fut l'un des premier, sinon le premier, à lancer la fonctionnalité des Guardians, ces autorités de confiance désignées pour permettre de recouvrer des fonds en cas de perte de clef privée. Aujourd'hui, elle permet aussi de transférer des fonds facilement entre le layer-1 ethereum et le layer-2 zkSync.
- Safe (ex-Gnosis Safe) est un wallet multi-signatures facile d'utilisation et notamment utile pour gérer une trésorerie d'entreprises : plusieurs signataires sont ainsi nécessaires pour la gestion des fonds. Ce wallet est également compatible avec de nombreuses applications DeFi.
- Mangos Finance a également intégré la fonctionnalité des Guardians pour le recouvrement de fonds et supporte plusieurs réseaux secondaires compatibles avec Ethereum.