Pour envoyer une lettre à un ami ou à un membre de votre famille, vous devez d’abord connaître son adresse postale. Cela signifie qu’une certaine forme d’interaction est nécessaire entre vous et le destinataire, c’est-à-dire l’échange des coordonnées, avant que l’envoi de la lettre puisse réellement commencer. Cependant, une fois que les coordonnées ont été échangées une première fois, vous pouvez envoyer autant de lettres que vous le souhaitez sans même prévenir votre ami. Cela fonctionne parce que, même si votre ami n’est pas chez lui, sa boîte aux lettres est tout à fait capable de recevoir des lettres de manière non interactive, ce qui vous permet de faire une surprise à vos proches ! La plupart des lecteurs de cet article préféreraient probablement envoyer des transactions bitcoin plutôt que des lettres, mais le processus sous-jacent est en réalité très similaire : après l’interaction initiale consistant à échanger une adresse bitcoin, vous pouvez envoyer autant de paiements que vous le souhaitez au destinataire, car l’adresse n’expire jamais. Et tout comme une boîte aux lettres, un wallet bitcoin n’a pas besoin d’attention particulière ni d’être « en ligne » pour recevoir des paiements, ce qui vous permet aussi de surprendre vos proches avec du bitcoin ! Il y a toutefois un piège : la confidentialité du destinataire. Les soldes des adresses bitcoin sont publics, ce qui signifie que toutes les transactions associées à une adresse peuvent être consultées. Vous avez peut-être remarqué que la BitBoxApp génère toujours de nouvelles adresses de réception au lieu d’afficher celles qui ont déjà été utilisées ; c’est une pratique courante pour compliquer l’association de plusieurs transactions bitcoin avec votre identité. L’inconvénient d’utiliser en permanence de nouvelles adresses est assez évident : vous devez d’une manière ou d’une autre communiquer ces nouvelles adresses bitcoin à vos partenaires de transaction à chaque fois, ce qui peut devenir un peu pénible dans certains cas d’usage.
Des solutions peu satisfaisantes
Comme les adresses bitcoin ne sont qu’un petit morceau d’information, elles peuvent être communiquées sous de nombreuses formes. Même si les adresses elles-mêmes ne sont pas des informations secrètes, elles restent vulnérables à la falsification, c’est pourquoi le canal de communication utilisé pour les échanger devrait être raisonnablement sûr — un sujet qui soulève des problèmes totalement différents, que nous avons explorés plus en détail dans un autre article de blog. Le principal problème sur lequel nous voulons nous concentrer pour l’instant est l’expérience utilisateur liée à l’échange répété d’adresses bitcoin. Examinons quelques approches déjà bien établies :
- L’ignorer : comme mentionné plus haut, les adresses bitcoin peuvent être partagées une fois puis réutilisées à volonté, au détriment de la confidentialité de l’utilisateur, bien sûr.
- Partage manuel : chaque fois que quelqu’un veut nous payer en bitcoin, nous pouvons lui partager manuellement une nouvelle adresse. Bien qu’efficace pour préserver la confidentialité, cette méthode peut être inefficace et n’est pas toujours pratique.
- Clés publiques étendues : en partageant la clé publique étendue (xpub) d’un compte bitcoin entier, l’expéditeur peut créer lui-même de nouvelles adresses. Cela ne résout toutefois le problème que pour un seul partenaire de transaction à la fois, car partager une même clé publique étendue avec plusieurs entités constituerait, là encore, un compromis majeur en matière de confidentialité.
- Adresses à la demande : les utilisateurs plus avancés qui dépendent de la réception de bitcoin dans un cadre professionnel peuvent utiliser des services comme BTCPay, qui prennent en charge la partie communication et permettent aux expéditeurs de demander de nouvelles adresses à la demande. C’est une excellente solution à la fois pour la confidentialité et pour l’expérience utilisateur, mais elle demande tout de même du temps et des efforts à mettre en place et dépasse donc probablement le cadre d’un usage personnel.
Vous remarquerez peut-être qu’aucune de ces solutions n’est idéale pour un usage quotidien d’un wallet bitcoin. Toutes les propositions ci-dessus semblent impliquer un compromis inévitable entre confidentialité et facilité d’utilisation, ce qui conduit souvent les utilisateurs à devenir négligents et à sacrifier la confidentialité au profit de la simplicité.
Échanger grâce à la cryptographie
Pour une solution plus élégante au problème ci-dessus, nous pouvons utiliser un canal de communication qui sera de toute façon utilisé : le réseau Bitcoin. Avec un peu de magie cryptographique, nous pouvons échanger les informations nécessaires pour créer et valider une nouvelle adresse directement via une transaction bitcoin (ou avec son aide). Avec un tel mécanisme, l’utilisateur n’aurait à partager qu’un seul « code de paiement » immuable, permettant aux autres d’en dériver de nouvelles adresses sans compromettre la confidentialité. Il existe aujourd’hui principalement deux Bitcoin Improvement Proposals pour cette méthode : les codes de paiement BIP-47 et Silent Payments (BIP-352). Voyons comment ils fonctionnent et s’ils peuvent réellement résoudre de manière satisfaisante le problème sous-jacent.
BIP-47
Les codes de paiement conformes à la spécification BIP-47 sont déjà implémentés par certains wallets aujourd’hui, comme le populaire Sparrow Wallet, et sont souvent encodés sous forme de « PayNyms », un peu plus longs que les adresses bitcoin classiques et reconnaissables à leurs caractères initiaux « PM8T ». Vous avez peut-être déjà aperçu un PayNym représenté sous la forme d’un robot amusant sur la photo de profil de quelqu’un :

