La base de l'écosystème Web3 est représentée par le portefeuille, une application ou une extension de navigateur qui permet aux utilisateurs de vérifier leur identité sur le web et d'autoriser des transactions. Mais l'utilisation d'un portefeuille a toujours impliqué une courbe d'apprentissage abrupte. Les nouveaux utilisateurs doivent apprendre à copier leurs mots de passe et à les conserver en lieu sûr, à créer un mot de passe fort pour crypter leur fichier keystore, à copier les adresses avec précision lorsqu'ils envoient des fonds, ainsi que d'autres choses qu'ils n'auraient peut-être jamais eu à apprendre lorsqu'ils utilisaient une application Web2.

Si un nouvel utilisateur souhaite rendre l'intégration plus accessible, une option consiste à utiliser un fournisseur de portefeuille de garde, tel qu'un exchange centralisé. Cependant, les utilisateurs expérimentés de cryptomonnaies les mettront presque toujours en garde contre cette solution, et ce pour une bonne raison. Le monde a vu des exchanges centralisées comme Mt. Gox, QuadrigaX et FTX faire faillite à la suite de piratages ou de fraudes pures et simples, ce qui a conduit certains clients à perdre tous leurs fonds en raison de l'utilisation d'un portefeuille dépositaire.

En raison de ce risque, de nombreux utilisateurs de cryptomonnaies considèrent toujours qu'un portefeuille non dépositaire soutenu par un ensemble de mots de passe est le seul moyen sûr pour un utilisateur de protéger son identité Web3.

Mais les utilisateurs doivent-ils toujours choisir entre sécurité et commodité ? Ou existe-t-il un moyen de combiner la sécurité d'un portefeuille non dépositaire avec la commodité d'un exchange ?

Quelques entreprises du Web3 tentent de créer des portefeuilles faciles à utiliser, mais qui n'obligent pas l'utilisateur à placer toute sa confiance dans un dépositaire centralisé. Des entreprises comme Magic, Dfns, Kresus, Web3Auth, Immutable et d'autres pensent qu'un portefeuille peut être aussi facile à utiliser qu'un compte de courrier électronique et suffisamment sûr pour protéger l'identité et les fonds de l'utilisateur. Ces entreprises utilisent différents types de nouvelles infrastructures de portefeuilles pour faire de cette idée une réalité.

Voici un aperçu de quelques-unes des solutions utilisées par les développeurs de portefeuilles :

Magic

Le kit de développement logiciel (SDK) Magic, produit par Magic Labs, est un nouveau système. Il s'agit d'un kit de développement et d'une infrastructure de portefeuille qui permet aux développeurs de créer des portefeuilles sans phrase de démarrage pour les utilisateurs.

Au lieu de stocker la clé privée sur l'appareil de l'utilisateur, une copie cryptée est conservée sur un module de sécurité matériel (HSM) d'Amazon Web Services. Le chiffrement est effectué à l'aide d'une clé principale qui ne peut pas quitter le HSM. Toutes les signatures sont effectuées dans le HSM, ce qui empêche la clé de l'utilisateur d'être diffusée sur l'internet.

Les portefeuilles Magic n'utilisent pas de mots de passe. Au lieu de cela, lorsque les utilisateurs s'inscrivent pour la première fois à un portefeuille Magic, ils soumettent leur adresse électronique au relais Magic. Ce dernier envoie alors un token à usage unique à l'utilisateur par l'intermédiaire de son courrier électronique. Ce token ne fonctionnera que s'il est utilisé par l'appareil qui a envoyé la demande et seulement pour une durée limitée.

Le token est utilisé pour s'authentifier auprès d'Amazon Web Services lorsque l'utilisateur clique sur un lien dans le courriel. Les clés privée et publique du compte de portefeuille blockchain sont alors générées sur l'appareil de l'utilisateur et envoyées au HSM. Magic Labs affirme qu'il ne peut pas voir la clé privée générée, car elle n'est jamais envoyée sur ses serveurs.

