Auteur: L0LA L33TZ | Date Originale: 28/03/23 |Traduit par: Sovereign Monk | Bitcoin Magazine
Nostr, abréviation de "Notes and other stuff transmitted through relays", est un nouveau protocole de communication développé en 2021 par fiatjaf, développeur du Lightning Network, qui a évolué à partir de la tentative de Ben Arc, développeur de LNBits, de créer une place de marché entièrement décentralisée appelée Diagon Alley. Contrairement aux autres solutions de communication, qui fonctionnent principalement via des clients muets et des serveurs intelligents, Nostr propose des clients intelligents et des serveurs muets, ce qui renforce la résistance à la censure pour les utilisateurs.
Dans Nostr, toutes les données sont stockées localement avec les utilisateurs et simplement distribuées via des relais, au lieu d'être stockées sur des serveurs centraux, comme c'est le cas pour Twitter. Dans le cas des médias sociaux, Nostr renforce la résistance à la censure, car les utilisateurs sont entièrement propriétaires de leur contenu et de leur profil. À la lumière des récentes controverses concernant les politiques de censure de Twitter, les utilisateurs ont commencé à migrer vers la solution de communication fédérée Mastodon. Cependant, dans Mastodon, la propriété du contenu et des profils appartient à ceux qui gèrent les serveurs Mastodon avec lesquels les utilisateurs se sont inscrits. Bien que les fédérations telles que Mastodon offrent une meilleure résistance à la censure que les serveurs centralisés - puisque les utilisateurs peuvent simplement s'inscrire sur un autre serveur lorsqu'ils sont censurés - des critiques ont été émises concernant la censure potentielle sur Mastodon par les propriétaires des serveurs.
En décembre 2022, la communauté Nostr a reçu une subvention de 14 BTC de la part du fondateur de Twitter, Jack Dorsey, ce qui a attiré une attention sans précédent sur le protocole. Au fur et à mesure de l'évolution des applications construites sur Nostr, le client mobile Damus s'est hissé à la première place des réseaux sociaux sur l'app store iOS en Chine, ce qui a entraîné son interdiction. Dans un effort apparent pour contenir la #MarchOffTwitter, le PDG de Twitter, Elon Musk, a rapidement interdit la publication de contenus liés au Nostr, ainsi que des interdictions sur d'autres plateformes tierces telles qu'Instagram, mais en vain.
Bien que Nostr ne soit pas un protocole de protection de la vie privée en soi - entre autres problèmes, les clients divulguent par défaut les adresses IP des utilisateurs aux relais - le protocole Nostr pourrait apporter des améliorations à la protection de la vie privée de Bitcoin.
Amélioration de la confidentialité et de l'évolutivité de BIP47
BIP47 est une proposition d'amélioration de Bitcoin visant à créer des codes de paiement réutilisables tout en protégeant la vie privée des utilisateurs pour les paiements récurrents. Sans BIP47, les utilisateurs doivent fastidieusement générer de nouvelles adresses à la main pour éviter la réutilisation des adresses. Lorsqu'un utilisateur réutilise une adresse pour des transactions, il permet à toute personne surveillant la blockchain de regrouper facilement toutes les transactions appartenant à l'adresse réutilisée et de former un graphique de l'historique des paiements et de la valeur nette de l'utilisateur. La prévention de la réutilisation des adresses est donc une pratique exemplaire en matière de protection de la vie privée dans Bitcoin et elle est déjà mise en œuvre par défaut dans de nombreux portefeuilles Bitcoin. Toutefois, lorsqu'un utilisateur souhaite établir des paiements récurrents avec une autre partie, par exemple dans le cadre d'une relation commerçant-client, la génération fréquente de nouvelles adresses peut s'avérer gênante.
Avec le BIP47, un client peut générer un ensemble d'adresses à utiliser pour les paiements destinés au commerçant. Si un client achète des produits tous les mois, le commerçant devra lui envoyer une adresse chaque mois. Avec le BIP47, le client crée un code de paiement dédié pour le commerçant, qui fonctionne de la même manière qu'une clé publique étendue. Cela permet au client de générer automatiquement de nouvelles adresses pour le commerçant, au lieu que ce dernier doive créer des adresses pour le client.
Le BIP47 utilise les adresses de notification, qui sont surveillées par les HD wallets pour les sorties. Dans une transaction de notification, le commerçant envoie au client une clé publique et un code de chaîne aveuglés via le champ OP_RETURN, ainsi qu'un secret partagé pour garder les adresses partagées privées sur la blockchain publique. Cet échange pose plusieurs problèmes en raison de l'architecture du réseau Bitcoin. Les deux premiers sont d'ordre économique : Une transaction de notification consiste en 80 octets, ce qui peut s'avérer coûteux pour les utilisateurs lorsque les frais sur le réseau Bitcoin sont élevés. De plus, les transactions de notification créent des sorties non envoyables, ce qui gonfle l'ensemble UTXO au fil du temps. Cela augmente la charge de calcul des nœuds Bitcoin qui, à l'époque*, doivent stocker l'ensemble des UTXO, c'est-à-dire chaque sortie Bitcoin qui n'a pas été utilisée comme nouvelle entrée pour garantir la validité des transactions.
Une transaction de notification crée ce que l'on appelle un changement toxique. Lorsqu'un utilisateur reçoit de la monnaie à la suite d'une transaction de notification et qu'il la dépense au profit d'un tiers, quiconque observe la blockchain est en mesure d'établir une corrélation entre les paiements récurrents de l'utilisateur et ses paiements non récurrents, même si les adresses ne sont pas réutilisées. En outre, une adresse de notification n'existe qu'une seule fois pour chaque portefeuille. Si un commerçant souhaite établir des paiements récurrents avec 10 clients, toute personne observant la blockchain est en mesure d'avoir un aperçu de la base de clients du commerçant, car les 10 clients devraient créer des transactions de notification pour le commerçant à la même adresse de notification.
Au lieu d'utiliser les transactions de notification pour échanger les codes de paiement entre les commerçants et les clients, les codes de paiement pourraient être échangés via Nostr. Contrairement à d'autres méthodes de communication, Nostr convient à l'échange de codes de paiement BIP47 car il n'existe pas d'autorité centrale susceptible de censurer l'échange de messages. Par ailleurs, tous les messages directs sur Nostr sont cryptés par défaut, ce qui élimine la nécessité de calculer des secrets partagés. En utilisant le BIP47 via Nostr, les utilisateurs peuvent éviter la création d'un ensemble d'UTXO par le biais de sorties inutilisables et éliminer la corrélation entre les paiements récurrents et non récurrents ainsi que la publication de bases de données de clients en évitant les changements toxiques et la réutilisation des adresses de notification.
*Remarque : le stockage de l'ensemble des UTXO actuelles pour les nœuds Bitcoin pourrait être éliminé à l'avenir grâce à la mise en œuvre d'UTreeXO, qui transfère la charge de prouver qu'une transaction dépense une UTXO valide au propriétaire de l'UTXO, réduisant ainsi les besoins de stockage de gigaoctets à des kilooctets.
Nostr Pay-To-EndPoint
Dans le Bitcoin, les services d'analyse de la blockchain utilisent l'heuristique de la "propriété commune" pour associer les transactions aux identités. Dans le cadre de cette heuristique, une transaction contenant différentes clés publiques utilisées comme entrées est classée comme appartenant à une seule personne. En raison de son architecture basée sur l'UTXO, grâce à laquelle les entrées et les sorties des transactions sont liées, le protocole Bitcoin est également sujet à l'analyse de la somme des sous-ensembles. Dans cette analyse, les adversaires sont en mesure de calculer la probabilité que les entrées et les sorties appartiennent à la même entité, même lorsque des clés publiques différentes sont utilisées comme entrées dans une transaction. Par exemple, si une transaction a pour entrées 1, 4, 7, 23 et 6, et pour sorties 5 et 36, on peut en déduire que les entrées 1 et 4 et les entrées 7, 23 et 6 appartiennent à la même entité.
Pay-to-EndPoint (P2EP) est une réinvention du système Pay-to-IP (P2IP) de Satoshi Nakamoto, codé dans le client Bitcoin d'origine, qui préserve la vie privée. Une forme de transaction P2EP est le PayJoin, qui est une transaction conçue pour briser l'heuristique de la propriété commune des intrants. Dans une transaction PayJoin, l'expéditeur et le destinataire contribuent tous deux aux entrées d'une transaction afin de briser l'heuristique de l'entrée commune. Avec les PayJoins, les utilisateurs échangent des informations sur les UTXO qui seront utilisés comme intrants via n'importe quel canal de communication, tel qu'un Onion Tor, qui sert de point final, pour construire une transaction bitcoin partiellement signée (PSBT). Une fois que les deux parties ont accepté les conditions et signé la transaction, une transaction PayJoin ressemble à n'importe quelle autre transaction bitcoin sur la chaîne. Étant donné que les parties concernées agissent à la fois en tant qu'émetteur et récepteur, une transaction PayJoin enfreint l'heuristique de la propriété commune ainsi que l'analyse de la somme des sous-ensembles : les parties peuvent apporter des entrées de 3 et 5, alors que la transaction génère des sorties de 6 et 2.
Le problème : les transactions PayJoin sont difficiles à coordonner, car les participants doivent être en ligne au même moment lorsqu'ils utilisent un domaine Clearnet ou des points d'extrémité Tor Onion. Si un utilisateur initie une transaction P2EP et, par exemple, ferme son ordinateur ou perturbe la connectivité du réseau, la transaction ne peut pas être communiquée. Dans Nostr, la communication est asynchrone : les utilisateurs récupèrent les informations des relais une fois que la connectivité réseau est rétablie. En utilisant des clés Nostr plutôt que des oignons Tor comme points de terminaison pour les transactions P2EP, ces dernières pourraient être coordonnées plus facilement.
Une autre mise en œuvre du P2EP est le LNURL, qui a fait l'objet de nombreux débats. Avec LNURL, au lieu d'avoir à générer de nouvelles factures pour chaque transaction, les utilisateurs peuvent recevoir un point de terminaison statique pointant vers un serveur web pour générer automatiquement de nouvelles factures. Cependant, comme les serveurs web dépendent du service mondial des noms de domaine (DNS), les utilisateurs de LNURL révèlent inévitablement leur identité au fournisseur d'hébergement, ainsi que leur adresse IP aux bénéficiaires si aucune précaution appropriée n'est prise. L'adoption généralisée du LNURL serait donc préjudiciable au pseudonymat du Lightning Network. Au lieu d'utiliser un serveur web comme point de terminaison pour LNURL, les utilisateurs pourraient utiliser des clés Nostr comme points de terminaison pour les transactions LNURL afin de dissimuler leur identité.
Nostr pour les CoinJoins
Bien qu'un PayJoin soit parfait pour briser l'heuristique de la propriété commune ainsi que l'analyse de la somme des sous-ensembles, les PayJoins sont incapables d'offrir une confidentialité à la fois à l'expéditeur et au destinataire vis-à-vis de la partie qui coopère. Les PayJoins sont essentiellement des CoinJoins bipartites, limités à deux participants - cela signifie que l'expéditeur et le destinataire sont tous deux conscients de leurs propres entrées et sorties, laissant les entrées et sorties de leur partenaire identifiables. À moins qu'un PayJoin ne soit facilité par des transactions CoinJoined, les utilisateurs risquent de révéler le solde de leur portefeuille ainsi que leurs transactions passées et futures à leurs partenaires PayJoin.
Dans les systèmes de justificatifs anonymes tels que le protocole de Wasabi Wallet pour la coordination de CoinJoin, WabiSabi, les clés Nostr peuvent fonctionner comme des points d'extrémité de communication pour la coordination d'une transaction CoinJoin. Cela permet à l'expéditeur et au destinataire d'une transaction CoinJoin d'échanger les informations d'identification nécessaires pour participer aux tours de CoinJoin, ce qui permet essentiellement une forme de paiement discret au sein d'un CoinJoin. Grâce à l'utilisation de clés Nostr comme points de terminaison dans les CoinJoins, les parties coopérantes ignorent les soldes et les transactions de leurs contreparties en se cachant dans la foule. En même temps, l'utilisation des clés Nostr comme points de terminaison pour les transactions CoinJoin permet aux utilisateurs de PayJoin d'économiser des frais en facilitant les paiements directement dans le CoinJoin, plutôt que de CoinJoiner pour faciliter le paiement par la suite.
Une autre utilisation de Nostr dans les CoinJoins réside dans la découverte de coordinateurs. Alors que la plupart des coordinateurs de CoinJoin fonctionnent derrière Tor pour masquer l'identité des participants, les utilisateurs sont actuellement incapables de découvrir facilement de nouveaux coordinateurs à rejoindre, à l'exception de JoinMarket, une place de marché de CoinJoin destinée aux utilisateurs de CoinJoin les plus avancés. Si les utilisateurs de CoinJoin peuvent ajouter des coordinateurs personnalisés à Wasabi Wallet - une tâche triviale aussi simple que l'échange d'une URL dans le backend - il n'existe aucun moyen d'automatiser le processus de mise à jour des coordinateurs en raison de l'absence d'une plateforme de publication. Au lieu de cela, pour découvrir de nouveaux coordinateurs, les utilisateurs doivent chercher dans les médias sociaux et les forums, tels que Reddit ou Twitter, pour ajouter des coordinateurs manuellement. Cependant, la publication d'un service de coordination via les médias sociaux ou les forums peut présenter un risque pour les fournisseurs de coordination en fonction des politiques appliquées au service, car certaines pages peuvent facilement être fermées.
Si Tor est un remailer anonyme, c'est-à-dire un protocole facilitant l'envoi et la réception anonymes de messages entre pairs, Nostr peut fonctionner comme un tableau d'affichage anonyme. Les coordinateurs CoinJoin peuvent publier leurs services via un type d'événement Nostr, et les portefeuilles CoinJoin peuvent être activés pour extraire automatiquement ces relais afin de les afficher dans leurs clients. La diffusion de serveurs de coordinateurs via Nostr, telle qu'elle est facilitée par le plugin CoinJoin Servers de BTCPay et proposée dans le logiciel CoinJoin Lightning Vortex, peut éliminer le besoin de rechercher manuellement et d'ajouter des coordinateurs CoinJoin dans les clients CoinJoin, contribuant ainsi à décentraliser davantage le paysage de la coordination CoinJoin.
Contourner les exigences en matière de propriété intellectuelle avec NOSTR
Comme nous l'avons vu précédemment, le protocole Nostr a été conçu à l'origine pour réaliser une place de marché entièrement décentralisée appelée Diagon Alley. Avec l'évolution du protocole Nostr, Diagon Alley est devenu l'extension LNbits NostrMarkets : une place de marché native Nostr qui permet aux marchands et aux clients de gérer et d'interagir avec des boutiques en ligne via des relais. Dans NostrMarkets, les clients peuvent s'abonner à la clé publique d'un commerçant pour aller chercher des produits dans les relais au lieu d'accéder au site du commerçant par l'intermédiaire d'une boutique en ligne. Cela augmente la résistance à la censure des boutiques en ligne, car les commerçants ne dépendent pas de sites web saisissables - au contraire, la boutique d'un commerçant est hébergée avec tous les relais que la boutique met en place pour communiquer avec elle. Même si le serveur du commerçant était saisi, sa boutique pourrait facilement être installée à un autre endroit, car tous les produits sont stockés avec des relais sur le réseau Nostr. NostrMarkets assure la coordination des commandes et des paiements par le biais de messages directs Nostr cryptés, tandis que les paiements sont facilités par le Lightning Network.
Outre sa résistance à la censure, l'extension LNbits NostrMarkets permet de créer des places de marché entièrement anonymes. Au lieu d'exposer l'IP d'un marchand au monde entier, les marchands et les clients ne révèlent leur IP qu'aux relais auxquels ils se connectent, ce qui peut être facilement atténué en exécutant un client ou une boutique derrière Tor. Contrairement à Tor, qui rend une boutique uniquement accessible via le navigateur Tor et les pages web .onion, NostrMarkets peut fonctionner dans n'importe quel navigateur web ou smartphone, ce qui améliore l'expérience de l'utilisateur en matière de communications client-serveur préservant la vie privée. Les paiements étant négociés par le biais de messages directs Nostr cryptés et facilités par le Lightning Network, les paiements dans NostrMarkets restent relativement privés tant que le nœud Lightning de la boutique fonctionne derrière Tor, car un message direct de coordination de paiement ne se distingue pas des autres messages directs dans Nostr.
NOSTREST est un autre moyen de contourner l'obligation d'utiliser des adresses IP dans la communication entre le serveur et le client. REST, abréviation de "representational state transfer", fait partie de l'architecture logicielle du World Wide Web, utilisée pour faciliter la communication entre les serveurs et les clients via des requêtes GET, POST, PUT, DELETE et PATCH. Cependant, lorsqu'un client envoie une requête REST à un serveur, les adresses IP sont révélées, ce qui peut entraîner la divulgation d'informations personnellement identifiables. Sur GitHub, __escapee__ a proposé un pont API REST construit sur Nostr, appelé NOSTREST. En utilisant des clés Nostr sans en-tête d'identification, les utilisateurs et les opérateurs de serveurs n'ont pas besoin de connaître les adresses IP de leurs homologues. La mise en œuvre de NOSTREST peut donc améliorer la confidentialité des applications Bitcoin utilisant REST, car les serveurs n'ont pas besoin des adresses IP des clients.
L'un de ces exemples pourrait être l'exploitation de monnaies électroniques Chaumian, une forme de système d'authentification anonyme. Dans une Monnaie électronique, l'opérateur de la Monnaie ne connaît pas les soldes ou la valeur échangée par ses utilisateurs. Cependant, en raison de l'architecture actuelle de REST, il apprend l'adresse IP de l'utilisateur, sauf s'il fonctionne par défaut derrière Tor, comme c'est le cas pour le système d'e-cash Cashu. Mais la mise en œuvre et la gestion du support de Tor sont fastidieuses. Avec la passerelle NOSTREST, les projets peuvent facilement préserver la vie privée de leurs utilisateurs. En faisant fonctionner un système de monnaie électronique derrière Tor et en utilisant NOSTREST pour communiquer entre le serveur et les clients, la communication peut être facilitée de manière asynchrone, tandis que l'opérateur du serveur et l'utilisateur n'apprennent que leurs clés publiques respectives, ce qui élimine le risque d'identification par l'IP.
Sovereign Monk
Bitcoin, Privacy & Individual Sovereignty Maximalist | Founder of European Bitcoiners - for Free and Open Bitcoin Education.
follow me :
Related Posts
Personal Server - How to setup and configure
Jun 09, 2024
Nehajte se igrati, začnite se učiti!
Feb 19, 2024
Unpacking Plan ₿ Conference 2023: A Journey with Bitcoin Enthusiasts
Oct 28, 2023