Un des fléaux les plus importants sur le protocole Bitcoin est la réutilisation d’adresse. La transparence et la distribution du réseau rend cette pratique dangereuse pour la confidentialité de l’utilisateur. Pour éviter les problèmes liés à cela, il est conseillé d’utiliser une nouvelle adresse de réception vierge pour tout nouveau paiement entrant vers un portefeuille, ce qui peut être compliqué à réaliser dans certains cas.
Ce compromis est vieux comme le White Paper. Satoshi nous mettait déjà en garde contre ce risque dans son ouvrage publié fin 2008 : « As an additional firewall, a new key pair should be used for each transaction to keep them from being linked to a common owner. »
Traduction française : « En guise de pare-feu additionnel, une nouvelle paire de clés pourrait être utilisée pour chaque transaction afin de les garder non liées à un propriétaire commun. »
De nombreuses solutions existent pour recevoir de multiples paiements, sans pour autant produire de réutilisation d’adresse. Chacune d’elles dispose de ses compromis et de ses inconvénients. Parmi toutes ces solutions, il y a le BIP47, une proposition développée par Justus Ranvier et publiée en 2015 permettant de générer des codes de paiements réutilisables. Leur objectif est de pouvoir réaliser plusieurs transactions vers une même personne, sans pour autant réutiliser d’adresse.
Au départ, cette proposition a reçu un accueil méprisant de la part d’une partie de la communauté, et elle n’a jamais été ajoutée à Bitcoin Core. Certains logiciels ont tout de même choisi de l’implémenter de leur côté. Ainsi, Samourai Wallet a développé sa propre implémentation du BIP47 : PayNym. Aujourd’hui, cette implémentation est évidemment disponible sur Samourai Wallet pour les smartphones, mais également sur Sparrow Wallet pour les PC.
Avec le temps, Samourai a programmé de nouvelles fonctionnalités directement liées à PayNym. À présent, il existe tout un écosystème d’outils permettant d’optimiser la confidentialité de l’utilisateur fondés sur PayNym et sur BIP47.
Dans cet article, vous découvrirez le principe du BIP47 et de PayNym, les mécanismes de ces protocoles et les applications pratiques qui en découlent. Je vais uniquement aborder la première version du BIP47, celle actuellement utilisée pour PayNym, mais les versions 2, 3 et 4 fonctionnent pratiquement de la même façon.
Article de Loïc Morel à lire sur pandul.fr