StarkNet et l’Account Abstraction : anatomie d’une révolution !

Introduction :

Aujourd’hui, les principales problématiques liées à l’adoption des blockchains sont la scalabilité (sujet abordé précédemment dans cet article.

starknet logo

L’interopérabilité StarkNet prévoit l’implémentation de l’IBC, la solution de l’écosystème Cosmos qui a déjà fait ses preuves) et l’accessibilité, qui permettrait à Madame Michu d’utiliser la blockchain sans devoir conserver précieusement sa seed phrase et signer des smart contracts incompréhensibles à chaque action on-chain. L’objectif final étant de proposer une expérience aussi fluide que sur le web 2, Starknet s’est fixé pour mission de rendre cette promesse accessible dès aujourd’hui grâce à l’Account Abstraction.

Définition de l’Account Abstraction :

Au lieu d’utiliser un EOA (les wallets classiques) inerte, l’account abstraction consiste à utiliser un smart contract, ce qui permet de coder de la logique directement dans le compte, et donc d’y ajouter une couche d’intelligence. Cela permet concrètement de personnaliser les signatures, la récupération des comptes et d’automatiser certaines opérations.

En effet, s’attaquer aux cryptomonnaies et à la DeFi, c’est parfois se heurter à des concepts techniques comme le système de clés privées et publiques. Pas facile de s’y retrouver, surtout quand on sait que la perte d’une clé privée signifie la perte définitive de ses fonds…

Pour rendre cette technologie plus accessible, des développeurs d’Ethereum, portés par Vitalik Buterin, ont imaginé une solution pour alléger ces contraintes : l’Account Abstraction. Traditionnellement, les portefeuilles crypto, connus sous le nom de « Externally Owned Account » (EOA) comme votre adresse MetaMask, reposent sur une clé privée unique. Avec l’Account Abstraction, fini ce système. Ici, l’adresse de votre wallet est remplacée par un smart contract.

Ce nouveau modèle permet, par exemple, de changer, révoquer, ou même restaurer sa clé privée en s’appuyant sur des règles de consensus social. Mieux encore, il simplifie la gestion des frais de transaction (le fameux « gas ») en permettant de les payer avec n’importe quel jeton ERC-20.

C’est une avancée importante déjà adoptée par plusieurs solutions de layer 2 d’Ethereum, dont StarkNet, même si elle reste encore absente de la chaîne principale.

Les wallets :

“On a une seule opportunité de faire une bonne première impression”, et ça, StarkWare l’a bien compris. Actuellement, la première des barrières à l’entrée du web 3 est assez immédiate, car il s’agit de la création de son wallet ! Que ce soit via une Ledger ou un wallet « extension web », vous allez commencer votre expérience par une prise de responsabilité, la gestion de secrets ! Au moment de créer votre wallet, vous allez voir apparaître votre “Seed phrase”, une liste de 12 ou 24 mots aléatoires et en anglais (pour rajouter du fun) qu’il vous faudra conserver de manière durable et en plus dans le plus grand des secrets, sous peine de risquer un jour de ne plus pouvoir accéder à vos fonds !

Alors certes, pour les vétérans des cryptos qui ont connu les paper wallets, on est très confortable avec les solutions d’aujourd’hui. Mais il faut se souvenir d’un point clé : quand on parle de « massive adoption », la cible, ce n’est pas les cypherpunks de la première heure, mais bien votre voisin expert-comptable ou ambulancier qui n’a jamais pris 5 minutes pour comprendre ce qu’est une blockchain et qui, pour diverses raisons, n’a pas l’intention de passer des heures à creuser le sujet !

Et ce n’est pas parce que vous l’avez convaincu d’acheter du BTC ou de l’ETH dans une discussion en attendant l’ascenseur qu’il va s’embêter à les sortir de Binance par idéologie… Ce n’est pas parce qu’il est feignant, mais simplement parce que la barrière à l’entrée et les responsabilités sont importantes quand il s’agit de conserver soi-même ses fonds.

C’est là que l’Account Abstraction commence à devenir intéressant ! Imaginez un monde où créer un wallet est aussi simple qu’ouvrir un compte Gmail et faire passer ses transactions on-chain est aussi fluide qu’une commande Uber Eats. C’est ce que propose Starknet avec l’Account Abstraction native rendue possible grâce à son code, Cairo.

Le fonctionnement de la « récupération sociale » ou pas…

Voilà où ça devient vraiment intéressant. Imaginez que vous perdez l’accès à votre portefeuille. Un cauchemar pour beaucoup de gens aujourd’hui. Avec la récupération sociale, vous n’avez plus à vous inquiéter de perdre vos fonds pour toujours.

Voici comment ça marche : vous choisissez quelques personnes de confiance, des amis proches, des membres de votre famille. Ces personnes deviennent vos « gardiens ». Si un jour, vous perdez l’accès à votre portefeuille (si vous avez perdu votre téléphone ou oublié votre mot de passe), vous pouvez demander à ces gardiens de confirmer votre identité. Imaginons que trois de vos cinq gardiens doivent donner leur accord pour que vous puissiez récupérer l’accès à votre portefeuille. Ils reçoivent une notification, valident que c’est bien vous qui en faites la demande, et voilà, votre accès est restauré.

C’est un peu comme laisser une clé de secours chez vos voisins qui ouvre la porte uniquement si c’est votre main qui la tient, mais en version numérique. Il est également possible d’être “vos propres gardiens!” (oui au pluriel). Oui, vous pouvez vous-même être votre propre gardien via un autre wallet EOA, une ledger (ce qui est mon cas) ou les deux !