Lorsque les utilisateurs cessent d'utiliser leurs portefeuilles et ferment leurs navigateurs, ils peuvent rouvrir leurs portefeuilles en répétant le processus. Ils soumettent à nouveau leur adresse électronique à Magic et reçoivent un nouveau token à usage unique. Cette fois, après s'être authentifiés, ils retrouvent l'accès à leur portefeuille.

Magic Labs a créé une démo montrant le fonctionnement du système. Celui-ci semble permettre à n'importe qui de créer un portefeuille sans avoir à télécharger une extension de navigateur ou à copier des mots de passe. Il permet également aux utilisateurs de fermer leur navigateur et de revenir à leur portefeuille plus tard, en se connectant à nouveau au même compte Web3.

La démo ne fonctionne pour l'instant que sur des testnets tels que Goerli, Sepolia et Mumbai.

Portefeuilles basés sur Magic

Quelques portefeuilles différents utilisant Magic ont été publiés ou sont actuellement en cours de développement. Un exemple notable est le portefeuille Kresus, une application mobile qui permet aux utilisateurs de stocker et de détenir des bitcoins (BTC), de l'ether (ETH), du Solana (SOL), du Polygon (MATIC) et des tokens de ces réseaux. Il permet également aux utilisateurs d'envoyer des cryptomonnaies en utilisant des noms de domaine .kresus au lieu d'adresses de cryptomonnaies.

Kresus a été lancé sur l'App Store d'Apple le 11 mai. L'équipe a déclaré à Cointelegraph qu'une version Android serait disponible plus tard en 2023.

Immutable Passport est un autre exemple. Il s'agit d'une interface de programmation d'applications (API) créée par le développeur de jeux Web3 Immutable. Lorsque les jeux participants intègrent leur site web à Passport, ils permettent aux joueurs de créer des portefeuilles directement sur le site du jeu.

Immutable a déclaré à Cointelegraph que les portefeuilles Passport se connectent au réseau Immutable X, un protocole Ethereum de couche 2, qui permet aux joueurs de stocker tous leurs objets de collection de jeux Immutable dans un seul compte, quel que soit le jeu avec lequel ils se sont initialement inscrits.

Immutable a récemment mis en œuvre Passport comme méthode de connexion par défaut pour son portail de développeurs, et ils prévoient de l'utiliser pour au moins la page de connexion d'un jeu d'ici l'été 2023, a déclaré l'équipe.

Problèmes de sécurité avec Magic

Le SDK Magic contient une faille de sécurité connue, que les développeurs ont pris des mesures pour atténuer. Parce qu'il s'appuie sur des tokens d'e-mail pour authentifier un utilisateur, un pirate peut potentiellement accéder au HSM d'un utilisateur en piratant son compte e-mail, puis en demandant à s'authentifier à partir de son propre appareil. Une fois qu'il a accès au HSM, il peut autoriser toute transaction à partir du compte de l'utilisateur.

C'est pourquoi Immutable Passport et Kresus prévoient d'utiliser l'authentification à deux facteurs (2FA) comme couche de sécurité supplémentaire au cas où le compte de messagerie d'un utilisateur serait compromis.

Les portefeuilles basés sur Magic n'ont pas de mots de passe, ils ne peuvent donc pas être piratés par la méthode habituelle qui consiste à voler et à craquer un mot de passe.

Web3Auth

Web3Auth est une autre nouvelle infrastructure de portefeuille que les développeurs utilisent souvent.

Web3Auth est un réseau de gestion de clés qui s'appuie sur le calcul multipartite (MPC) pour rendre les clés privées récupérables. Lorsque les utilisateurs ouvrent un compte à l'aide de Web3Auth, ils génèrent une clé privée comme d'habitude. Cette clé est ensuite divisée en trois parties.

La première est stockée sur leur appareil, la deuxième est stockée par le réseau Web3Auth par l'intermédiaire d'un fournisseur de connexion, et la troisième est une clé de secours qui doit être stockée sur un autre appareil ou hors ligne. Cette dernière peut également être générée à partir des questions de sécurité si l'utilisateur le souhaite.

