La confidentialité des transactions fait partie intégrante des crypto-monnaies et l’une des plus importantes pour de nombreux utilisateurs. Alors que Bitcoin est souvent caractérisé comme un moyen anonyme de transférer de la valeur par les médias grand public, la vérité est que Bitcoin n’est que pseudo anonyme.
Le registre Bitcoin est complètement transparent et bien que les identités des utilisateurs soient cachées derrière des adresses alphanumériques, il existe des moyens de suivre et d’établir des corrélations entre les adresses et les identités.
L’obscurcissement de l’identité fournit un certain degré d’anonymat aux utilisateurs, cependant, les montants transférés dans chaque transaction sont visibles, laissant un certain degré de confidentialité manquant.
Comme solution à ce problème, certaines crypto-monnaies axées sur la confidentialité ont adopté l’utilisation de transactions confidentielles (CT), qui obscurcissent le montant transféré dans les transactions en utilisant des engagements (en particulier les engagements de Pedersen) au montant.
Sans la transparence publique des valeurs transférées lors de la mise en œuvre des TC, la vérification de la validité des transactions nécessite l’utilisation de preuves de plage pour s’assurer que la somme des entrées de transaction est supérieure à la somme des sorties de transaction et que toutes les valeurs de transaction sont positives.
Ces preuves d’intervalle sont attachées à chaque transaction et entraînent des tailles de transaction beaucoup plus grandes qui peuvent conduire à des transactions avec plusieurs sorties qui nécessitent plusieurs preuves d’intervalle, augmentant encore la taille de la transaction et dégradant l’efficacité de la vérification et du stockage. Insérez pare-balles.
Index du contenu:
Arrière-plan à l’épreuve des balles
Bulletproofs a été proposé par l’Applied Cryptography Group (ACG) de Stanford en décembre 2017 dans un article universitaire avec des contributions de l’University College London et de Blockstream.
Les tests à balles sont « un nouvel argument à connaissance nulle du système de connaissances, pour prouver qu’une valeur secrète engagée se trouve dans une plage donnée ». Le nom à l’épreuve des balles est attribué à Shashank Agrawal pour les avoir décrits comme « courts comme une balle, avec des hypothèses de sécurité à l’épreuve des balles ».
Salués comme une avancée efficace et utile dans la vérification des engagements CT, les pare-balles sont des preuves courtes, non interactives à connaissance nulle qui ne nécessitent pas de configuration fiable. Ils sont en effet une forme beaucoup plus efficace et sécurisée de tests de flux qui utilisent des méthodes de correction à connaissance nulle comme on le voit dans zk-SNARKS et STARKs, mais ils ne nécessitent pas la configuration fiable requise avec zk-SNARKS et ne sont pas aussi grands que STARK. Leur application peut être utile dans une variété de systèmes et de situations différents, dont beaucoup sont décrits directement dans l’article académique.
Les bulletproofs sont particulièrement bien adaptés à la nature distribuée et sans confiance des blockchains et peuvent générer des économies substantielles à long terme, d’énormes économies d’espace, des frais moins élevés et des temps de vérification plus rapides que les implémentations de test de portée actuelles. Avant de plonger dans le fonctionnement des pare-balles, cependant, il est important de comprendre d’abord deux termes, les tests gamma et les tests à connaissance nulle.
Tests d’écoulement
Fondamentalement, les tests de plage sont une forme de validation d’engagement qui permet à quiconque de vérifier qu’un engagement représente un montant dans une plage spécifiée, sans rien révéler d’autre sur sa valeur (connue sous le nom de valeur secrète).
Par exemple, un simple test d’intervalle peut être utilisé pour valider que l’âge d’une personne se situe entre 28 et 52 ans sans révéler réellement l’âge exact de la personne.
Cela a des ramifications importantes pour valider les transactions confidentielles. Dans une crypto-monnaie axée sur l’anonymat comme Monero, elle est utilisée pour vérifier qu’un montant de paiement est positif, sans révéler réellement le montant transféré dans la transaction.
Plus précisément, dans un système basé sur les sorties de transaction, il montre que les entrées engagées sont supérieures à la somme des sorties engagées sans révéler réellement ni les entrées engagées ni les sorties.
Selon l’article de Stanford de l’époque, « Toutes les implémentations actuelles de transactions confidentielles utilisent des preuves d’intervalle sur des valeurs validées, où la taille de la preuve est linéaire en n. »
La partie clé concernant les projectiles est le « linéaire en n », ce qui signifie que les tests gamma s’échelonnent linéairement en taille avec le nombre de sorties et de bits dans la plage de démonstration.
Le résultat est que dans les CT, les preuves d’intervalle occupent la majeure partie de la taille d’une transaction. Avant Bulletproof, c’était une grande préoccupation car la taille d’une blockchain d’une crypto-monnaie axée sur l’anonymat utilisant CT, telle que Monero, augmente beaucoup plus rapidement qu’une crypto-monnaie typique qui n’utilise pas CT.
Finalement, la taille d’une blockchain utilisant CT deviendrait très peu pratique pour de nombreux utilisateurs qui n’ont pas l’espace disque nécessaire pour télécharger l’intégralité de la blockchain, affectant indirectement la décentralisation des nœuds complets.
Preuves à connaissance nulle
Si vous lisez ceci, vous avez probablement déjà entendu parler de la preuve à connaissance nulle dans le domaine des crypto-monnaies, car elles représentent un concept très intéressant basé sur des mathématiques intimidantes. Le concept est difficile à saisir, mais leur mise en œuvre combinée au fait que les institutions académiques font progresser le concept, appliqué aux crypto-monnaies, est un signe très encourageant pour l’industrie.
Essentiellement, une preuve à connaissance nulle est une méthode en cryptographie dans laquelle une partie peut prouver à une autre partie qu’elle connaît la valeur d’une variable y sans transmettre d’autres informations que celle qu’elle connaît la valeur de y.
Traditionnellement, cela implique que le vérificateur et le prouveur ont une certaine forme d’interaction entre eux. Cependant, les tests à puces sont des sujets de connaissance zéro non interactifs, qui sont une variante spécifique des tests à connaissance nulle où aucune interaction entre le démonstrateur et le vérificateur n’est requise.
Cela vous permet de prouver qu’une valeur engagée se trouve dans une plage spécifique basée sur l’hypothèse du logarithme discret et en utilisant l’heuristique Fiat-Shamir pour les rendre non interactives.
Alors, que sont les pare-balles?
Revenons aux balles. Comme nous venons de le mentionner, les pare-balles sont basés sur l’hypothèse du logarithme discret pour la sécurité et utilisent l’heuristique Fiat-Shamir pour devenir non interactifs.
Cela conduit à une augmentation des dimensions pare-balles uniquement logarithmiquement avec le nombre de sorties et la taille du test d’intervalle. Il en résulte que la taille des transactions mettant en œuvre des TC peut être considérablement réduite.
Monero affirme avoir obtenu une réduction de 80% de la taille des transactions à l’aide de puces, ce qui entraîne également une réduction de 80% des frais.
Non seulement les épreuves à toute épreuve peuvent aider à réduire la taille des transactions à l’aide de la tomodensitométrie, mais elles permettent également au prouveur d’agréger plusieurs preuves de plage pour les transactions avec plusieurs sorties en une seule preuve courte.
Au lieu de transactions avec plusieurs sorties qui nécessitent une preuve d’intervalle pour chaque sortie, elles peuvent toutes être agrégées en une seule. De plus, la validation des tests pare-balles est plus efficace non seulement en taille, mais aussi en temps.
En dehors de zk-SNARKS, qui vérifie plus rapidement que les pare-balles, le temps nécessaire pour vérifier une épreuve à balles est inférieur aux tests de portée existants, ce qui conduit à une validation plus rapide de la blockchain.
Il est important de noter que les tests à l’épreuve des balles ne nécessitent pas une configuration approuvée. Une configuration approuvée est une configuration unique controversée qui est requise lors de l’utilisation de la preuve zk-SNARKS à connaissance nulle.
Le problème est que cette configuration unique nécessite que les utilisateurs fassent implicitement confiance à celui qui a créé les clés pour l’installation unique afin de les détruire une fois qu’elles ont été terminées, sinon elles peuvent être utilisées pour créer une quantité illimitée du jeton natif non détecté. Bien sûr, il y a de sérieux problèmes avec une configuration fiable.
Les preuves à l’épreuve des balles sont beaucoup plus courtes que d’autres preuves à distance et « permettent aux intrants d’être les engagements de Pedersen envers les éléments témoins ».
Les implications d’être des preuves à connaissance nulle courtes et non interactives vous permettent d’optimiser et d’appliquer des tests à toute épreuve à une variété de situations, telles que la prise en charge de protocoles informatiques multi-parties (MPC) efficaces et la mise en œuvre de contrats intelligents complexes et respectueux de la vie privée.
Applications Bulletproofs
Bulletproofs prend en charge efficacement un protocole MPC simple qui « permet à plusieurs parties avec des valeurs secrètes engagées de générer conjointement une seule preuve de petite plage pour toutes leurs valeurs, sans révéler leurs valeurs secrètes les unes aux autres ».
Essentiellement, dans le cas d’une transaction confidentielle complexe qui reçoit l’apport de plusieurs parties, le protocole MPC proposé serait en mesure d’agréger toutes les preuves requises en une seule et courte preuve pour l’ensemble de la transaction.
L’efficacité et les économies qui l’accompagnent ne peuvent être sous-estimées.
Le protocole Provisions est une innovation qui permet aux échanges Bitcoin de s’avérer solvables sans révéler aucune autre information.
Il s’agit d’une étape importante dans la vérification de la solvabilité des bourses jugées autrement peu fiables et insolvables sans que les bourses aient réellement à ouvrir leurs livres au public.
Le protocole s’appuie sur des tests d’intervalle « pour empêcher un échange d’entrer de faux comptes avec des soldes négatifs ». Ces dimensions de test sont très grandes et sont linéaires dans le nombre de clients.
Les tests à l’épreuve des balles sont un substitut naturel aux tests non interactifs à connaissance nulle utilisés dans le protocole Provisions et peuvent réduire la taille globale du test pour l’échange jusqu’à près de 300 fois.
Les contrats intelligents très expressifs dans Ethereum sont publics et ne fournissent pas un certain degré de confidentialité aux paramètres du contrat.
Des preuves non interactives à connaissance nulle ont été proposées comme mécanisme de protection de la vie privée dans les contrats, mais le calcul d’un contrat est limité et coûteux dans l’ensemble du réseau blockchain. Les SNARKS sont une autre solution potentielle mais, de manière problématique, nécessitent une configuration fiable. Vous pouvez voir où il va.
Les tests à l’épreuve des balles, qui sont des tests courts qui ne nécessitent pas une configuration fiable, sont idéaux pour préserver la confidentialité dans les contrats intelligents expressifs.
Bien qu’en tant qu’introduction directe, les pare-balles ne soient pas bon marché à cet égard, en combinaison avec un modèle de délégation incitative, la validité d’un test ne devrait pas être effectuée à moins qu’une partie ne conteste sa vérification.
Les parties qui présentent des défis défectueux seront punies et, en outre, ce projet peut être soutenu par une informatique multipartite efficace.
Conclusion
Les pare-balles sont une innovation importante et largement applicable dans un domaine important de la recherche de preuves à connaissance nulle et d’autres protocoles utilisés pour protéger et obscurcir les montants des transactions.
Le compromis inhérent aux transactions confidentielles était leur plus grande taille. Avec les puces, la possibilité de réduire considérablement ce compromis tout en préservant la confidentialité et la sécurité est un pas en avant important.
Alors que l’accent est mis sur les protocoles sous-jacents utilisés pour sécuriser les transactions et assurer l’anonymat, il sera fascinant de voir comment le milieu universitaire réagit et continue de faire évoluer les technologies de pointe d’un domaine qui est déjà à la pointe de l’innovation.