Cet article revoit les grands principes qui se cachent derrière l’abstraction du compte (ou Account Abstraction) pour en comprendre ses enjeux. Il passe en revue les comptes Ethereum et leurs obstacles, apporte une définition easy de l’abstraction du compte, explique pourquoi nous en parlons tant aujourd’hui, ce que cela permet et donne un aperçu du futur de cette innovation.

Inspiré de l’excellente serie sur le sujet par Julien Niset d’Argent:  https://www.argent.xyz/weblog/part-3-wtf-is-account-abstraction/.
Un grand merci à Disiaque, spolrot et filtertron pour leur relecture.

1. Les comptes Ethereum

Un compte Ethereum permet d’utiliser l. a. blockchain. Il existe deux varieties de comptes : les comptes contrats (ou contract account ou smart-contracts) et les EOAs (Externally Owned Accounts ou compte à propriétaire externe). 

Les comptes contrats sont déployés sur Ethereum de manière immuable et permettent l’utilisation de l. a. blockchain à travers leurs fonctions programmables. Les EOAs permettent d’interagir avec Ethereum et ses clever contracts by the use of des wallets (e.g. Metamask) qui agissent comme des interfaces avec l. a. blockchain.
Nous nous concentrons ici sur les EOAs : les comptes utilisateurs.

Un EOA possède les caractéristiques suivantes :

  • Steadiness: montant d’actifs sur le compte
  • Nonce: paramètre incrémental permettant de vérifier que les transactions s’effectuent dans le bon ordre
  • Cope with: suite hexadécimale de 42 caractères (0x…n) permettant l’id du compte

