ZKPayments : Respect de la vie privée et évolutivité

IntermédiaireDec 24, 2023
Cet article examine le rôle des preuves de non-connaissance (ZK) dans l'amélioration de l'évolutivité de la blockchain et la protection de la vie privée, en illustrant leur champ d'application et leur mise en œuvre dans les processus de transaction par des analyses de cas pratiques. Enfin, le texte aborde également les compromis nécessaires et les décisions à prendre entre le respect des réglementations et la protection de la vie privée.
ZKPayments : Respect de la vie privée et évolutivité

Introduction

Dans le monde en évolution rapide du Web3, deux défis majeurs sont apparus : la protection de la vie privée et l'extensibilité. La nature immuable de la blockchain suscite des inquiétudes quant à la confidentialité des données pour les utilisateurs et les entreprises, tandis que la popularité croissante des monnaies numériques des banques centrales (CBDC) suscite des inquiétudes quant à la surveillance.

Dans le même temps, l'évolutivité des réseaux de blockchain est devenue vitale pour gérer des volumes de transactions croissants. Face à ces défis, les paiements sans connaissance (ZK) offrent une solution prometteuse qui répond à la fois aux problèmes de confidentialité et d'évolutivité. Ce blog explore la manière dont les paiements ZK comblent le fossé entre la confidentialité et la transparence dans les transactions Web3, en fournissant aux utilisateurs la confidentialité dont ils ont besoin sans compromettre les caractéristiques fondamentales de la blockchain. En outre, il examine le potentiel des protocoles basés sur le ZK pour améliorer l'évolutivité et rendre les applications décentralisées plus pratiques et plus accessibles.

Comprendre le défi de la protection de la vie privée dans les transactions Web3

Web3 a permis la création d'une pléthore d'applications décentralisées, de plateformes DeFi et de places de marché NFT. Cependant, la transparence des transactions de la blockchain signifie que les adresses des portefeuilles et l'historique des transactions sont visibles par toute personne ayant accès au réseau.

Imaginez que votre compte bancaire traditionnel soit public et que n'importe qui puisse avoir accès à des informations détaillées sur vos transactions financières, notamment où vous avez dépensé votre argent et combien vous en avez reçu. Un tel scénario serait alarmant et inacceptable pour la plupart des gens, car il compromettrait leur vie privée et leur sécurité.

Plusieurs raisons soulignent l'importance de la protection de la vie privée dans les transactions sur le Web3 :

  1. Sécurité et protection : La protection de la vie privée est essentielle pour protéger les utilisateurs contre les tentatives de piratage, les attaques de phishing et d'autres activités malveillantes telles que le doxing. En protégeant les données financières, les utilisateurs sont moins exposés aux menaces ciblées.
  2. Confidentialité des affaires : Pour les entreprises opérant dans l'espace Web3, la confidentialité des transactions est essentielle pour conserver un avantage concurrentiel et protéger les informations commerciales sensibles.
  3. Droits individuels : Tout comme dans la finance traditionnelle, les individus ont droit à la protection de leur vie privée. Web3 doit respecter et faire respecter ces droits, en permettant aux utilisateurs de contrôler leurs données.

L'essor des paiements à connaissance nulle

Les preuves à connaissance nulle remontent à l'article original sur les preuves à connaissance nulle [GMR85], publié en 1985. Par la suite, une preuve simplifiée de ZK [K92] a été présentée en 1992. En 2013, la preuve par zéro connaissance pouvait être utilisée dans la vie réelle, mais à un rythme plus lent. En 2016, Groth a proposé l'algorithme Groth 16, qui réduit considérablement la complexité des calculs. Depuis lors, les preuves à connaissance nulle ont progressivement fait l'objet d'une utilisation commerciale réelle.

Dans le contexte des crypto-monnaies, Monero et Zcash ont été des pionniers en matière de protection de la vie privée dans les transactions de la blockchain. Monero (XMR) a introduit les signatures en anneau et les adresses furtives en 2014, offrant un niveau de confidentialité plus élevé que les blockchains traditionnelles. Zcash (ZEC) est apparu en 2016 avec les zk-SNARKs, offrant aux utilisateurs le choix entre des transactions transparentes et des transactions protégées pour un équilibre entre la vie privée et la transparence.

Aujourd'hui, les rollups et protocoles Zero-Knowledge (ZK) sont apparus comme une solution prometteuse pour résoudre les problèmes de confidentialité et d'évolutivité dans les transactions Web3. Les paiements ZK utilisent des protocoles cryptographiques connus sous le nom de "preuves à connaissance nulle", qui permettent à une partie de prouver la validité d'une déclaration à une autre partie sans révéler d'informations sensibles.