En raison du mode de calcul multipartite, un utilisateur peut générer la clé privée et confirmer les transactions avec seulement deux des trois parties. Cela signifie que l'utilisateur peut toujours récupérer son portefeuille si son appareil tombe en panne ou s'il perd sa clé de sauvegarde. Dans le même temps, le fournisseur de connexion ne peut pas effectuer de transactions sans l'autorisation de l'utilisateur puisqu'il ne dispose que d'une seule partie.

Le fournisseur ne peut pas non plus censurer les transactions. Si le fournisseur refuse de donner à l'utilisateur sa deuxième partie après qu'il s'est correctement authentifié, l'utilisateur peut générer sa clé privée en utilisant une combinaison de la partie stockée sur son appareil plus la partie de sauvegarde.

À lire également : Le calcul multipartite pourrait offrir une protection accrue aux portefeuilles

Sur Web3Auth, le partage du fournisseur de connexion est divisé en neuf parties différentes et distribué sur un réseau de nœuds de stockage, cinq parties étant nécessaires pour reconstruire le partage du fournisseur. Cela empêche le fournisseur de connexion de stocker ses parties sur sa propre infrastructure.

Portefeuilles Web3Auth

Web3Auth a été intégré dans plusieurs portefeuilles destinés aux particuliers, notamment Binance Wallet et une version bêta fermée de Trust Wallet. Dans la version d'extension de Binance Wallet, les utilisateurs peuvent créer des comptes de portefeuilles en utilisant leurs identifiants Google. Dans la version de Trust Wallet, Google, Apple, Discord et Telegram sont des options de fournisseurs de connexion, selon une vidéo officielle du compte Twitter de Web3Auth.

Dans les deux cas, l'utilisateur doit toujours recopier les mots de passe. Cependant, le compte peut être récupéré même si ces mots de passe sont perdus, à condition que l'utilisateur ait toujours accès à son appareil et à son compte de fournisseur de connexion.

S'adressant à Cointelegraph, le PDG de Web3Auth, Zhen Yu Yong, a fait valoir que la transition vers l'utilisation de plusieurs parties de clés dans le Web3 est similaire à l'évolution de l'authentification 2FA sur les sites Web2, en déclarant :

 « Au début des années 2000 et à la fin des années 1990, les noms d'utilisateur et les mots de passe étaient incroyablement faciles à perdre. À l'époque, nous pensions que les applications financières ne seraient jamais créées sur l'internet. »

« Avec les noms d'utilisateur et les mots de passe, nous avons fini par passer à l'authentification à deux facteurs. », poursuit M. Yong. « Je pense que c'est la même transition que nous essayons de promouvoir ici [...] Au lieu d'utiliser une phrase de démarrage à facteur unique, nous la divisons en plusieurs facteurs différents [...] et nous faisons en sorte qu'il s'agisse de tous vos points d'accès, de sorte que tout reste autonome. »

Dfns

Dfns, prononcé comme défense, est un réseau de gestion de clés MPC qui permet aux institutions, aux développeurs et aux utilisateurs finaux de créer des portefeuilles sans mot de passe et sans phrases de démarrage. Il conserve la clé privée de chaque blockchain sous forme de multiples fragments répartis entre les nœuds du réseau Dfns.

Pour autoriser une transaction, les nœuds Dfns doivent produire conjointement une signature à l'aide de chaque shard.

Contrairement à Web3Auth, Dfns ne conserve pas une partie de la clé privée de la blockchain sur l'appareil de l'utilisateur ou en tant que sauvegarde. Tous les shards sont conservés sur le réseau lui-même.

Les nœuds Dfns utilisent un protocole appelé "WebAuthn" pour vérifier qu'un utilisateur a autorisé une transaction. Ce protocole a été créé par le World Wide Web Consortium pour permettre aux utilisateurs de se connecter à des sites web sans mot de passe. Sur les Dfns, les nœuds sont programmés pour ne signer une transaction avec leur shard que si l'utilisateur final s'est authentifié à l'aide de ce protocole.

Lorsqu'un utilisateur s'inscrit sur un site web à l'aide de WebAuthn, le site crée une clé privée sur l'appareil de l'utilisateur. Cette clé privée n'est utilisée dans aucune blockchain. Elle n'existe que pour permettre à l'utilisateur de se connecter au site.

