La crypto-monnaie peut-elle se démocratiser de manière décentralisée ?
Acheter Bitcoin (BTC)
Publicité eToro
Il y a deux semaines, Peter Schiff, le célèbre gold bug connu pour être un fervent opposant à Bitcoin, a rapporté sur Twitter avoir perdu accès à son portefeuille et donc aux quelques bitcoins qu'il possédait : « J'ai perdu tout le bitcoin que j'ai jamais possédé, a-t-il déclaré. Mon portefeuille a été corrompu d'une manière ou d'une autre et mon mot de passe n'est plus valide. Donc maintenant, non seulement mon bitcoin n'a pas de valeur intrinsèque, mais il a aussi perdu sa valeur de marché. Je savais que c'était une mauvaise idée de posséder du bitcoin, mais je n'avais pas réalisé à quel point ! » Par la suite, il s'est avéré que c'était vrai et qu'il avait effectivement tout perdu.
Cette annonce a provoqué la dérision dans la cryptosphère : beaucoup se sont moqués de lui, parfois avec un mépris non dissimulé faisant écho à son hostilité envers la cryptomonnaie.
Bien qu'il soit responsable de cette perte (il n'avait noté ni sa phrase de récupération, ni son mot de passe) et qu'il ait clairement fait preuve de mauvaise foi (si Bitcoin n'est pas bon pour lui, il peut l'être pour d'autres), cet épisode nous indique une chose cruciale sur les cryptomonnaies : elles sont loin d'être accessibles pour tous. En effet, beaucoup de personnes pourraient être concernées par ce ce que Peter Schiff a vécu ici : le commun des mortels ne s'intéresse pas forcément au fonctionnement des choses, surtout en matière informatique, et bien souvent ne prendra pas le temps de bien vérifier que ses fonds sont en sécurité. Il n'y a d'ailleurs qu'à voir le nombre de bitcoins qui ont été perdus depuis sa création et qui se perdent encore aujourd'hui.
Ainsi, il y a un problème évident, et si l'on veut que les cryptomonnaies ne restent pas cloisonnées dans une économie de niche destinée aux passionnés d'informatique et aux activistes politiques, il faut remédier à ce problème.
Une pratique commune pour obtenir à la fois accessibilité et sécurité est de confier la charge de ses cryptomonnaies à des tiers comme les plateformes d'échange (Coinbase, Kraken, Binance, etc.), les services spécialisées dans la conservation (Coinbase Custody, Cryptobjectif) ou les applications Lightning de type Wallet of Satoshi ou Tippin.me. Ces solutions « custodiales » (de l'anglais custodial) se sont ainsi multipliées pour permettre aux investisseurs de pouvoir dormir sereinement et pour éviter aux utilisateurs de se compliquer la vie avec le fonctionnement parfois compliqué des systèmes crypto-économiques.
Cela nous amène donc à une question plus large qui est concerne la nature de l'adoption : la démocratisation des cryptomonnaies peut-elle se faire de manière décentralisée ou est-elle condamnée à passer principalement par l'intermédiaire de ces solutions custodiales ?
Pourquoi les solutions custodiales sont problématiques
Les solutions de garde, ou « custodiales », se sont considérablement développées et popularisées lors des dernières années. Aux débuts de Bitcoin, ses utilisateurs (qui étaient des techniciens aguerris) installaient les programmes adéquats pour utiliser Bitcoin. Mais au fur et à mesure du temps, cette pratique s'est restreinte à un microcosme d'experts ; les autres utilisateurs préféraient largement confier la charge de leurs bitcoins à des tiers de confiance pour éviter tous les désagréments d'une pratique directe. Ainsi, Mt. Gox, la première plateforme d'échange majeure qui opérait entre 2010 et 2014, possédait à un moment donné plus de 8 % de la quantité de bitcoins en circulation.
Un regain de méfiance a eu lieu après le piratage de Mt. Gox en 2014 et la perte des bitcoins des utilisateurs. Néanmoins, les plateformes suivantes ont été plus méticuleuses en terme de sécurité et ont pu progressivement se bâtir une réputation : on peut citer la plateforme Kraken qui n'a jamais été piratée en neuf années d'existence. Les solutions custodiales se sont profesionnalisées et adaptées aux réglementations, et même si aujourd'hui le risque de piratage est toujours présent, elles prendront bien souvent la perte à leur charge comme l'a fait Binance en mai 2019.
Les plateformes d'échange sont donc devenues ce qu'on pourrait appeler des crypto-banques, ou banques de cryptomonnaie, qui possèdent tous les avantages des banques traditionnelles. De cette manière, une crypto-banque vous permettra d'échanger facilement vos cryptomonnaies contre des monnaies fiat, mettra à votre disposition un service client et vous distribuera les revenus de staking si vous possédez un crypto-actif comme le tez (XTZ) par exemple. Et force est de constater qu'une très grande majorité d'utilisateurs conservent leurs cryptomonnaies grâce à ces crypto-banques : combien de personnes utilisent leur compte Coinbase comme un « portefeuille » ? combien n'ont jamais sorti leurs cryptomonnaies des plateformes d'échange ? combien ne savent même pas qu'il est possible de le faire ?
Cet état des choses ne serait pas un problème si ces plateformes custodiales ne possédaient pas également les inconvénients des banques. Mais malheureusement c'est bien le cas, et utiliser les crypto-banques va donc à l'encontre de ce pour quoi les cryptomonnaies sont utiles, c'est-à-dire la difficulté à censurer les transactions résistantes à la censure.
En effet, dans de nombreux endroits du monde, les crypto-banques sont obligées de procéder à l'identification de leurs clients (« Know Your Customer »), ce qui signifie que si vous en utilisez une, elle saura qui vous êtes. Ainsi, elle pourra bloquer votre compte ou vous empêcher de faire des transactions si elle le désire ou si un État lui demande, typiquement sous prétexte de vous empêcher de « blanchir de l'argent ». Enfin, si la cryptomonnaie est interdite par la loi de votre pays (probbailité à considérer en France), vous êtes susceptible de tout perdre : « not your keys, not your coins ».
Cela va plus loin. La tendance à l'agrégation des jetons numériques donnent aux crypto-banques un pouvoir non négligeable sur leur avenir. En fait, les plateformes d'échange ont déjà une influence significative sur la gouvernance du protocole Bitcoin : lors d'un embranchement de la chaîne, elles peuvent refuser de lister une branche pour favoriser l'autre. Cela est pour l'instant contre-balancé par le fait qu'une grande majorité des bitcoins est détenue hors des plateformes d'échange, mais si Bitcoin venait à se populariser par ce biais, les États pourraient ordonner à ces plateformes bien identifiées de ne lister que la version de Bitcoin qu'ils privilégient et détruire tout l'effet de réseau de l'autre version. Rappelons à ce titre que l'étalon-or était une solution custodiale.
Ainsi, les solutions custodiales centralisées sont problématiques dans le sens où leur usage de masse pourrait affaiblir les cryptomonnaies dans leur principe. C'est ce qui nous amène à nous demander s'il est possible que cette adoption de masse se fasse sans passer par leur intermédiaire, c'est-à-dire de manière décentralisée.
C'est à mon avis une question d'expérience utilisateur (user experience ou UX). Comme on l'a dit, les utilisateurs choissisent de laisser leurs cryptomonnaies sur les plateformes d'échange par facilité : c'est parce que les portefeuilles actuels ne sont pas assez user-friendly et trop réservés aux techniciens qu'ils ne sont pas universellement répandus. Il faut donc que l'expérience utilisateur des solutions décentralisées devienne suffisamment satisfaisante pour que les individus soient poussés à les utiliser.
Pour moi, deux conditions principales doivent être remplies :
- L'utilisateur doit pouvoir utiliser la cryptomonnaie à partir de l'appareil qu'il possède ;
- L'utilisateur ne doit pas perdre ses cryptomonnaies dès lors qu'il ne suit pas les recommandations.
Dans la suite de cet article, nous allons voir si l'on peut satisfaire ces deux conditions, et à quel prix. Nous parlerons principalement de Bitcoin, mais cela concerne également toutes les autres cryptomonnaies.
Premier problème : l'accès au système
On le sait : Bitcoin fonctionne sur un réseau pair-à-pair de nœuds qui s'échangent les différentes informations relatives à la chaîne de blocs. Ces nœuds, dits « complets », doivent consommer de l'espace en mémoire (chaîne de blocs, ensemble des UTXO), de la bande passante (réception des nouvelles transactions et des blocs) et de la puissance de calcul (vérification des transactions et des blocs), ce qui fait qu'ils requièrent une bonne configuration informatique pour marcher. On voit donc mal comment Bitcoin pourrait se démocratiser si tous les utilisateurs devaient se servir de ces nœuds complets. Heureusement, bien que la possession d'un nœud complet permette de connaître une expérience de Bitcoin totalement souveraine (en tant que « citoyen de première classe »), tout le monde n'a pas vocation à en faire tourner un sur son ordinateur et il existe une alternative : le portefeuille léger.
Comme leur nom l'indiquent les portefeuilles légers sont des portefeuilles, c'est-à-dire qu'ils donnent à l'utilisateur le contrôle sur son argent, sans requérir de tiers de confiance. Cependant, contrairement aux nœuds complets, ils ne demandent pas les même ressources informatiques et peuvent fonctionner sur un smartphone par exemple. Pour ce faire, ils exploitent une technique appelée la vérification de paiement simplifiée, ou Simplified Payment Verification (SPV) en anglais. Cette technique n'est pas nouvelle, et avait été décrite comme suit par Satoshi Nakamoto dans la section 8 du livre blanc :
Il est possible de vérifier les paiements sans faire fonctionner un nœud complet du réseau. Un utilisateur a seulement besoin de conserver une copie des en-têtes des blocs de la plus longue chaîne de preuve de travail, qu'il peut obtenir en interrogeant les nœuds du réseau jusqu'à ce qu'il soit convaincu qu'il possède la plus longue chaîne, et obtenir la branche de Merkle liant la transaction au bloc dans lequel elle est horodatée.
Ainsi, cette méthode permet aux portefeuilles de ne conserver que les en-têtes des blocs, qui constituent une chaîne : les blocs sont en effet constitués de telle sorte à ce que la chaîne de blocs soit réductible à la chaîne des en-têtes. À raison de 80 octets par en-tête, cela représente aujourd'hui environ 47 Mio de données ce qui est facilement gérable par les appareils modernes. Les portefeuilles ne traitent pas non plus toutes les transactions et se contentent de demander aux nœuds les transactions qui les intéressent. Ils peuvent ensuite vérifier que leur transaction a bien été incluse dans un bloc, en demandant les données relatives à l'arbre de Merkle du bloc, en reconstituant la branche qui contient la transaction et en comparant la racine obtenue à celle enregistrée dans l'en-tête.
Le portefeuille le plus connu exploitant cette technique de manière classique est BRD. Il existe également Electrum, qui ne fait cependant pas exactement la même chose : Electrum demande en effet des informations à un sous-ensemble de nœuds spécialisés du réseau appelés des serveurs Electrum (utilisant ElectrumX), et non pas à tous les nœuds du réseau.
Ces portefeuilles présentent bien évidemment des inconvénients et font des compromis. Le premier compromis concerne la sécurité : en se référant à des nœuds du réseau, les portefeuilles de ce type leur font confiance pour leur donner les informations nécessaires. Néanmoins, il s'agit d'un problème partiel puisque les nœuds ne peuvent qu'omettre qu'une transaction a eu lieu, et pas en inventer une de toute pièce. En se connectant à un nombre suffisant de nœuds, on peut donc imaginer qu'un portefeuille obtiendra les bonnes informations de leur part.
Le seconde compromis est la confidentilité de l'utilisateur. En effet, s'il est implémenté naïvement, ce type de client est problématique puisque les nœuds auquel il se connecte peuvent facilement deviner quelles sont ses transactions sur la chaîne. Heureusement, des techniques permettent de mitiger ce problème. Les filtres de Bloom (BIP37) sont ainsi répandus, et ils apportent une relative confidentialité en plus d'augmenter la vitesse de synchronisation. Une avancée plus récente est Neutrino (BIP157, BIP158) qui utilise le codage de Golomb-Rice pour atteindre un haut niveau de confidentialité et d'efficacité.
Dans le but de garantir une accessibilité aux utilisateurs n'ayant pas de nœud complet, des solutions pour le réseau Ligthning sont également développées. On peut notamment citer les fameuses tours de garde (watchtowers) qui permettent à l'utilisateur de ne pas à avoir être connecté à Internet en permanence et qui seront supportés sous peu par le portefeuille Electrum.
Ainsi, il existe déjà une solution au problème de l'accès aux cryptomonnaies. Il restera à l'avenir à améliorer l'expérience utilisateur des différents portefeuilles, et à trouver d'autres moyens pour réaliser les paiements hors ligne par exemple (dans le cas d'un endroit sans Internet). Cependant, il s'agit déjà un très bon début !
Second problème : la gestion des clés privées
L'épisode de la perte des bitcoins de Peter Schiff prouve que beaucoup de gens ne comprennent pas (et certains ne comprendront jamais) comment le système fonctionne. On peut lui rire au nez, mais une chose est certaine : la gestion des clés privées doit être améliorée.
Ce qu'on appelle une clé privée est une information qui sert à contrôler des fonds présents à une adresse publique. Grossièrement, la clé privée est un mot de passe donnant accès à votre « compte » Bitcoin : si quelqu'un la vole, il pourra s'emparer des bitcoins présents à cette adresse ; et si vous la perdez, les précieux bitcoins seront perdus à jamais (ce qui est arrivé à Peter Schiff). Dans la plupart des cas (et dans le but de préserver votre vie privée), votre portefeuille devra générer une multitude d'adresses pour recevoir les fonds. Vous aurez donc une multitude de clés privées à gérer.
Initialement, les clés privées étaient générées par le logiciel et étaient conservées dans un fichier wallet.dat
: il était donc très hardu de les sauvegarder. Néanmoins un standard s'est développé après 2012 pour permettre de dériver les clés privées et les adresses d'une même phrase secrète (composée de 12 à 24 mots), appelée phrase de récupération. Ceci permettait de considérablement réduire la complexité de la sauvegarde : seule la phrase suffisait alors à retrouver les fonds présents sur le portefeuille.
Si ce standard a facilité la vie des programmeurs et des utilisateurs, il n'a pas résolu le principal problème : l'utilisateur doit sauvagarder d'une manière ou d'une autre cette phrase, et s'il ne le fait pas il risque de perdre ses fonds. Éduquer les gens à ce propos est crucial, mais, comme on l'a dit, beaucoup de gens n'écouteront pas et perdront de toute manière leurs cryptomonnaies. Ainsi, si l'on veut que les cryptomonnaiesse démocratisent, il faut trouver une autre solution.
La solution parfaite à ce problème n'existe pas. En effet, on souhaite que l'utilisateur reste maître de son argent et il faut éviter que les clés soient gérées par quelqu'un d'autre. Cependant, plusieurs tentatives ont été faites pour y remédier.
Premièrement, on peut citer le système mis en place par les portefeuilles Edge et Blockchain.com qui permettent à l'utilisateur de se connecter grâce à un pseudonyme et un mot de passe à partir de n'importe quel appareil, procédé familier pour la plupart des internautes. Les clés privées sont chiffrées par le mot de passe et sont stockées comme telles sur les serveurs de l'entreprise, ce qui fait que l'utilisateur (s'il n'a pas noté sa phrase de récupération) pourra récupérer ses fonds s'il se souvient de ses identifiants. Même si cette solution est un compromis et est loin d'être parfaite, elle pourra plaire à beaucoup de gens qui ne se servent pas de leur portefeuille pour déplacer de fortes sommes.
Une seconde solution qui semble bien plus adéquate pour la cryptomonnaie est l'utilisation de contrats autonomes dans le but de mettre en place un procédé de récupération. C'est le cas du protocole Last Will sur Bitcoin Cash qui permet aux gens désignés préalablement de récupérer les fonds de votre portefeuille (il peut s'agir d'un Ledger) si vous ne réalisez pas de transaction pendant un certain laps de temps (disons un an). Ce protocole s'appelle Last Will car il est prévu pour favoriser l'héritage.
Du côté d'Ethereum, nous avons l'excellent exemple du portefeuille Argent, qui grâce à un contrat bien conçu, aide les utilisateurs à récupérer l'accès à leur compte par l'intermédiaire d'un système de gardiens.
Conclusion
Ainsi, bien que l'interface avec la crypto-monnaie soit encore difficile, elle s'améliore de jour en jour grâce au travail d'arrache-pied de milliers de passionnés qui souhaitent voir une démocratisation avoir lieu de manière décentralisée. Les problèmes qui s'opposent à la popularisation des crypto-monnaies existent encore, mais il semble envisageable qu'ils soient résolus dans les années qui viennent.