À chaque EOA est assigné un signatairesigner »). C’est un objet cryptographique composé d’une paire de clefs (ou « keypair ») publique et privée :

  • L. a. clef publique permet l’id du pockets. C’est à partir de celle-ci que l’on dérive l’adresse publique du compte lors de sa création. (NB : les adresses Ethereum sont dérivés des 20 derniers octets du hash de l. a. clef publique, en ajoutant ”0x” au début) 
  • L. a. clef privée permet de signer des messages numériques et prouver que l’on est le détenteur du pockets i.e. prouver qu’on peut effectuer des transactions (par exemple envoyer de l’argent ou interagir  depuis ce compte.
  • NB : Il est imaginable de dériver l. a. clef publique à partir de l. a. clef privée suivant le modèle ECDSA, mais l’inverse est unimaginable.
C.f. Définition des comptes sur Ethereum-France (2017) https://www.ethereum-france.com/comptes-transactions-gaz-et-limites-de-gaz-par-bloc-sur-ethereum/ 

2. Obstacles des comptes Ethereum

Aujourd’hui, sur Ethereum Mainnet, un EOA est indissociable du signataire et vice versa. Cela représente une limitation au niveau du protocole qui affecte l’expérience utilisateur et l. a. sécurité des comptes de plusieurs manières :

  • Il existe une seule clef privée par compte ; perdre sa clef privée revient à perdre l’accès à son compte et tous ses actifs.
  • Protéger sa clef privée, en dissimulant les 12 ou 24 mots composant l. a. seed word, est aussi good que complexe, même pour les utilisateurs avancés.
  • Le modèle de signature (ECDSA) est limité et non résistant à l’informatique quantique.
  • Ce même modèle de signature est rigide : il ne peut pas être modifié à l. a. guise de l’utilisateur ou des programs.
  • Le compte doit payer du fuel pour chaque transaction, dans le token natif (ETH). Cela limite l’expérience et l. a. confidentialité des utilisateurs.

Résoudre ces obstacles semble pressing pour plusieurs raisons : tout d’abord automotive l’informatique quantique se développe rapidement et pourrait remettre en purpose l. a. sécurité des comptes Ethereum (en rendant obsolète le modèle de signature ECDSA). Mais c’est aussi et surtout l. a. pérennité de mauvaises pratiques depuis des années qui freinent l’adoption de l. a. technologie en effrayant les utilisateurs ou les poussent à se tourner vers des answers centralisées.

3. L’abstraction du compte

L’abstraction du compte est une choice au modèle de comptes utilisateurs actuels permettant de faire face aux obstacles évoquées ci-dessus. 
En informatique, l’abstraction consiste à enlever, séparer ou isoler des caractéristiques d’un élément afin de le simplifier et/ou réduire à l’essentiel. 

L’abstraction du compte consiste en une transformation de l’EOA en un smart-contract, permettant d’isoler le signataire des autres éléments du compte. Ce smart-contract permet d’imiter les fonctionnalités principales d’un compte, c’est-à-dire valider et exécuter des transactions, et d’ajouter des capacités de programmation et personnalisation.

L. a. gestion de ce nouveau kind de clever contracts se fait by the use of des clever contract wallets (tels que Argent ou Protected). Depuis des années, ils permettent d’émuler une forme d’abstraction de compte: c’est-à-dire qu’ils implémentent les caractéristiques de l’abstraction du compte sans changement du protocole Ethereum. Il y a toujours des EOA, mais une partie des complexités est dissimulée.
Par exemple avec Argent, un pionnier des clever contract wallets, chaque utilisateur possède un EOA secret sur son téléphone, qui est le propriétaire du clever contract. L. a. gestion de l. a. clef privée est abstraite grâce à un modèle de social restoration.

Cf. Vitalik Buterin by the use of “Pourquoi avons-nous besoin de l’adoption large du “social restoration” (permis grâce à l’abstraction du compte) https://vitalik.ca/common/2021/01/11/restoration.html 

Cependant les clever contract wallets sont considérés comme des citoyens de seconde zone automotive Ethereum a été conçu pour interagir avec les EOAs et non des clever contracts ; chaque utility a besoin d’être personnalisée pour pouvoir interagir avec les clever contract wallets (cf. EIP-1271 et l. a. fonction isValidSignature).

4. Capacités et possibilités de l’abstraction du compte

L’abstraction du compte permet de grandes améliorations de sécurité et de facilité d’utilisation, et ouvre l. a. porte à une infinité de cas d’usages, notamment :

  • Social Restoration (recouvrement social) : permet de se passer de clefs privées en donnant l’autorisation de réinitialiser un pockets à partir d’autres entités (comptes, {hardware} wallets, utilisateurs).
  • Multicall (multi-appel) : permet de grouper plusieurs opérations et les soumettre en une transaction (atomique) afin d’économiser du fuel, réaliser plusieurs opérations d’une seule traite ou encore programmer des transactions sous prerequisites.
  • Fraud tracking (surveillance de l. a. fraude) : permet une validation à facteur multiples (e.g. 2FA) avec plusieurs signatures pour interagir avec certains clever contracts ou réaliser certains varieties d’opérations. 
  • Consultation keys (clefs de consultation) : donne l. a. possibilité d’autoriser un clever contract à réaliser un ensemble d’movements pendant une période de temps donné.
  • Customized fuel control (gestion personnalisée du gaz) : permet d’éviter aux utilisateurs d’avoir à payer du fuel pour chaque transaction. Permettrait également aux utilisateurs ou programs de payer le fuel dans n’importe quel token ou monnaie fiduciaire.

…et bien d’autres encore. L. a. grande power de l’abstraction du compte est qu’il rend imaginable de personnaliser les paramètres des comptes utilisateurs, et notamment le modèle de signature, ce qui décuple le champ des possibilités.

5. Pourquoi l’abstraction du compte, maintenant ? 

On parle d’abstraction du compte depuis les débuts d’Ethereum et Vitalik en est un fervent défenseur. 
Historiquement, les EOAs ont été conçus avec comme priorité l. a. possibilité de gérer soi-même et sans intermédiaire ses clefs privées afin de maximiser l. a. décentralisation du réseau.

Plusieurs propositions de mises à jour du protocole ont été imaginées pour implémenter l’abstraction du compte sur Ethereum: les EIP-86, EIP-2938, EIP-3074,et le plus récent EIP-4337.

L’EIP-4337 consiste à rendre plus facile le développement et l. a. gestion des clever contract wallets en mutualisant l’infrastructure nécessaire à leur fonctionnement. Avec l’EIP-4337, les utilisateurs n’envoient plus directement de transactions au réseau. À l. a. position, ils soumettent des “intentions” de transaction à une mempool, repris par des bundlers ou assembleurs qui vérifient, exécutent et soumettent les transactions à l’EVM. Des paymasters ou trésoriers-payeurs peuvent être désignés pour financer les frais de gaz.

Les spécifications de cet EIP ont été définies et l’implémentation est en cours. 

+ c.f. Roadmap de l’implémentation de l’Account Abstraction https://notes.ethereum.org/@vbuterin/account_abstraction_roadmap?utm_source=substack&utm_medium=e-mail#Transaction-inclusion-lists 
+c.f. historique des EIPs sur l’abstraction du compte https://hackmd.io/@matt/r1neQ_B38?utm_source=substack&utm_medium=e-mail

En plus de ces développements sur le protocole Ethereum, l. a. mise en manufacturing des answers de scalabilité ou passage à l’échelle représente aujourd’hui une aubaine pour l’abstraction du compte qui peut être implémentée nativement et à grande échelle en ayant appris des erreurs commises dans le passé.

6. Quelles pistes d’avenir pour l’abstraction du compte ?

Sur Ethereum, nous utilisons encore des EOAs ou des clever contract wallets qui imitent l’abstraction du compte. L’implémenter sur Ethereum, comme toute amendment du protocole, représenterait des changements lourds et complexes. Mais comme l’a montré Vitalik dans l. a. roadmap mise à jour d’Ethereum, l’Account Abstraction Observe a déjà bien avancé, et devrait s’accélérer dans les prochains mois.

Des answers de scalabilité de kind Layer2 (couches de niveau 2 ou L2) comme Starknet et Zksync v2 supportent l’abstraction du compte nativement. Il sera fascinant d’étudier les développements de l’abstraction du compte sur ces dernières et de parfaire le modèle proposé par l’EIP-4337. Nous nous attendons à ce que d’autres L2/blockchains suivent le pas.

Dans un monde où 99% de l’activité d’Ethereum se passe sur les L2(cf. Rollup-centric roadmap) le besoin d’abstraction du compte sur mainnet pourrait se réduire. Mais si on se dirige vers un monde où les chaînes/rollups sont compatibles avec l’EVM et/ou équivalents, alors il sera tout de même nécessaire d’implémenter cette innovation sur le mainnet d’Ethereum. D’un autre côté, si Ethereum adopte l’abstraction du compte sur mainnet, l. a. majorité des L2 devront suivre… 🐓🥚

Pour finir avec une be aware d’actualité, l. a. faillite de FTX souligne une fois de plus l. a. nécessité des answers de self custody (détention personnelle) qui permettent de s’émanciper des answers centralisées et sécuriser nos actifs sans tiers parti. L’abstraction du compte, qui positionne les clever contracts wallets comme same old de l. a. self custody, apparaît comme l. a. suite logique dans le développement des comptes et wallets sur Ethereum ; mais pas seulement.


Pour suivre Ethereum-France ⬇️

Des questions ou commentaires? N’hésitez pas à me contacter by the use of NathanSexer sur Twitter.



LEAVE A REPLY

Please enter your comment!
Please enter your name here