Comment ZK assure-t-il l'évolutivité et la confidentialité ?

Imaginez que vous disposiez d'une boîte magique capable d'effectuer des calculs en secret. Cette boîte peut prouver à n'importe qui qu'une certaine affirmation est vraie sans révéler aucun détail sur la manière dont elle est parvenue à cette conclusion. C'est l'idée de base des preuves à connaissance nulle.

Faisons maintenant le lien avec les paiements par blockchain. Lorsque vous souhaitez effectuer un paiement à l'aide d'une blockchain, vous devez généralement prouver que vous disposez de suffisamment d'argent pour couvrir la transaction. Dans les blockchains traditionnelles comme le bitcoin, cela implique de révéler le solde de votre compte.

Dans sa forme de base, une preuve à connaissance nulle se compose de trois éléments : un témoin (information confidentielle), un défi et une réponse.

  • Témoin : Dans le cas d'une preuve à connaissance nulle, le prouveur veut prouver qu'il a connaissance d'une information cachée. Les informations secrètes sont le "témoin" de la preuve, et la connaissance supposée du témoin par le prouveur établit un ensemble de questions auxquelles seule une partie connaissant les informations peut répondre. Ainsi, le prouveur commence le processus de preuve en choisissant au hasard une question, en calculant la réponse et en l'envoyant au vérificateur.
  • Défi : le vérificateur choisit au hasard une autre question dans l'ensemble et demande au prouveur d'y répondre.
  • Réponse : Le prouveur accepte la question, calcule la réponse et la renvoie au vérificateur. La réponse du prouveur permet au vérificateur de vérifier si le premier a réellement accès au témoin. Pour s'assurer que le prouveur ne devine pas à l'aveuglette et n'obtient pas les bonnes réponses par hasard, le vérificateur choisit davantage de questions à poser. En répétant cette interaction de nombreuses fois, la possibilité que le prouveur falsifie les connaissances du témoin diminue considérablement jusqu'à ce que le vérificateur soit satisfait.

Il existe actuellement plusieurs protocoles populaires basés sur ZK, notamment zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge), zk-STARKs (Zero-Knowledge Scalable Transparent Argument of Knowledge) et Bulletproofs.

Dans le contexte de la blockchain, ils permettent aux utilisateurs de prouver la validité d'une transaction sans révéler l'adresse réelle de l'expéditeur. Cette fonction permet de regrouper plusieurs transactions en une seule preuve, ce qui réduit la charge de calcul et améliore considérablement l'évolutivité. En regroupant plusieurs transactions en une seule preuve, les paiements ZK peuvent réduire la charge du réseau blockchain et augmenter le débit des transactions. Cette évolutivité accrue peut permettre d'accélérer les délais de confirmation et de réduire les frais de transaction, ce qui rend les applications décentralisées plus pratiques et plus accessibles pour les utilisateurs.

Qu'est-ce qu'une preuve à connaissance nulle (ZKP) ? https://ethereum.org/en/zero-knowledge-proofs/

Rouleaux de connaissances zéro ? https://ethereum.org/en/developers/docs/scaling/zk-rollups/

Étude de cas - ZkBob

zkBob est une application axée sur la protection de la vie privée qui utilise des preuves à connaissance nulle (zkSNARK) et des stablecoins pour les transactions confidentielles. Ses principaux éléments sont le contrat zkBob pour le traitement des transactions, les jetons BOB avec des caractéristiques de confidentialité, un relais pour les transferts sécurisés et l'abstraction des frais d'essence, un gestionnaire d'accès pour le contrôle d'accès et une interface utilisateur pour l'interaction avec l'utilisateur. Il garantit des transactions privées et la neutralité de la couche de base.

Voyons un scénario dans lequel Alice et Carl utilisent zkBob pour une transaction privée.

Situation : Alice souhaite envoyer une transaction à Carl sans révéler les détails de la transaction, tels que le montant, l'expéditeur ou le destinataire. Ils décident d'utiliser zkBob pour assurer cette confidentialité.

