Ouvrir un compte en bitcoins, c’est pour bientôt ?
Une pierre, deux coups – Un développeur espagnol a récemment proposé une solution technique permettant d’utiliser des adresses compréhensibles par l’humain pour envoyer des bitcoins. Au delà du simple aspect esthétique et pratique, cette solution permettrait d’améliorer la confidentialité des échanges des utilisateurs. Explications.
Easypaysy
Le 1er décembre, le développeur espagnol José Femenías Cañuelo a proposé une solution pour créer un système de « comptes » fonctionnant au-dessus de Bitcoin, baptisée Easypaysy. L’implémentation actuelle de Bitcoin n’utilise pas de système de « compte », comme peut le faire Ethereum.
Avant d’entrer dans le vif du sujet, rappelons comment se calcule le solde d’un wallet Bitcoin : Ce dernier possède un ensemble d’adresses. Lorsqu’une de ces dernières réceptionne des bitcoins, elle récupère le contrôle d’une transaction. En grammaire bitcoin, c’est ce qu’on appelle une transaction non dépensée. Lorsque vous dépensez un bitcoin, vous utilisez la clef privée associée à l’adresse Bitcoin pour débloquer la transaction et la transférer à une nouvelle adresse.
Le solde final correspond donc à la somme des fonds non dépensés contrôlés par l’utilisateur (les fameux unspent transactions outputs, ou UTXO). Dans cette situation, une adresse de réception peut alors être potentiellement réutilisée. Bien que cette pratique soit répandue, la réutilisation d’adresse pose un sérieux problème puisqu’elle facilite grandement la tache à quiconque souhaiterait retracer l’ensemble des transactions et activités passées de cette adresse.
Si des solutions existent pour tenter de mitiger ce risque, elles sont imparfaites et demandent encore une certaine technicité : citons par exemple le fait de mixer des bitcoins afin de brouiller les pistes.
Les comptes Bitcoin Easypaysy
Dans la première partie de sa proposition, M. Cañuelo présente la première pierre nécessaire à la construction du système de compte, qu’il définit de la manière suivante :
« Ils [les comptes] fournissent un point d’ancrage cohérent pour le titulaire du compte et un moyen pratique pour les autres de joindre le titulaire du compte par son intermédiaire. »
En plus de ne pas nécessiter de modification dans le code du Bitcoin, cette solution ne nécessite pas non plus de code externe. La création ainsi que l’utilisation des comptes auraient ainsi lieu directement sur la blockchain Bitcoin.
Pour créer un compte, il faudrait donc avoir recours à une transaction en multisignature, cosignée par 2 clés publiques sur la blockchain Bitcoin. Les deux clés publiques sont définies de la manière suivante :
- Identity key (clé d’identification), qui représente l’identité du propriétaire du compte nouvellement créé,
- Value key (clé valeur), utilisée pour recevoir les paiements.
La clé d’identification serait alors principalement utilisée pour communiquer de pair à pair, tandis que que la clé valeur jouerait un rôle lors de l’envoi de fonds.
Les IDs Easypaysy
La seconde innovation de cette proposition réside dans la création d’identifiants pour le compte nouvellement créé. Pour ce faire, une fois le compte créé, le protocole Easypaysy doit permettre d’assigner automatiquement un identificateur au compte en combinant plusieurs informations uniques, présentes dans le bloc où la transaction de création a été insérée ainsi que la transaction elle-même.
L’identificateur créé ressemblerait à quelque chose comme : [email protected]/577.
L’astuce va encore plus loin, car il serait possible de formater cet identificateur selon le BIP 39. Cet identificateur pourrait donc se référer à la liste de mots standard d’habitude utilisés pour constituer les 24 mots de sécurité de vos wallets : ainsi, après avoir été converti en utilisant le format proposé par le BIP 39, [email protected]/577 pourrait devenir [email protected]/motionl. Plus simple à comprendre et à retenir, pas vrai ?
En plus de cela, le papier propose également l’utilisation de noms de domaine, qui permettraient des adresses personnalisées du type btc@journalducoin/<un_nombre>. Notons cependant qu’à l’heure actuelle, un tel mécanisme nécessiterait toujours un nouveau tiers centralisateur pour assurer ce genre d’équivalence.
Au delà de ça, notons également que ce genre de travaux peut intéressement résonner avec d’autres : la question de l’identité numérique décentralisée sur Bitcoin est ainsi de plus en plus discutée aujourd’hui, même par les plus grands.
Comme elle ne nécessite pas de modification du code, cette solution pourrait dès aujourd’hui être implémentée par des fournisseurs de wallets Bitcoin. Cependant, il faudra dans un premier temps que la communauté vérifie les travaux de José Femenías Cañuelo, puis que les modifications soient éventuellement apportées dans le code des wallets. Malgré tout, ce type de solution pourrait à terme faciliter l’utilisation de Bitcoin tout en augmentant la protection de la vie privée.