L'une des innovations les plus récentes qui ont commencé à être intégrées à Ethereum est le Abstraction de compte Ethereum (EAA), mieux connue sous le nom de proposition d'amélioration Ethereum (Ethereum Improvement Proposal - EIP 4337), un nouveau paradigme qui facilitera l'utilisation des comptes Ethereum et l'interaction avec les dApps déployées sur le réseau.
Lancez-vous sur Bit2Me et plongez dans le monde des crypto-monnaies avec une longueur d'avance. Inscrivez-vous facilement et obtenez 5 € GRATUITS sur votre premier achat avec ce lien. N'attendez plus pour rejoindre la révolution crypto ! Inscription
Les portefeuilles et leur problème d'utilisabilité dans les crypto-monnaies
L'un des principaux problèmes d'utilisation des crypto-monnaies réside dans la manière dont nous gérons nos comptes. Depuis l'avènement de Bitcoin, nous nous sommes appuyés sur des logiciels conçus pour agir comme "des portefeuilles ou des porte-monnaie pour nos crypto-monnaies". En fait, ledit logiciel ou matériel, selon le cas, est chargé de gérer nos clés privées et publiques, pour accéder à nos crypto-monnaies comptabilisées dans la blockchain.
Ce système est également utilisé sur Ethereum aujourd'hui et pour une raison puissante : c'est extrêmement sûr. Si le logiciel et le matériel sont bien construits, il est impossible d'obtenir ces clés et donc impossible d'accéder aux soldes que nous avons enregistrés.
Par conséquent, l'une des principales prémisses de la cryptographie est : gardez vos clés en sécurité et bien protégées.
Peu importe si ces clés sont un fichier binaire (comme dans Bitcoin Core, où tout est dans un fichier appelé wallet.dat) ou un ensemble de mots comme des phrases de départ (généralement, suivant la norme Bitcoin, BIP-39).
La sécurité de ces clés est le plus grand défi pour certaines personnes, un défi auquel beaucoup échouent, perdant des centaines, voire des millions de dollars de valeur. tout ça parce que une fois que vous perdez les clés, il est impossible de les récupérer à nouveau, un problème d'utilisabilité qui éloigne de nombreuses personnes du secteur et de la technologie.
Tandis que En crypto, la prémisse de la décentralisation de l'argent est fondamentale, la résolution de ce problème d'utilisabilité est nécessaire pour une adoption massive. En fait, le réparer signifie que plus de gens font confiance à la technologie et donc l'argent décentralisé atteint plus de gens.
L'une des premières solutions sont celles offertes par les échanges centralisés et les portefeuilles. Mais ce n'est pas entièrement satisfaisant pour la collectivité, surtout celle axée sur la décentralisation totale de l'argent.
Toutefois, Que se passerait-il si nous pouvions unir les capacités de centralisation (ex : récupération de comptes) avec celles de la décentralisation des portefeuilles que nous avons l'habitude de voir (ex : auto-conservation totale) ? Eh bien, c'est précisément ce que fait Ethereum Account Abstraction, et il le fait entièrement à l'aide de contrats intelligents, pour construire une infrastructure complète qui vous permet de configurer des portefeuilles faciles à créer, sécurisés et avec des options aussi intéressantes que la possibilité de récupérer notre soldes au cas où nous perdrions l'accès à nos clés.
Connaître les comptes et les transactions dans Ethereum
Avant d'aller plus loin dans la façon dont le Abstraction de compte Ethereum, nous devons d'abord comprendre ce qu'est un compte dans le contexte d'Ethereum et comment ils sont contrôlés. Tout d'abord, il faut savoir que dans Ethereum il existe deux types de comptes :
- Comptes contractuels : Ces types de comptes sont simplement un compte qui vit sur la blockchain et dont le comportement est défini par un contrat intelligent qui le contrôle.
- Comptes détenus en externe (EOA): dans ce cas, un EOA est un compte contrôlé par une paire de clés publique/privée. Autrement dit, nos bourses à vie.
Maintenant que nous comprenons les comptes, parlons des transactions. Qu'est-ce qu'une opération ? Une transaction est un enregistrement d'un événement qui se produit sur la blockchain Ethereum. Les transactions peuvent être utilisées pour transférer des jetons, créer des NFT ou interagir avec des contrats intelligents.
Les transactions sont initiées par des comptes externes (EOA). Les EOA sont comme des personnes et ont une clé publique et une clé privée.. La clé publique est utilisée pour recevoir les transactions et la clé privée pour les signer. Lorsqu'un EOA souhaite effectuer une transaction, il la signe avec sa clé privée. Cette signature est utilisée pour vérifier que la transaction a été autorisée par le propriétaire de l'EOA.
Les transactions doivent également payer des frais d'essence ou des commissions. Les frais de gaz sont utilisés pour payer les ressources de calcul utilisées pour traiter la transaction. La quantité de gaz nécessaire pour une transaction dépend de la complexité de la transaction. Avec ces connaissances, nous avons les bases pour comprendre comment ces deux éléments fonctionnent et comment l'abstraction de compte Ethereum changera leur fonctionnement.
Ethereum Account Abstraction, changeant la façon dont nous gérons nos comptes Ethereum
Ethereum Account Abstraction est une proposition visant à permettre aux utilisateurs d'interagir avec des applications décentralisées (dApps), en utilisant des portefeuilles de contrats intelligents au lieu de comptes appartenant à des tiers (EOA).
Cela éliminerait complètement la nécessité pour les utilisateurs de gérer leurs propres clés privées. Les portefeuilles de contrats intelligents pourraient signer des transactions au nom des utilisateurs, mais seraient contrôlés par une logique de contrat intelligent. Cela permettrait un certain nombre d'avantages, notamment:
- Plus de sécurité : les utilisateurs n'auraient plus besoin de gérer leurs propres clés privées, réduisant ainsi le risque de perdre leurs fonds.
- Expérience utilisateur transparente : les utilisateurs peuvent interagir avec les dApps sans avoir à se soucier de la gestion de leurs propres comptes.
- Adoption accrue : L'abstraction de compte permettrait aux utilisateurs non techniques d'adopter plus facilement les dApps.
- Flexibilité– Les portefeuilles de contrats intelligents peuvent être programmés pour avoir des règles et des paramètres différents. Cela permet aux utilisateurs d'avoir un meilleur contrôle sur leurs comptes et leurs fonds.
L'abstraction de compte est une proposition qui a déjà commencé à être mise en œuvre sur Ethereum. En fait, le principal contrat intelligent, connu sous le nom de Contrat intelligent EntryPoint, qui servira à démarrer le déploiement de ces fonctions, a déjà été activé sur la chaîne Ethereum, et a servi à faire avancer le développement de cette nouvelle forme de comptes sur Ethereum.
Historique des propositions d'abstraction de compte Ethereum
Ethereum Account Abstraction a depuis longtemps un certain nombre de propositions remontant à 2016. Parmi ces propositions, nous avons :
- EIP-86 (2016) : cette proposition permettrait aux utilisateurs de créer des « contrats de compte » qui effectuent les vérifications de signature/nonce souhaitées au lieu d'utiliser le mécanisme actuellement codé en dur dans le traitement des transactions.
- EIP-2938 (2020) : cette proposition créerait une nouvelle transaction avec le type AA_TX_TYPE. Les transactions de ce type sont appelées "transactions AA".
- EIP-3074 (2020) : Cette proposition permettrait aux utilisateurs de déléguer le contrôle de leur EOA à un contrat intelligent. Cela permettrait à n'importe quel EOA d'agir comme un portefeuille de contrats intelligent sans déployer de contrat.
La raison pour laquelle ces propositions n'ont pas encore été mises en œuvre est qu'elles nécessitent des modifications du protocole de couche consensus du réseau Ethereum. Ces changements sont difficiles à mettre en œuvre et nécessitent beaucoup de coordination entre les différents acteurs. Cependant, en 2021, une nouvelle proposition d'abstraction de compte a été faite : EIP-4337. Cette proposition ne nécessite pas de modifications du protocole de couche consensus et peut être mise en œuvre au-dessus du réseau Ethereum existant.
Comment fonctionne l'abstraction de compte Ethereum selon EIP-4337 ?
EIP-4337 introduit un nouveau concept appelé "Opérations utilisateur". Les opérations utilisateur sont un type de transaction qui décrit une opération à soumettre au nom d'un utilisateur. Les opérations de l'utilisateur sont stockées dans un "mempool alternatif" qui est essentiellement une salle d'attente pour stocker des informations sur les transactions non confirmées. Les nœuds du réseau Ethereum peuvent choisir d'agir en tant que bundlers.
À ce stade, les poolers collectent les opérations utilisateur à partir de l'alt mempool et regroupent plusieurs opérations utilisateur dans une seule transaction appelée "transaction groupée«. Une fois qu'ils ont créé une transaction groupée, ils l'envoient à un contrat intelligent global "singleton" appelé "EntryPoint". Il n'y a qu'un seul contrat intelligent EntryPoint dans toute la blockchain.
Le stitcher appelle une fonction du contrat intelligent EntryPoint appelée handleOps. Cette fonction reçoit la transaction du package et appelle une fonction spéciale sur chaque compte : validateUserOp. Chaque portefeuille de contrat intelligent doit implémenter cette fonctionnalité. La fonction validateUserOp permet de vérifier la signature de l'opération, et de payer les frais si le compte considère l'opération valide, avant de poursuivre l'exécution de l'opération. Chaque portefeuille de contrats intelligents doit également implémenter une deuxième fonction : "execute" est censé être appelé pour effectuer réellement l'opération envoyée par le contrat EntryPoint.
Avantages uniques du modèle
Grâce au modèle unique d'abstraction de compte Ethereum, un certain nombre de nouvelles fonctionnalités sont introduites, notamment :
récupération sociale
La récupération sociale est une nouvelle fonctionnalité qui permet aux utilisateurs d'ajouter des contacts de confiance qui peuvent les aider à récupérer leurs comptes s'ils perdent leur phrase de départ. Pour utiliser la récupération sociale, les utilisateurs créent une liste de contacts de confiance et leur attribuent des poids de récupération. Si un utilisateur perd sa phrase de départ, ses contacts de confiance peuvent utiliser ses poids de récupération pour voter sur qui devrait être le nouveau propriétaire du compte.
comptes multisignatures
Les comptes multi-signatures sont un nouveau type de compte qui nécessite plusieurs signatures pour certaines transactions. Cela peut être utilisé pour augmenter la sécurité en exigeant que plusieurs personnes approuvent une transaction avant qu'elle ne puisse être exécutée. Par exemple, une entreprise peut utiliser un compte multi-signatures pour exiger l'approbation de deux administrateurs ou plus avant d'effectuer un paiement.
transactions par lots
Les transactions par lots permettent aux utilisateurs de regrouper plusieurs transactions et de les signer avec une seule signature. Cela peut réduire les coûts de gaz en éliminant la nécessité de payer le gaz pour chaque transaction individuelle. Par exemple, un utilisateur peut regrouper plusieurs petits paiements pour réduire le coût total du gaz.
opérations sponsorisées
Les transactions sponsorisées permettent aux utilisateurs de payer des transactions avec des jetons ETH ou ERC-20, au lieu d'Ether. Cela peut être utile pour les utilisateurs qui n'ont pas d'Ether ou qui veulent éviter de payer des frais d'essence élevés. Par exemple, un utilisateur pourrait parrainer une transaction pour envoyer un message à un ami qui n'a pas d'Ether.
Ainsi, Ethereum Account Abstraction devient une amélioration significative par rapport aux comptes Ethereum traditionnels. Il rend les comptes plus sûrs, plus faciles à utiliser et plus abordables.