Processus de transaction

  1. Création de comptes :
    • Alice et Carl créent chacun leur compte zkBob à l'aide de leur clé privée.
    • Ces clés privées sont utilisées pour générer des preuves, accéder aux soldes et effectuer des transactions.
  2. Générer des adresses :
    • Alice génère une nouvelle adresse privée zkBob via l'interface utilisateur de l'application pour recevoir la transaction entrante.
    • Cette adresse est propre à cette transaction et ne peut être liée au compte principal d'Alice.
  3. Dépôts :
    • Alice initie une transaction de dépôt depuis son portefeuille Ethereum habituel vers le contrat de pool zkBob.
    • Elle approuve le contrat d'accès à ses fonds et effectue ensuite le dépôt.
  4. Demande de transfert :
    • Alice souhaite envoyer une transaction privée à Carl.
    • Elle génère une preuve zk pour cette transaction en utilisant sa clé privée et l'application zkBob.
  5. Interaction entre les relais :
    • Alice envoie la preuve zk de manière anonyme à un relayeur, un intermédiaire de confiance.
    • Le relayeur reçoit cette preuve et la traite sans connaître les détails de la transaction.
  6. Transaction Publication :
    • Le relayeur publie la transaction dans le contrat zkBob sans révéler les détails de la transaction.
    • Le contrat zkBob vérifie la preuve zk et met à jour les détails de la transaction sans divulguer le montant ou les participants.
  7. Transaction de réception :
    • Carl, du côté de la réception, génère une nouvelle adresse privée zkBob via l'interface utilisateur de l'application pour recevoir la transaction entrante.
    • Cela permet de s'assurer que son adresse de réception n'est pas liée à son compte principal.
  8. Achèvement de la transaction :
    • Le contrat zkBob met à jour les soldes d'Alice et de Carl sans révéler les détails de la transaction.
    • Carl peut maintenant voir qu'il a reçu une transaction, mais les détails de la transaction restent privés.
  9. Option de retrait :
    • Si Carl souhaite utiliser la transaction reçue dans un cadre public, il peut initier une transaction de retrait.
    • Ce retrait générera une preuve zk indiquant la propriété de la transaction, ce qui lui permettra de la convertir en une forme utilisable par le public.

Tout au long de ce processus, les détails de la transaction, les informations sur l'expéditeur et le destinataire restent privés grâce à l'utilisation de preuves à connaissance nulle (zkSNARK). Le relayeur garantit que les transactions sont traitées sans révéler de détails sensibles, et le contrat zkBob maintient l'intégrité de la transaction tout en préservant la vie privée des utilisateurs concernés.

Etude de cas - WaaS Pay

WaaS Pay est une plateforme de déploiement de compte de contrat intelligent, utilisant le kit de protocole Safe{Core} et le SDK d'abstraction de compte Safe{Core}, conçue pour les organisations cherchant des paiements blockchain instantanés tout en privilégiant la confidentialité. Account Abstraction SDK, conçue pour les organisations qui recherchent des paiements blockchain instantanés tout en privilégiant la confidentialité. Il offre une interface conviviale, sans code, pour personnaliser les caractéristiques du compte de contrat intelligent, telles que les connexions sociales, les rampes d'accès au fiat et les transactions sans gaz pour les destinataires. Grâce à zkBob, qui facilite les transactions anonymes par le biais de preuves de non-connaissance (ZKP), WaaS Pay garantit la sécurité et la confidentialité des données financières sensibles. Alimentée par Polygon zkEVM, la plateforme garantit l'évolutivité et l'efficacité, tandis qu'un nœud IPFS auto-hébergé avec Helia protège les métadonnées sensibles.

Pour plus d'informations : https://ethglobal.com/showcase/waas-pay-br0qs

Avantages de ZKPayments

  1. Confidentialité accrue : ZKPayments offre un niveau élevé de confidentialité en gardant les détails de la transaction confidentiels, protégeant ainsi les utilisateurs des violations potentielles de la vie privée et de l'exploitation des données.
  2. Sécurité améliorée : Les données transactionnelles sensibles étant dissimulées, les utilisateurs sont moins exposés aux attaques ciblées, ce qui garantit un environnement plus sûr et plus sécurisé pour effectuer des transactions sur le Web3. Par exemple. ZKPayments peut contribuer à atténuer les problèmes de frontrunning et de maximisation de la valeur extractible (MEV) qui prévalent dans le web3.
  3. Transparence et conformité : ZKPayments trouve un équilibre en offrant la transparence des transactions aux parties concernées tout en préservant la vie privée de l'utilisateur. Cela permet aux entreprises de répondre aux exigences de conformité réglementaire sans sacrifier la confidentialité.
  4. Amélioration de l'expérience utilisateur : Les exigences réduites en matière de calcul de ZKPayments se traduisent par des frais de transaction moins élevés et une plus grande évolutivité. Ces cas d'utilisation, associés à l'ERC4337 comme le montre l'étude de cas ci-dessus, offrent aux utilisateurs et aux entreprises une expérience plus fluide, encourageant ainsi des taux d'adoption et d'utilisation plus élevés.

