Qu’est-ce qu’un smart wallet en crypto ?

smart wallet crypto
  • Un smart wallet est un portefeuille numérique qui utilise des contrats intelligents fonctionner.
  • Les smart wallets éliminent la nécessité de gérer des clés privées.
  • Les smart wallets permettent des transactions personnalisées et automatisées grâce à l'abstraction de compte.

Qu'est-ce qu'un Smart Wallet

Un smart wallet ou “portefeuille intelligent” est un portefeuille crypto non-custodial alimenté par un contrat intelligent (smart contract) sur la blockchain.

Contrairement aux portefeuilles traditionnels qui se contentent de stocker des clés privées et de signer des transactions, les smart wallets permettent une gestion bien plus avancée des actifs numériques grâce à certaines fonctionnalités programmables

Autrement dit : on peut voir un smart wallet comme une application décentralisée (dApp) qui utilise des contrats intelligents pour proposer des fonctionnalités avancées aux utilisateurs. Concrètement, ces portefeuilles peuvent exécuter ce qu’on appelle des “logiques programmables”, automatiser des processus, et permettre des transactions complexes sans nécessiter une intervention manuelle à chaque étape.

En quoi les Smart Wallets sont-ils meilleurs que les portefeuilles classiques ?

Voici les raisons pour lesquelles certains investisseurs préfèrent utiliser un smart wallet qu’un portefeuille numérique classique pour le stockage et la gestion de leurs actifs :

  1. Sécurité : Les smart wallets permettent des options de récupération de compte plus sûres, telles que la récupération sociale ou l’utilisation de signatures multiples (MPC). Et donc cela réduit d’une certaine manière le risque de perte d’accès due à l’oubli de la phrase de récupération ou au vol des clés privées.

  1. UX Améliorée : Grâce à l’abstraction des frais de gaz et aux transactions groupées, les utilisateurs peuvent interagir avec la blockchain de manière plus fluide et moins coûteuse. D’un autre côté, les smart wallets éliminent (en général) la nécessité de gérer les phrases de récupération, ce qui rend naturellement l’onboarding des nouveaux utilisateurs plus simple et plus rapide.

  1. Fonctionnalités programmables : Les smart wallets peuvent automatiser des tâches complexes telles que les paiements récurrents, la participation aux protocoles DeFi et l’interaction sécurisée avec des dapps. Par exemple, ils peuvent exécuter des transactions basées sur des conditions prédéfinies, comme des transferts conditionnels ou des transactions multi-signatures.

Modèle de compte d'Ethereum et Abstraction de compte

Pour fonctionner, les smart wallets se basent sur l’abstraction de compte (account abstraction).

Mais avant, il est important de comprendre comment fonctionne le modèle de compte d'Ethereum (Ethereum account model), une technologie sur laquelle est basée la pluplart des wallets que vous utilisez.

Revenons désormais plus en détail sur le fonctionnement du modèle de compte d'Ethereum et de l’abstraction de compte :

Modèle de compte d'Ethereum :

Déjà, un modèle de compte est un système de gestion des identités et des fonds. Il utilise des adresses uniques pour suivre les soldes et les états (states) des utilisateurs.

Il faut comprendre qu’Ethereum dispose de plusieurs modèles de compte, à savoir les comptes externes (EOAs) et les comptes de contrats intelligents.

D’un côté, les comptes externes, ou EOAs (Externally Owned Accounts), sont les comptes contrôlés directement par les utilisateurs. En fait, chaque EOA est associé à une clé privée unique, utilisée pour signer les transactions et accéder aux fonds. Cette technologie est utilisée par des wallets que vous devez très bien connaitre, tels que MetaMask ou encore Coinbase Wallet.

Voici les principaux points concernant les EOAs :

  • Fonctionnement : Les utilisateurs contrôlent un EOA via une clé privée. Cette clé privée signe les transactions, autorise les transferts d'ether (ETH) et l'exécution de contrats intelligents.
  • Avantages : Les EOAs sont simples à utiliser et compatibles avec la majorité des portefeuilles et d'applications décentralisées. Ils offrent un contrôle direct et une sécurité élevée grâce à la cryptographie.
  • Limitations : La perte de la clé privée signifie la perte d'accès aux fonds. De plus, chaque interaction avec la blockchain nécessite une signature, ce qui peut rendre les transactions coûteuses en frais de gaz et compliquées en cas de forte utilisation.

D’autre part, les comptes de contrats intelligents sont des comptes contrôlés par des codes de programme, ou contrats intelligents. Voici comment ils diffèrent des EOAs :

  • Fonctionnement : Les contrats intelligents exécutent des actions prédéfinies lorsque certaines conditions sont remplies. En gros, ce sont des robots où les termes de l'accord sont directement inscrits dans le code. Ces contrats permettent d'automatiser des transactions et d’assurer qu'elles se déroulent exactement comme prévu, sans nécessiter d'intermédiaire. Bien entendu, ils sont déployés sur la blockchain et interagissent avec d'autres comptes ou contrats en fonction de leur code.
  • Différences avec les EOAs : Contrairement aux EOAs, les comptes de contrats intelligents ne sont pas contrôlés par une clé privée. Ils sont plus autonomes et peuvent exécuter des transactions automatiquement selon les règles codées en leur sein.

