Introduction
Sur le front de la confidentialité, ce n'est pas idéal. Dans un système comme Bitcoin, chaque transaction peut être reliée à une transaction précédente. Les pièces ne sont pas techniquement fongibles, ce qui signifie que chacune peut être liée à des transactions spécifiques. Personne ne peut vous empêcher d'envoyer des bitcoins, mais le bénéficiaire peut refuser d'accepter votre transaction si ces pièces ont précédemment transité par une adresse figurant sur une liste noire.
Dans le pire des cas, un manque de fongibilité pourrait avoir un impact profond sur les fondements mêmes du système.Les pièces propres peuvent être plus chères, tandis que les pièces plus anciennes peuvent avoir moins de valeur en raison de leurs antécédents.
La protection de la confidentialité dans le réseau Bitcoin est souvent surestimée. Non seulement les pièces peuvent être tracées, mais les utilisateurs aussi. Elles bénéficient du pseudonymat (les adresses publiques sont visibles à la place des noms), mais cela n'est pas sans défaut. Des techniques d'analyse sophistiquées peuvent, avec une précision croissante, regrouper des adresses dans le but de désanonymiser les entités du réseau.
Une mise à niveau proposée pour rendre les transactions véritablement privées est celle des transactions confidentielles.
Que sont les transactions confidentielles ?
Les transactions confidentielles (TC) ont été évoquées pour la première fois par Adam Back, PDG de Blockstream, en 2013, puis développées par Gregory Maxwell, développeur de Bitcoin. Maxwell a décrit les problèmes mentionnés dans la première section (fongibilité et pseudonymité faible) et a proposé une solution. Les montants transférés peuvent être protégés du réseau dans son ensemble, afin que seules les parties effectuant des transactions connaissent les montants envoyés.
Un aperçu de la cryptographie impliquée
La réponse réside spécifiquement dans le chiffrement homomorphique, dans un schéma appelé mise en gage de Pedersen. Ce type de chiffrement permet à un utilisateur externe d'effectuer des opérations sur des données chiffrées (qu'il ne peut pas voir) à diverses fins.
Un hachage régulier peut être utilisé pour s'engager dans des données que vous souhaitez afficher ultérieurement. Supposons que vous souhaitiez annoncer un concours sur les réseaux sociaux, où quiconque devine votre exchange préféré gagnera un prix de 0,01 BTC. Les participants peuvent être sceptiques, car vous pourriez simplement regarder les réponses après la clôture du concours et choisir un exchange n'ayant pas été mentionné.
f1624fcc63b615ac0e95daf9ab78434ec2e8ffe402144dc631b055f711225191
Mais en réalité, cela n'est pas très sûr. Si vos followers ne peuvent pas faire de l'ingénierie inverse de l'algorithme, ils peuvent établir une liste d'échanges possibles, en hachant chacun d'entre eux jusqu'à ce qu'ils obtiennent une correspondance. Nous pouvons réduire la probabilité de cela en ajoutant des données aléatoires appelées facteur aveugle aux données que nous allons hacher.
Une mise en gage de Pedersen nous permet d'ajouter les commentaires derrière les gages. Comme l'illustre Maxwell :
C(BF1 + D1) + C(BF2 + D2) = C(BF1 + BF2, D1 + D2)
Il y a encore quelques étapes à suivre pour atteindre la cryptographie de courbes elliptiques et les preuves d'intervalle, mais l'idée de base est qu'un utilisateur a un gage Pedersen pour son adresse. Lorsque vous envoyez de l'argent, deux engagements supplémentaires sont créés (un pour que l'adresse de modification soit renvoyée à l'utilisateur et un pour l'adresse de destination).
Personne ne sait quelle quantité est envoyée, mais on peut vérifier que les engagements de changement et de destination (le côté gauche de l'équation de Maxwell) correspondent à l'adresse d'origine (le côté droit de l'équation). Si cela est correctement évalué, la transaction de l'utilisateur est valide, car il est possible de prouver que les entrées sont égales aux sorties.
Que peuvent accomplir les transactions confidentielles ?
Si les transactions confidentielles étaient mises en œuvre dans le réseau Bitcoin, nous bénéficierions d'un système beaucoup plus confidentiel. Les entrées et les sorties seraient masquées à partir du réseau plus large, et les entrées du registre seraient masquées, mais les nœuds pourraient encore vérifier leur authenticité. Grâce à cette augmentation massive de la confidentialité, les bitcoins peuvent être rendus fongibles, car l'analyse de la chaîne ne révèle plus l'historique d'une unité donnée.
Si vous vous demandez si les transactions confidentielles seront intégrées au protocole, cela ne semble pas probable à l'heure actuelle. Grâce à cette fonctionnalité supplémentaire, les transactions sont beaucoup plus importantes que les transactions standard. Compte tenu de l'espace limité dans le bloc, cela ne ferait qu'augmenter la demande. Il faudrait également que la majorité des participants acceptent de modifier le code, une tâche qui s'est traditionnellement avérée difficile.
Pour conclure
Pour les avantages qu'elles apportent, les transactions confidentielles se font au détriment d'une empreinte plus importante. Les cryptomonnaies rencontrent souvent des difficultés de scalabilité et de débit au niveau de la couche de base, et les transactions de plus grande taille ne séduisent pas tout le monde. Cela dit, les ambassadeurs de la protection de la confidentialité pensent qu'il est essentiel de masquer les montants des transactions et les participants pour permettre aux cryptomonnaies de servir d'argent fongible.