Principaux cas d'utilisation

  1. Transactions personnelles confidentielles : Ces protocoles garantissent des achats et des paiements privés sans que les détails financiers ne soient révélés à des tiers, ce qui assure une confidentialité absolue.
  2. Échanges de jetons préservant la confidentialité : Ces protocoles permettent des échanges privés de jetons, sauvegardant l'historique des échanges et les avoirs pour une meilleure confidentialité financière.
  3. Campagnes de crowdfunding privées : Grâce à ces protocoles, les campagnes de crowdfunding préservent l'anonymat des contributeurs tout en distribuant les fonds de manière transparente, garantissant ainsi un processus de collecte de fonds fiable et privé.
  4. Paiements privés : Ces protocoles permettent aux entreprises d'effectuer des paiements discrets à des entrepreneurs ou à des employés, en protégeant les montants des paiements et les coordonnées des bénéficiaires.
  5. Récompenses vérifiées pour les contributeurs : Ces protocoles rationalisent les multitransferts privés, garantissant la confidentialité tout en vérifiant les contributions.
  6. Collecte de fonds et subventions en open source : Ces protocoles offrent des demandes de jetons sécurisées et privées de la part des investisseurs, vérifiant la sécurité des fonds avec une preuve de solvabilité, tout en maintenant la confidentialité des transactions, ce qui favorise la confiance dans la collecte de fonds et la gestion des subventions.

Le défi

Les paiements sans connaissance (ZK) offrent des transactions Web3 privées mais posent des problèmes de conformité. Il est essentiel de répondre aux exigences en matière de lutte contre le blanchiment d'argent et le financement du terrorisme, de conformité fiscale, de contrôle des sanctions, de conservation des données, de réglementations transfrontalières et de lutte contre la criminalité. La collaboration avec les régulateurs, une conformité dynamique et une sécurité solide peuvent garantir une utilisation responsable. ZKPayments remodèle la finance numérique tout en protégeant la vie privée des utilisateurs et en respectant la loi.

Comment aborder la question de la conformité ? Une étude de cas (zk.money)

Pour garantir la conformité légale avec les lois et réglementations du Royaume-Uni, Aztec Network a mis en œuvre une approche globale qui établit un équilibre entre la protection de la vie privée et la dissuasion des activités illicites sur leur dApp DeFi axée sur la protection de la vie privée, zk.money.

Approche pratique de la dissuasion :

  • Garantir aux utilisateurs le respect de leur vie privée sur la chaîne tout en décourageant le blanchiment d'argent et les activités illicites.
  • Effort actuel : Limites de dépôt par transaction sur http://zk.money.

Initiatives :

  • Plafonds de dépôts quotidiens d'actifs à l'échelle du système.
  • Limitation du taux de dépôt spécifique à l'IP.
  • Plafonds de dépôt en attente à une seule adresse.
  • Contraintes sur la fenêtre de la trappe d'évacuation.
  • Lenteur des dépôts et des retraits.
  • Identifiez facilement les adresses à risque.
  • Empêcher les utilisateurs illicites de contourner Falafel, le rollup d'Aztec.

Conclusion

En conclusion, ZKPayments offre une solution transformatrice à la demande croissante d'options évolutives et respectueuses de la vie privée dans le domaine de la finance sur le Web3. En associant de manière transparente la protection de la vie privée et la transparence grâce à des preuves à connaissance nulle, les utilisateurs peuvent effectuer des transactions sécurisées et efficaces tout en préservant leurs informations sensibles. En s'engageant à respecter la conformité et les principes centrés sur l'utilisateur, ZKPayments ouvre la voie à un avenir décentralisé qui donne la priorité à la vie privée, favorise la confiance et remodèle le paysage de la finance numérique de manière responsable. L'adoption de ZKPayments ouvre la voie à un écosystème web3 plus sûr et plus convivial, promettant un avenir financier plus radieux et plus inclusif pour tous.

Clause de non-responsabilité:

  1. Cet article est repris de[fetcch]. Tous les droits d'auteur appartiennent à l'auteur original[Satyam Kulkarni]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn(gatelearn@gate.io),qui s'en chargera rapidement.
  2. Clause de non-responsabilité : Les points de vue et les opinions exprimés dans cet article sont uniquement ceux de l'auteur et ne constituent pas un conseil en investissement.
  3. Les traductions de l'article dans d'autres langues sont effectuées par l'équipe de Gate Learn. Sauf mention contraire, il est interdit de copier, distribuer ou plagier les articles traduits.
เริ่มตอนนี้
สมัครและรับรางวัล
$100
ลงทะเบียนทันที