Toutefois, les comptes de contrats intelligents sont toujours liés aux EOA, étant donné que ce sont les EOAs qui déploient les contrats intelligents et initient les transactions nécessaires pour leur fonctionnement.

Abstraction de Compte (ERC-4337)

L’abstraction de compte, une technologie introduite par le standard ERC-4337 en mars 2023, change la donne sur beaucoup d’aspects.

Il faut voir cette technologie comme un processus qui simplifie l'interaction des utilisateurs avec la blockchain, et ce, en supprimant certaines barrières techniques.

Ici, ce sont les contrats intelligents qui sont utilisés comme comptes pour les utilisateurs, d’où le terme “abstraction de compte”. Il n’y a donc pas besoin de savoir configurer un compte “EOA” comme évoqué plus haut, contrairement aux wallets classiques.

Mais comment ça fonctionne réellement ?

L'ERC-4337 propose une manière d'améliorer les comptes Ethereum sans modifier le protocole de base. Voici comment cela fonctionne :

Déjà, il faut comprendre que ce standard fonctionne principalement grâce à des objets appelés “UserOperation”. Les utilisateurs créent ces objets, qui encapsulent leurs intentions, telles que des transactions ou des appels de contrats intelligents. Chaque UserOperation contient toutes les informations nécessaires pour exécuter l'opération, y compris les signatures et les données de transaction.

Les UserOperations sont ensuite collectés par des “bundlers”, des entités qui regroupent plusieurs opérations en une seule transaction. Les bundlers soumettent donc cette transaction groupée à la blockchain, ce qui permet d’optimiser les frais de gaz et d’améliorer l'efficacité des opérations. D’ailleurs, on pourrait même parler d’élimination totale des frais de gaz, car les frais peuvent être pris en charge par des “paymasters”, des services qui sponsorisent les frais de transaction pour les utilisateurs.

Par ailleurs, L'ERC-4337 introduit également la notion d'abstraction de contrat. Ici, la validation et l'exécution des transactions sont intégrées directement dans des contrats intelligents, au lieu de dépendre uniquement des EOA.

Vous l’aurez compris, cela permet aux utilisateurs de configurer des mécanismes de sécurité bien plus avancés et des processus automatisés pour la gestion de leurs actifs.

Principales technologies et standards (ERC-4337, EIP-5792, ERC-6492, ERC-7677)

Il y a d’autres standards, plus ou moins liés à ERC-4337, qu’il peut être intéressant de connaitre pour comprendre pleinement son fonctionnement :

  • EIP-5792 : Cette proposition est liée à l'ERC-4337. Elle définit notamment un standard pour les paymasters, qui sont des entités permettant de payer les frais de gas pour le compte des utilisateurs, comme nous l’avons déjà mentionné. En gros : L'EIP-5792 standardise les interactions entre les dApps et les wallets, en particulier les smart wallets.

  • ERC-6492 : Cette fois-ci, elle propose une solution pour la vérification des signatures des contrats qui n'ont pas encore été déployés. Pour être plus précis : L'ERC-6492 introduit la signature pré-déploiement, indispensable pour améliorer l'expérience utilisateur avec les smart wallets. Ce standard utilise notamment des adresses déterministes (CREATE2) et des signatures avec un suffixe spécial pour indiquer qu'il s'agit d'une signature pré-déploiement.

  • ERC-7677 : similaire à l’EIP-5792 sur certains points, ERC-7677 est une technologie qui vise à standardiser la communication entre les clients et les paymasters. Elle permet aux utilisateurs de réaliser des transactions sans avoir à payer les frais de gaz directement, rendant l'utilisation de la blockchain plus accessible.

Quels sont les avantages des Smart Wallets ?

  • Sécurité Améliorée : Les smart wallets utilisant ERC-4337 peuvent implémenter des systèmes de récupération sociale, où des contacts de confiance peuvent aider à récupérer un compte en cas de perte d'accès.

  • Flexibilité et Personnalisation : Les utilisateurs peuvent personnaliser les paramètres de leur wallet, comme les limites de dépenses et les méthodes d'autorisation des transactions. D’autant plus que les smart wallets peuvent automatiser des processus complexes, comme les paiements récurrents ou les transactions conditionnelles, simplifiant ainsi la gestion des actifs.

  • Réduction des Coûts : En regroupant plusieurs opérations en une seule transaction, les frais de gaz sont réduits, voire même totalement éliminés dans ce certains, grâce à des “paymasters” qui se chargent de sponsoriser ces frais. De plus, les utilisateurs peuvent également payer les frais de transaction avec différents tokens, augmentant ainsi la flexibilité financière.

  • UX Améliorée : L'élimination de la gestion complexe des clés privées et des phrases de récupération simplifie vraiment l'onboarding des nouveaux utilisateurs. Grâce à cette technologie, les utilisateurs peuvent interagir beaucoup plus simplement avec les dApps de l’écosystème.