La mauvaise expérience utilisateur est l'un des principaux obstacles à l'adoption généralisée de la cryptographie aujourd'hui. Les utilisateurs grand public ne pensent pas à la décentralisation ou à l'avenir potentiellement radieux que
Et c'est là que le Web3 moderne est insuffisant. Pour beaucoup, entrer dans le monde des contrats intelligents, comprendre les concepts de la blockchain et même mettre en place un portefeuille crypto semble bien trop compliqué. Sans oublier, par exemple, que vous pouvez facilement perdre votre phrase de départ et que vos fonds seront perdus pour toujours.
Cependant, la dernière implémentation d'EIP-4337 d'Ethereum, déployée le 1er mars 2023, résout le problème UX avec une solution appelée Account Abstraction. Mais qu'est-ce que c'est? Est-ce que ça va vraiment changer l'ensemble
Tout d'abord, abordons quelques bases qui nous aideront à mieux comprendre le concept derrière l'abstraction de compte.
Il existe deux types de comptes dans l'écosystème Ethereum :
Ces comptes sont contrôlés par des individus et ne contiennent aucun code compliqué. Ces comptes ont une paire de clés - privée et publique - qui sont nécessaires pour confirmer et exécuter les transactions.
Un exemple évident de compte détenu en externe est MetaMask Wallet.
Comptes contractuels
Ces comptes sont essentiellement des contrats intelligents qui sont contrôlés par le code. Les comptes de contrat ne nécessitent pas que les utilisateurs effectuent la transaction manuellement et ne disposent pas de clés privées.
Ainsi, la principale différence entre les comptes contractuels et les comptes détenus en externe est que le premier est régi par le code, tandis que le second est dicté par les utilisateurs. C'est important à comprendre. Les comptes de contrats intelligents peuvent exécuter n'importe quelle logique qui y est programmée (tout et n'importe quoi que le programmeur veut), tandis que les EOA ne font que signer des transactions sur la blockchain.
Jusqu'à récemment, la seule façon dont les utilisateurs pouvaient interagir avec le réseau et effectuer des opérations spécifiques comme la transaction de fonds entre portefeuilles ou l'achat
Pour les développeurs de blockchain ou ceux qui sont dans l'espace depuis un certain temps, l'utilisation d'un EOA est un processus familier.
Cependant, pour les novices et les générations plus âgées, c'est sorcier.
De la configuration d'un portefeuille, de la génération et de la mémorisation de la clé privée, à l'achat de fonds, au paiement des frais d'essence chaque fois que vous souhaitez transférer les pièces et au fait de ne pas gâcher les adresses, tout est trop compliqué pour ceux qui sont habitués à la commodité des technologies modernes. services bancaires, qui vous permettent d'envoyer de l'argent en cliquant simplement sur un bouton.
Et ça ne s'arrête pas là.
Lorsque vous utilisez des EOA, vous devez être extrêmement prudent avec vos clés privées et vos phrases de départ. Les perdre pourrait être fatal, car vous ne pourrez plus accéder à vos fonds. Et si votre clé privée est volée, les pirates auront un accès complet à tout votre argent numérique.
Dans un système bancaire traditionnel, même si vous perdez votre carte, la banque peut toujours la bloquer et vous en envoyer une nouvelle.
Pas étonnant que seule une petite fraction des utilisateurs soit prête à prendre le risque. Et même pour les utilisateurs avertis, conscients de tous les risques possibles et sachant s'en protéger, travailler avec les EOA apporte toujours une certaine tension psychologique.
Pour rendre la technologie blockchain plus accessible et conviviale, les développeurs d'Ethereum ont proposé le concept d'abstraction de compte. C'est une idée de permettre aux utilisateurs d'interagir avec le réseau via des contrats intelligents au lieu d'EOA.
Mais pourquoi, d'ailleurs ? Eh bien, un portefeuille de contrats intelligent peut être plus polyvalent qu'EOA, car il a la capacité de contenir des règles et des paramètres distincts. Cela donne aux comptes contractuels un éventail de capacités beaucoup plus large.
Par exemple, l'abstraction de compte et les comptes contractuels permettront à un utilisateur d'avoir différentes clés privées (pour un portefeuille), qui seront distribuées parmi un groupe d'individus et d'appareils de confiance. Si l'utilisateur perd l'accès à sa clé primaire, il peut se tourner vers ces personnes et récupérer l'accès à ses fonds.
Et ce n'est qu'une des façons dont l'abstraction de compte pourrait améliorer l'expérience utilisateur.
Selon Yoav Weiss, co-auteur de EIP-4337 aux côtés de Vitalik Buterin :
"L'abstraction de compte est un moyen de séduire le prochain milliard d'utilisateurs."
L'abstraction de compte est mise en œuvre via
Cependant, en fait, ces deux abréviations sont différentes - la proposition d'amélioration Ethereum (EIP) doit d'abord être acceptée par le système de gouvernance en chaîne avant de pouvoir devenir une demande de commentaires Ethereum (ERC).
En outre, l'ERC n'est qu'un élément de l'EIP et traite principalement des directives de protocole et de développement.
Avant EIP-4337, proposé en septembre 2021, il existait une gamme d'autres EIP liés aux abstractions de compte sur ETH :
EIP-86 en 2016 — La proposition visait à donner aux contrats intelligents la possibilité de démarrer et d'autoriser des transactions.
EIP-2938 en 2020 — La proposition visait à créer un nouveau type de transaction.
EIP-3074 en 2020 — La proposition s'est concentrée sur la fourniture plus efficace de contrats intelligents auto-exécutables grâce à l'utilisation d'un nouvel opcode (bloc de construction de contrat intelligent).
Aucune de ces propositions n'a été mise en œuvre pour une raison simple : elles nécessitaient toutes des modifications de l'infrastructure réseau Ethereum sous-jacente , et cela ne peut se produire sans un accord consensuel.
L'EIP-4337 est différent en ce sens qu'il ne nécessite aucun changement de protocole . Au lieu de cela, il propose de construire une infrastructure de niveau supérieur en plus de celle existante.
En fait, ERC-4337 est déjà implémenté depuis le 1er mars 2023 et les développeurs peuvent déjà créer des applications en utilisant la nouvelle logique.
L'ensemble du processus ressemble à ceci :
Un portefeuille intelligent déclenche une " UserOperation ", un objet de pseudo-transaction, qui est ensuite ajouté au mempool spécial. Ce mempool est essentiellement une file d'attente de transactions (bien qu'il diffère du mempool habituel d'Ethereum).
Ensuite, les bundlers , nouveaux opérateurs décentralisés, agissent comme des mineurs ou des validateurs. Ils récupèrent UserOperations à partir du mempool, regroupent plusieurs opérations utilisateur dans une seule transaction appelée "transaction groupée", puis les bundlers envoient "le bundle" à un contrat intelligent global appelé " EntryPoint *.* "
Dans l'étape suivante, une autre fonction appelée " handleOps " reçoit le bundle et envoie les informations à la validation via " validateUserOp " et exécute l'opération.
Les bundlers paieront les frais de transaction (gaz) associés à l'opération ou seront récompensés soit par le compte contractuel de l'utilisateur, soit par un tiers appelé "paymaster", qui peut être une application décentralisée ou un portefeuille.
Fait rapide :
L'abstraction de compte apporte de nombreux avantages aux utilisateurs de tous niveaux :
Ethereum Account Abstraction offrira aux développeurs de contrats intelligents, de portefeuilles et d'applications plus de liberté lorsqu'il s'agit d'innover l'expérience utilisateur, car ils auront la possibilité de configurer des règles de compte via le code. Cela permettra une intégration plus facile et un niveau global de services et de commodité comparable à celui des banques traditionnelles.
La nouvelle logique de compte rendra les applications fonctionnant sur ETH encore plus
Autorisation multi-signatures — Vous pouvez partager les identifiants d'autorisation avec plusieurs personnes ou appareils de confiance. Les développeurs pourraient également configurer des contrats de manière à ce que les transactions d'une certaine valeur nécessitent l'autorisation d'un certain pourcentage (par exemple, les 3/5) des parties de confiance avant de pouvoir être exécutées.
Gel de compte - En cas de perte ou de compromission d'un appareil, votre compte peut être protégé de tout autre appareil autorisé pour protéger vos fonds.
Récupération de compte - Avec les EOA, la perte d'un appareil ou l'oubli d'une phrase de départ peut vous empêcher d'accéder à vos actifs indéfiniment. Heureusement, avec les portefeuilles de contrats intelligents, vous pouvez créer des comptes de confiance qui autoriseraient de nouveaux appareils et réinitialiseraient l'accès.
Limites de transaction — L'établissement de limites quotidiennes sur la quantité de valeur pouvant être transférée depuis votre compte en un jour, une semaine ou un mois garantit que si un pirate informatique y accédait, il ne serait pas en mesure de tout effacer rapidement.
Listes blanches — Pour assurer la plus grande sécurité de vos fonds, vous ne pouvez initier des transactions qu'à des adresses dont vous savez qu'elles sont sécurisées. Si une personne malveillante obtenait l'accès à votre clé privée, elle ne serait pas en mesure de transférer des fonds vers une destination non inscrite sur la liste blanche. Et même dans ce cas, de tels changements ne peuvent se produire qu'une fois que plusieurs signatures les ont validés - ce qui signifie que si un attaquant veut que son adresse soit incluse dans cette liste, il doit d'abord obtenir également plusieurs de vos clés de sauvegarde.
L'abstraction des comptes améliore également la gestion du gaz. Les applications ont la capacité de couvrir non seulement les frais de gaz des utilisateurs, mais également de permettre le paiement de ces coûts par des tiers - avec des jetons autres que l'ETH. De cette façon, les utilisateurs n'ont pas besoin de maintenir un solde ETH pour financer leurs transactions - les contrats intelligents échangeront automatiquement les jetons d'utilisateur avec ETH.
De nombreuses applications, en particulier les jeux, peuvent bénéficier de la mise en œuvre de sessions de confiance, car il existe un grand nombre de petites transactions qui doivent être validées en peu de temps. L'approbation manuelle de chaque transaction interférerait avec l'expérience de jeu ; cependant, donner une approbation permanente n'est pas sûr. Les portefeuilles de contrats intelligents pourraient fournir une solution alternative en permettant à certaines transactions d'être approuvées pendant une durée prédéterminée, jusqu'à une certaine valeur, ou uniquement pour des adresses spécifiques.
Aujourd'hui, chaque transaction nécessite la preuve que le bon jeton est actuellement chargé dans votre portefeuille. Mais avec la technologie d'abstraction de compte, c'est comme faire des achats en ligne : vous remplissez un « panier », cliquez sur acheter, et toute la logique nécessaire est gérée par le contrat au lieu d'être saisie manuellement par le consommateur.
Avec les comptes contractuels, vous pouvez effectuer des paiements "tirants" initiés par un émetteur de factures. Par exemple, une compagnie d'électricité pourrait mettre en place un contrat de paiement programmé et dicter ses règles, telles que le montant qu'elle facturera chaque mois ou la fréquence à laquelle elle initiera des paiements en une journée. Une fois que les utilisateurs ont approuvé ces paiements pull prédéfinis via leur compte de contrat, les remboursements de factures automatisés peuvent être effectués peu de temps après l'arrivée du jour de paie.
La blockchain est maintenant devenue remarquablement utile dans une grande variété d'applications de paiement.
En tirant parti des comptes contractuels, les développeurs sont libérés des restrictions des EOA existants et peuvent apporter des éléments avantageux du web2 au web3 sans perdre la décentralisation à laquelle ils aspirent. Ici, nous venons d'aborder quelques exemples de la façon dont les expériences utilisateur pourraient être optimisées par Account Abstraction, mais il existe un potentiel illimité pour de nouvelles idées imaginatives qui n'ont pas encore émergé !