Ces codes de paiement BIP-47 peuvent non seulement ressembler à des adresses bitcoin classiques, ils en contiennent effectivement une : l’adresse de notification. Cette adresse est publiquement accessible à toute personne ayant accès au code de paiement et ne change jamais. Pour convenir d’une nouvelle adresse bitcoin, l’expéditeur crée d’abord une transaction de notification vers l’adresse de notification, contenant un petit morceau d’information dans une sortie OP_RETURN. Cela ne doit se produire qu’une seule fois et permet à l’expéditeur et au destinataire d’échanger un secret partagé en effectuant un échange de clés Diffie-Hellman, une procédure cryptographique courante qui ne révèle aucune information secrète au grand jour. En bref, l’expéditeur peut désormais créer un nombre arbitraire de nouvelles adresses bitcoin, sans avoir besoin de communiquer directement avec le destinataire. En observant son adresse de notification et les transactions correspondantes, le destinataire peut facilement recréer ces adresses bitcoin à tout moment et parcourir le réseau à la recherche de paiements entrants.

Tout en préservant la confidentialité et en supprimant le goulot d’étranglement qui impose une interaction pour chaque nouvelle adresse, les codes de paiement BIP-47 présentent un inconvénient évident : une transaction on-chain supplémentaire, qui pourrait donner un coût supplémentaire à la confidentialité à l’avenir, en supposant une hausse des frais de transaction. Il convient également de noter que, même si les adresses finales elles-mêmes ne sont partagées qu’entre l’expéditeur et le destinataire, les transactions de notification sont essentiellement visibles par tous — révélant des métadonnées telles que le nombre total de pairs de transaction.
Silent Payments
C’est là qu’une autre proposition, Silent Payments, entre en scène. En principe, Silent Payments fonctionne de manière très similaire aux codes de paiement BIP-47, mais sans nécessiter de transaction de notification dédiée. Toute personne ayant accès à une adresse Silent Payments peut en dériver une nouvelle adresse et envoyer immédiatement une transaction. À première vue, cela semble être une solution parfaite, car tous les inconvénients mentionnés précédemment ne s’appliquent pas ici : les adresses restent privées, aucune interaction entre les parties à la transaction n’est nécessaire et il n’y a pas besoin de plus de transactions bitcoin que strictement nécessaire. Cependant, se débarrasser de la transaction de notification crée un problème entièrement nouveau pour le destinataire : oui, n’importe qui peut facilement lui envoyer des fonds vers une nouvelle adresse bitcoin, mais comment pourrait-il seulement le savoir ? La transaction de notification signalait auparavant au destinataire un nouveau pair de transaction potentiel, y compris sa clé publique — une information qui manque désormais.
À la place, le destinataire doit vérifier si chaque nouvelle transaction Taproot du réseau inclut un paiement correspondant à son adresse Silent Payments. Cela augmente fortement la charge de calcul pour le destinataire, ou plus exactement pour son logiciel de wallet, et peut rendre la récupération du wallet assez longue.

Le destinataire d’un paiement Silent Payments doit le détecter parmi de nombreuses autres transactions.
Malgré cela, Silent Payments constitue une solution prometteuse au problème de l’échange d’adresses en général et les développements en cours montrent que la complexité computationnelle pourrait au moins être encore réduite à l’avenir. De manière générale, pour les utilisateurs de hardware wallets comme la BitBox02, les codes de paiement pourraient aussi aider à établir un « carnet de contacts » sécurisé en les enregistrant directement sur l’appareil. Lorsqu’une nouvelle adresse est créée pour un code de paiement déjà connu, aucune vérification supplémentaire ne serait nécessaire de la part de l’utilisateur, car l’appareil peut s’en charger lui-même. La prise en charge de l’envoi vers des adresses Silent Payments est actuellement un sujet que nous étudions et que nous pourrions ajouter à la BitBox02 à l’avenir, ce qui constituerait une étape importante pour accélérer son adoption à grande échelle.
Conclusion
La manière dont nous partageons des adresses bitcoin avec d’autres personnes ne devrait idéalement pas être un compromis entre facilité d’utilisation et confidentialité. Même si générer manuellement de nouvelles adresses de réception implique quelques étapes supplémentaires, cela reste actuellement la manière la plus simple de protéger votre confidentialité avec la BitBox02 et la BitBoxApp. Les codes de paiement comme ceux du BIP-47 ou Silent Payments proposent une approche intéressante de ce problème, avec un accent important mis sur la confidentialité, même si certains compromis doivent être faits en cours de route.
Vous n’avez pas encore de BitBox ?
Sécuriser votre crypto n’a pas besoin d’être compliqué. Le hardware wallet BitBox02 stocke hors ligne les clés privées de vos cryptomonnaies. Vous pouvez ainsi gérer vos coins en toute sécurité.
La BitBox02 existe aussi en version Bitcoin-only, avec un firmware résolument ciblé : moins de code signifie moins de surface d’attaque, ce qui améliore encore votre sécurité si vous ne stockez que du Bitcoin.
Procurez-vous-en une dans notre boutique !

Shift Crypto est une entreprise privée basée à Zurich, en Suisse. Notre équipe de contributeurs Bitcoin, d’experts crypto et d’ingénieurs en sécurité conçoit des produits qui permettent à nos clients de profiter d’un parcours serein, du niveau débutant jusqu’à la maîtrise de la gestion des cryptomonnaies. La BitBox02, notre hardware wallet de deuxième génération, permet aux utilisateurs de stocker, protéger et utiliser facilement Bitcoin et d’autres cryptomonnaies, avec le soutien de son compagnon logiciel, la BitBoxApp.
This post was translated with the help of AI