Lors de la création de la clé, l'utilisateur est invité à la protéger à l'aide d'un code PIN ou d'un verrou biométrique. Sur un PC Windows, ce verrou peut être créé par le biais de Windows Hello, qui fait partie du système d'exploitation, ou par le biais d'un dispositif distinct tel qu'un téléphone portable ou Yubikey. Sur un appareil mobile, le verrou est généré à l'aide de la sécurité intégrée de l'appareil.

Exemple d'une demande d'enregistrement WebAuthn. Source : WebAuthn.io

Sur un site web qui met en œuvre l'enregistrement WebAuthn, l'utilisateur n'a pas besoin d'une adresse électronique ou d'un mot de passe pour s'enregistrer. Au lieu de cela, l'appareil utilise son propre système de sécurité pour identifier l'utilisateur.

Lorsqu'une équipe de développement de portefeuilles crée un portefeuille utilisant Dfns, elle peut transmettre cette méthode d'authentification à l'utilisateur final. Dans ce cas, le portefeuille est considéré comme non confidentiel car le fournisseur du portefeuille ne dispose pas de l'appareil, du code pin ou des données biométriques de l'utilisateur et ne peut donc pas autoriser les transactions.

L'utilisateur final peut également ajouter des appareils à un portefeuille si le premier tombe en panne.

Les développeurs de portefeuilles peuvent également créer des portefeuilles de garde à l'aide de Dfns. Dans ce cas, le développeur du portefeuille doit s'authentifier auprès du réseau à l'aide de WebAuthn. Il peut utiliser n'importe quelle méthode pour authentifier un utilisateur avec lui-même, y compris des noms d'utilisateur et des mots de passe.

Portefeuilles utilisant Dfns

S'adressant à Cointelegraph, Clarisse Hagège, fondatrice de Dfns, a déclaré que la plupart des clients de la plateforme sont des institutions et des équipes de développement sur le marché interentreprises.

Cependant, l'équipe a récemment commencé à attirer davantage de fournisseurs de portefeuilles business-to-consumer. L'application d'épargne crypto de détail SavingBlocks utilise Dfns, et la société est en pourparlers avec quelques exchanges décentralisés pour aider à créer des portefeuilles pour leurs clients également, a-t-elle dit.

Selon Mme Hagège, pour que les cryptomonnaies soient adoptées en masse, les utilisateurs ne devraient même pas être conscients de l'existence d'une clé privée de blockchain lorsqu'ils effectuent des transactions.

« Ce que nous visons, ce sont les centaines de milliers de développeurs qui créeront des cas d'utilisation destinés à l'adoption massive de la blockchain, destinés aux personnes qui ne veulent pas savoir qu'elles ont une clé privée. », a-t-elle expliqué. « Nous disposons d'un réseau de serveurs qui assurent la génération des clés [...], et l'important n'est pas de posséder la clé privée ou les parts de clés, mais de posséder l'accès à l'API. »

Les nouvelles technologies de portefeuille seront-elles adoptées par le plus grand nombre ?

Il reste à voir si ces nouvelles technologies de portefeuilles conduiront à une adoption massive ou si elles seront même acceptées par les utilisateurs actuels. Malgré leur simplicité, elles peuvent être trop complexes pour les utilisateurs qui préfèrent détenir leur crypto sur un exchange. D'autre part, les utilisateurs qui croient au mantra « pas vos clés, pas votre crypto » peuvent être méfiants à l'idée de faire confiance à un réseau MPC ou à un module de sécurité matériel appartenant à Amazon pour autoriser des transactions en leur nom.

Néanmoins, certains utilisateurs pourraient décider que les avantages du MPC ou des liens Magic sont tout simplement trop intéressants pour être laissés de côté. Seul l'avenir nous le dira.

En attendant, ces nouvelles technologies susciteront probablement des discussions sur la manière de garantir que les utilisateurs gardent le contrôle de leurs fonds ou sur la signification réelle de « la conservation autonome ».