La confidentialité s'améliore sur Bitcoin avec l’implémentation de P2EP par BTCPay Server
Blockstream Research

La confidentialité s'améliore sur Bitcoin avec l’implémentation de P2EP par BTCPay Server

Samson Mow, Daniel Williams

Nous sommes heureux d’annoncer que la suite BTCPay Server inclut désormais Pay to Endpoint (P2EP), améliorant la confidentialité des transactions Bitcoin pour des dizaines de milliers de marchands à travers le monde. BTCPay Server est un processeur de paiement Bitcoin auto-hébergé, open-source, privé, résistant à la censure et gratuit.

L’assemblée des sorciers

P2EP est le résultat d’un atelier organisé par Blockstream en 2018 au cours duquel des développeurs et chercheurs du monde entier spécialistes de Bitcoin ont réfléchi à des moyens d’améliorer sa confidentialité et sa fongibilité. Parmi eux se trouvaient le Dr Adam Back de Blockstream, Matthew Haywood, Tim Ruffing, et les chercheurs indépendants Adam Gibson, Adam Fiscor, Dan Gershony et d’autres qui souhaitent rester anonymes.

Pendant une semaine, les participants ont évalué les technologies de confidentialité actuelles de Bitcoin et en ont imaginé de nouvelles. Le groupe a finalement mis au point le tout nouveau P2EP, également connu sous le nom de « PayJoin ».

Reconquérir la vie privée des Bitcoiners

En raison de la nature publique de la blockchain Bitcoin, des tiers peuvent analyser l’historique des transactions pour déterminer les liens potentiels entre elles. Cela nuit à la fongibilité, une propriété essentielle de la monnaie et menace la vie privée des utilisateurs.

Par exemple, l’historique d’un bitcoin peut être retracé sur un nombre arbitraire de transactions et étiqueté comme « suspect » par les sociétés d’analyse de la blockchain. Poussé à l’extrême, cette analyse aboutit à étiqueter les bitcoins comme « sales » et refusés par les commerçants et les exchanges, ce qui les rend plus difficiles à dépenser.

Présentation de P2EP

Les transactions P2EP sont une forme particulière de CoinJoin. CoinJoin, qui a été évoqué pour la première fois par Greg Maxwell, utilise les capacités existantes de Bitcoin pour permettre des transactions améliorant la confidentialité sans aucun changement au niveau du protocole. Un CoinJoin combine plusieurs paiements en une seule transaction Bitcoin plus grande, ce qui complique l’identification des protagonistes pour les analystes de la blockchain.

Les transactions P2EP sont particulières car l’expéditeur et le destinataire du paiement coopèrent tous les deux pour créer la transaction Bitcoin (de façon similaire à la méthode utilisée à l’origine par Satoshi Nakamoto pour les paiements Bitcoin). Contrairement à une transaction Bitcoin basique, pour laquelle seul l’expéditeur utilise son portefeuille, une transaction P2EP implique une action de l’expéditeur et du destinataire, ce destinataire s’envoyant à lui-même des bitcoins en plus du montant payé par l’expéditeur.

Comparaison entre une transaction P2EP et une transaction Bitcoin ordinaire

Armés de leur portefeuille compatible P2EP, les utilisateurs pourront créer des transactions P2EP de la même façon que les transactions Bitcoin habituelles. L’expéditeur scanne un QR code fourni par le destinataire pour initier le paiement. La magie se produit lorsque le portefeuille compatible P2EP de l’expéditeur détecte le paramètre P2EP dans le QR code, auquel cas il établit une connexion avec le portefeuille du récepteur pour coordonner automatiquement le paiement P2EP. Une fois que le portefeuille du destinataire a ajouté une entrée à la transaction (presque instantanément), l’expéditeur doit signer la transaction une deuxième fois avant de la diffuser sur le réseau Bitcoin.

