La nouvelle norme Ethereum ERC-4337 vise à permettre la création de portefeuilles plus flexibles et plus puissants pour les utilisateurs de cette blockchain et de ses différents services.
L'une des mises à jour les plus récentes d'Ethereum est connue sous le nom de Abstraction de compte ou abstraction de compte, qui a été mis en œuvre conformément à la norme, ERC-4337.
Quelle est exactement l'abstraction de compte ou l'abstraction de compte revendiquée par ERC-4337 ? Nous allons expliquer de manière simple et compréhensible ce qu'est ce nouveau standard et quelles fonctionnalités il offre au réseau Ethereum.
Account Abstraction ou Account Abstraction, la nouvelle amélioration d'Ethereum
Account Abstraction ou Account Abstraction est une amélioration d'Ethereum qui a été présentée par Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson et Tjaden Hess, le 29 septembre 2021, sous la EIP-4337 (EIP ou Ethereum Improvements Proposals, mieux connu sous le nom de Ethereum Improvement Proposal).
Son objectif est de permettre la création d'une infrastructure capable d'offrir des comptes intelligents contrôlés par contrats intelligents. De cette manière, les utilisateurs de ces comptes peuvent profiter de fonctionnalités uniques telles que :
- Récupération de clé.
- Système de paiement automatique et récurrent.
- Tarifs gaz « sponsorisés » (à coût nul pour l'usager).
Tout simplement, en utilisant une seule norme et sans renoncer à la décentralisation du contrôle des comptes.
L'idée d'abstraction de compte n'est pas nouvelle. En fait, l'idée originale est en construction depuis plus de 9 ans et a eu la participation d'acteurs importants tels que VISA.
Cependant, ce n'est que le 22 février 2023 que les développeurs ont décidé de déployer cette amélioration sur Ethereum, à travers la sortie de onze (11) contrats intelligents qui donnent lieu à ce que l'on appelle Point d'accès.
Comment fonctionne l'ERC-4337 ?
Pour comprendre le fonctionnement de l'ERC-4337, nous devons d'abord comprendre comment les comptes sont configurés dans Ethereum. Sur le réseau, nous avons deux types de comptes :
- Comptes détenus en externe (EOA ou compte détenu en externe). Ce sont ceux que nous utilisons normalement dans les sacs à main tels que MetaMask. C'est-à-dire qu'il s'agit de comptes gérés par un portefeuille, qui est chargé de générer les clés privées, les clés publiques et est également chargé d'interagir avec le réseau (demander des soldes, interagir avec des contrats intelligents, envoyer des paiements, etc. ).
- Compte de contrat (CA) ou comptes intelligents. Une CA est un type de compte géré par un contrat intelligent. Par exemple, les comptes d'un pool de jalonnement d'Uniswap. Il en va de même pour les coffres DAI ou tout autre type de compte géré par des contrats intelligents.
Sachant cela, il est plus facile de comprendre le fonctionnement de l'ERC-4337. L'amélioration vise à permettre aux utilisateurs d'utiliser un portefeuille prenant en charge cette norme pour générer des comptes qu'ils peuvent gérer. Cependant, ces comptes sont contrôlés par un contrat intelligent.
Ainsi, l'utilisateur n'a qu'à interagir avec le smart contract pour récupérer son accès et l'accès à ses jetons contenus dans ledit smart contract. C'est exactement comme cela se produit actuellement dans les pools de jalonnement, mais cette fois, ERC-4337 est développé pour être beaucoup plus facile et plus sûr à utiliser et à mettre en œuvre.
opération de bas niveau
Pour ce faire, l'ERC-4337 réplique la fonctionnalité du mempool de transaction dans un système de niveau supérieur à l'aide de contrats intelligents.
Tout d'abord, les opérations de l'utilisateur ainsi que les signatures et autres données sont prises pour vérification. Ce processus est possible grâce au travail conjoint entre les validateurs et les Flashbots, qui sont en charge de regrouper ces opérations en «une seule transaction groupée», qui est ensuite inclus dans un bloc Ethereum.
Le tarif du gaz est payé par ces acteurs qui, à leur tour, perçoivent une compensation sur l'ensemble des opérations individuelles regroupées, comme cela se passe dans le mempool. Le même critère est utilisé pour prioriser les opérations, seulement dans ce cas d'autres variables entrent en jeu, telles que :
- Connaissance de l'expéditeur ou du portefeuille qui effectue l'opération.
- Nonce et signature, qui sont des paramètres transmis à la fonction de vérification du portefeuille, afin qu'une transaction puisse être vérifiée.
- initCode, qui est un code d'initialisation avec lequel créer le portefeuille s'il n'existe pas déjà.
- callData, qui sont les données d'appel du portefeuille pour l'étape d'exécution réelle.
- Les champs restants concernent la gestion du gaz et les commissions ; la liste complète des champs se trouve dans la spécification ERC 4337.
De cette manière, un portefeuille prenant en charge ERC-4337 devient un portefeuille géré par un contrat intelligent.
Fonctionnalités avancées de l'ERC-4337
Quels avantages l'implémentation d'ERC-4337 offre-t-elle dans Ethereum et ses portefeuilles ?
Récupération du compte
L'un des faits les plus courants au sein de l'écosystème est la perte d'accès à nos comptes. perdre des données comme expression de graine dans un accident ou la perte d'un porte-monnaie physique (hardware wallet) sont des événements assez fréquents. Normalement, une perte de ce type est irrécupérable et avec elle des millions d'euros de valeur sont perdus. Et si nous pouvions changer cela ?
C'est là qu'intervient l'ERC-4337. Étant donné que le compte est contrôlé par un contrat intelligent, il est possible planifier les conditions de récupération du compte. Par exemple, si le compte a eu une certaine inactivité, nous pouvons le programmer pour renvoyer les jetons à une adresse précédemment donnée, ce qui nous permettrait de récupérer ce solde.
Ou mieux encore, nous pouvons programmer le portefeuille avec une série de conditions qui nous permettent de gagner plus directement la récupération de l'argent. Par exemple, si nous signons une transaction avec un certain message (notre secret) et une adresse de destination, et que nous l'envoyons à l'adresse, le contrat intelligent peut le détecter et effectuer un transfert de solde vers l'adresse précédemment indiquée, nous permettant de récupérer le solde de cette bourse.
En bref, l'ERC-4337 permet des schémas de récupération de compte qui seraient impossibles avec un compte traditionnel.
Utilisation de 2FA dans nos comptes
Une autre fonction avancée que nous pouvons activer grâce à l'ERC-4337, est l'exécution de transactions dans des conditions qui doivent être remplies. Imaginez un instant que vous ayez un compte partagé et que vous l'ayez limité pour faire des dépenses de 1000 euros par mois.
En cas de dépassement de la limite, il faudrait appliquer une 2FA dans laquelle vous et votre partenaire devez signer la transaction pour la rendre valide.
Eh bien, l'ERC-4337 peut faire exactement cela. Avec une programmation appropriée, il est possible de créer un compte avec deux signatures et de fixer une limite de dépenses mensuelles. Si elle est dépassée, les transactions ultérieures nécessiteront l'approbation des deux parties pour être complétées.
Bien sûr, le cas précédent n'est qu'un échantillon de la capacité, qui peut être adaptée pour plus de choses, en fonction des besoins des utilisateurs ou de la plate-forme sur laquelle le compte est déployé.
Capacités de fonctionnement avancées
De plus, l'ERC-4337 active un ensemble d'options de fonctionnement avancées. Par exemple, avec cette norme, il est possible d'exécuter plusieurs opérations avec notre portefeuille et de toutes les signer en une seule fois. De cette manière, la même transaction dans Ethereum peut exécuter deux ou plusieurs opérations de manière atomique et transparente, ne nécessitant qu'une seule approbation pour elles.
Avec ce type d'opération, par exemple, nous pouvons opérer dans un DEX spécifique, en exécutant plusieurs opérations en même temps, et au final, en les émettant toutes comme un ensemble, ce qui réduit le coût en commissions de nos opérations.
Utilisation plus efficace de la cryptographie et des mises à jour
Une autre propriété avancée de l'ERC-4337 est qu'il nous permet une utilisation plus efficace des avancées cryptographiques. Par exemple, avec une petite modification, nous pouvons adapter l'ERC-4337 pour utiliser Schémas de signature Schnorr, ce qui rendrait nos opérations de transaction sur le réseau plus sûres et plus économiques.
De même, nous pouvons avec une petite mise à jour du contrat intelligent, tirer parti des avancées futures de l'EVM. Par exemple, nous pouvons utiliser la cryptographie ZK à l'arrivée du zkEVM (Zero Knowledge EVM) ou de la mise en œuvre de la cryptographie résistante quantique. Si quoi que ce soit, ERC-4337 fléchit la capacité des développeurs à adapter ces technologies et à les appliquer rapidement afin que nous puissions les explorer.
prise en charge multi-chaînes
Une autre propriété avancée de l'ERC-4337 est qu'il prend en charge plusieurs chaînes. Ceci est possible grâce au fait qu'il s'agit d'un contrat intelligent basé sur les capacités de Solidity et EVM. Cela signifie que tout réseau prenant en charge ces deux technologies peut mettre en œuvre avec succès la norme ERC-4337.
Ainsi, des réseaux tels que Polygon ou Gnosis peuvent tirer parti de cette capacité pour leurs réseaux et offrir une plus grande fonctionnalité, ce qui, en fait, est déjà fait dans les réseaux de test respectifs de ce réseau et d'autres réseaux compatibles EVM.
Avantages et inconvénients de la mise en œuvre de l'ERC-4337
Cependant, la mise en œuvre d'ERC-4337 nous offre une série d'avantages et d'inconvénients, parmi lesquels on peut identifier :
Avantages
- Il ne centralise pas le contrôle des portefeuilles. Ceci est dû au fait que leur contrôle reste décentralisé à tout moment.
- Améliorations de la sécurité des portefeuilles. De l'utilisation d'options avancées telles que 2FA, une plus grande facilité dans la mise en œuvre de multi-signatures, entre autres améliorations au niveau cryptographique, ERC-4337 offre une meilleure sécurité pour les portefeuilles qui implémentent la norme. De plus, cela réduit la complexité du développement des portefeuilles.
- Réduit la complexité dans la gestion et le contrôle des bourses. Une fonctionnalité qui contribue sans aucun doute à étendre l'accès à cette technologie à des personnes qui ne sont pas habituées ou qui n'ont pas une grande connaissance de la cybersécurité et des crypto-monnaies.
- Prise en charge multi-chaînes et interopérabilité. Grâce à l'utilisation de Solidity et EVM, qui sont les seules exigences auxquelles les chaînes où cette norme est déployée doivent répondre, sans qu'il soit nécessaire de modifier en quoi que ce soit le protocole de consensus.
- Il maintient la possibilité de remplacer les commissions. Pour ce faire, il suffit d'envoyer une nouvelle opération avec une commission plus élevée.
- Flexibilité de la logique d'exécution. Cela permet aux portefeuilles d'ajouter une logique personnalisée à l'étape d'exécution, par exemple, d'effectuer des multi-opérations atomiques.
Inconvénients
- Légère augmentation de la vulnérabilité DoS. Ceci malgré tous les efforts du protocole, simplement parce que la logique de vérification est autorisée à être un peu plus complexe que le statu quo d'une seule vérification ECDSA.
- surcharge de gaz. Frais généraux de gaz légèrement plus élevés que les transactions normales (bien que compensés dans certains cas d'utilisation par un support multi-commerce). Cela est dû au besoin d'intermédiation des contrats intelligents ERC-4337. Résultat : des frais plus élevés pour l'utilisation de cette fonctionnalité.
- Une transaction à la fois. Les comptes ne peuvent pas mettre en file d'attente et soumettre plusieurs transactions au mempool. Cependant, la possibilité d'effectuer des multi-opérations atomiques rend cette fonctionnalité beaucoup moins nécessaire.