Même si vous perdez votre seed phrase ou votre appareil, tant que vous avez des gardiens de confiance, vous pouvez toujours récupérer vos fonds. Cela enlève beaucoup de stress et rend l’utilisation des portefeuilles blockchain beaucoup plus accessible pour le grand public.

L’Account Abstraction : Au-delà du simple souci de la Seed Phrase !

Le fait de régler le problème des seed phrases est déjà une prouesse en soi, mais les avantages de l’Account Abstraction ne s’arrêtent pas là ! C’est une véritable révolution dans l’univers des wallets. Pour la première fois, nous pourrions avoir des wallets « programmables », ce qui pourrait retirer une grosse partie de la lourdeur de l’utilisation des protocoles. Par exemple, vous pouvez paramétrer votre wallet pour qu’il ne vous demande pas de signature lorsque vous lancez une transaction d’une valeur de moins de 500 $, ce qui rendra votre expérience plus fluide.

Pour ceux qui, comme moi, ont l’habitude d’utiliser des bridges qui font souvent passer nos fonds sur plusieurs blockchains avant d’arriver à destination, ils pourraient permettre de tout valider en une seule signature ! Également, vous pourrez automatiser certaines actions !

Par exemple, pour les fans de DeFi, il y a actuellement une incentive “DeFi Summer” sur Starknet dont je profite moi-même en déposant du stablecoin sur ZK-Lend. Chaque semaine, les rewards d’incentives sont claimables sous forme de tokens STRK. Vous pourriez faire en sorte qu’ils soient claimés automatiquement et déposés pour optimiser vos rendements automatiquement, sans faire le tour de chaque protocole où vous déposez de la liquidité !

L’AA permet en plus “l’abstraction de gas”. Un mécanisme extrêmement utile qui permet aux utilisateurs de payer les frais de gas avec n’importe quel token. Dans certains cas, les dApps peuvent même « sponsoriser » le gas pour permettre à tous de découvrir gratuitement leurs protocoles. Pour les gamers, ça donne également la possibilité de créer des « sessions keys » qui rendra invisible la validation de toutes les tx au cours de votre session de jeu.

La fin de “l’infinite approval”, vous connaissez sûrement cette pratique qui consiste à autoriser un protocole que vous utilisez souvent (comme un dex par exemple) à rester connecté à votre wallet. Très pratique pour éviter de multiplier les signatures, mais qui crée une faille de sécurité. Grâce aux smart accounts, on peut mettre l’approval dans la même transaction que l’action voulue (le swap pour l’exemple du dex), ce qui réduit le risque en conservant le même confort d’utilisation.

La question de la sécurité

Malgré les nombreux avantages cités plus tôt, nombreux restent encore sceptiques à l’idée d’abandonner les EOA pour un smart account.

Cela dit, contrairement à ce qu’on pourrait entendre, la sécurité n’est pas moindre pour un utilisateur de smart contract wallet, bien au contraire ! Vous pouvez toujours avoir votre seed phrase avec un guardian en supplément pour récupérer en cas de soucis. Depuis l’intégration de Starknet par Ledger, vous avez maintenant la possibilité d’utiliser votre hardware wallet comme guardian et comme multisig (même avantages qu’un EOA sous Ledger avec une couche de sécurité et de praticité supplémentaire). Argent ou Braavos fonctionnent toujours de manière classique avec une seed phrase. Par contre, il est possible d’y ajouter un guardian qui va servir de 2FA.

La comparaison avec un EOA est alors facile : si quelqu’un vole votre seed phrase EOA, il peut siphonner votre compte, alors que s’il vole votre seed phrase Smart Account et qu’il n’a pas également accès à votre 2FA (votre compte mail ou votre Ledger si vous utilisez le smart account  comme moi), il est incapable d’accéder à vos fonds.

L’utilisateur dépend toujours de sa seed pour récupérer son compte, mais le risque est amoindri grâce aux guardians qui permettront de récupérer l’accès au wallet après confirmation ! On peut voir un smart account comme un multisig personnel dont les différents signers ont des droits différents :

  • Le signet principal a le plus de droits, il peut initier les transactions alors que les autres auront juste la possibilité de les confirmer si besoin de la manière d’un 2FA (dans le cas de ma Ledger par exemple) ou juste de vous permettre de récupérer l’accès au wallet en cas d’imprévu.

L’avantage de StarkNet avec l’AA Native

Le point important à comprendre par rapport à l’avance de Starknet en ce qui concerne l’account abstraction, c’est qu’il n’y a pas d’EOA. Tous les wallets sont des Smart Account et donc l’écosystème entier est construit avec une compatibilité “by design” avec cette technologie ! L’adoption des SA y étant donc de 100%, les dApps se construisent avec la certitude que les utilisateurs pourront profiter de ces nouvelles possibilités. Ce qui facilite la fluidité d’utilisation et simplifie l’usage et l’intégration des néophytes.

La possibilité d’utiliser une clef Ledger en tant que multisig rassurera les plus paranoïaques comme moi, car nos habitudes ne changent pas. Et la possibilité d’utiliser un simple compte mail pour la gestion de ses secrets facilite l’onboarding des plus novices.

Finalement, tout le monde y gagne tant sur la sécurité que sur les possibilités qui ne commencent qu’à être explorées.

Pour ceux qui veulent en découvrir encore plus sur ces possibilités futures et Starknet en général, je ne peux que vous conseiller la récente interview d’Henri Lieutaud.

Un grand merci à Antoine Sparenberg de l’équipe d’Argent qui a beaucoup aidé à l’écriture de cet article et sans qui il serait moins complet.