Les avantages du P2EP :

  • Une confidentialité bidirectionnelle : l’expéditeur et le destinataire bénéficient tous les deux d’une plus grande confidentialité.
  • Pas de caractéristique repérable : contrairement à une transaction CoinJoin traditionnelle à dénomination fixe, il n’y a pas de caractéristique flagrante permettant de distinguer une transactions P2EP. Les transactions ordinaire et P2EP se ressemblent sur la blockchain, ce qui signifie qu’une adoption même minime du P2EP permet aux transactions de base « non-P2EP » d’améliorer leur confidentialité.
  • **Rupture des heuristiques d’analyse de blockchain **: P2EP casse à la fois l’hypothèse de « propriété commune des entrées » et l’analyse de la somme des sous-ensembles.
  • **Réduit le gonflement de la blockchain **: le récepteur peut utiliser P2EP pour consolider son set d’UTXO, contribuant ainsi à réduire le phénomène de fragmentation des UTXO (« UTXO bloat ») sur la blockchain Bitcoin.
  • **Légers et polyvalents : **les wallets utilisés peuvent être des portefeuilles légers, comme Blockstream Green.

Cependant il y a plusieurs points importants qu’il faut avoir à l’esprit lors de l’utilisation des transactions P2EP :

  • PE2P nécessite d’être en ligne : les portefeuilles de l’expéditeur et du destinataire doivent être connectés pour permettre la coordination de la transaction P2EP. Si une connexion ne peut pas être établie, un paiement Bitcoin non-P2EP sera effectué à la place.
  • **PE2P nécessite un « hot wallet » pour le destinataire : **pour garantir une transaction P2EP sans temps de latence, le portefeuille du destinataire doit pouvoir signer automatiquement les transactions lorsque la connexion est établie.

BTCPay : une tête de pont pour P2EP

Pour assurer un déploiement rapide de P2EP, Blockstream a financé le développement de la fonctionnalité P2EP pour BTCPay, en collaboration avec le développeur et contributeur vétéran de BTCPay, le vénérable « M. Kukks ».

Des dizaines de milliers de commerçants qui utilisent BTCPay Server ont désormais la possibilité de recevoir des transactions P2EP. Leur permettre d’accepter facilement des bitcoins via des transactions P2EP est l’un des meilleurs moyens d’améliorer la confidentialité et la fongibilité de Bitcoin.

L’implémentation de P2EP sur BTCPay Server est basée sur une version largement revue de bustapay, écrite à l’origine par le développeur indépendant Ryan Havar. La version de BTCPay est présentée ici.

Les commerçants ont aussi besoin de confidentialité

La confidentialité des transactions est particulièrement importante pour les commerçants, car ils traitent un grand nombre de transactions provenant de clients différents. Après avoir identifié l’adresse Bitcoin unique d’un commerçant, tout client peut potentiellement analyser la blockchain pour déterminer combien d’argent une entreprise gagne et combien de clients elle a - des informations très précieuses pour la concurrence ou les voleurs.

Les commerçants sont, de plus, incités à utiliser les transactions P2EP, une solution économique permettant de limiter la fragmentation de leurs UTXO, un effet secondaire de la réception de petites transactions par de nombreux clients.

Prochaine étape pour P2EP?

Les utilisateurs qui souhaitent tester P2EP peuvent générer des transactions vers les boutiques participantes avec le Bitcoin wallet intégré de BTCPay.

Chez Blockstream, nous travaillons sur l’ajout de P2EP dans Blockstream Green, qui devrait être disponible dans les mois à venir. Nous avons également entendu que Wasabi Wallet et BlueWallet envisagent à présent d’accepter les transactions P2EP. L’adoption de P2EP comme standard gagne du terrain et nous espérons que sa mise en œuvre dans BTCPay Server aidera à accélérer cette croissance.

Nous avons bon espoir que la confidentialité de P2EP renverse le rapport de force en faveur de l’individu en ce qui concerne l’autonomie et la souveraineté, et, peut-être même un jour, qu’il rende la surveillance de la blockchain complètement impossible.

If you have specific preferences, please, mark the topic(s) you would like to read: