Le cofondateur d'Ethereum, Vitalik Buterin, a clairement indiqué que "si une transition technologique vers la protection de la vie privée n'est pas effectuée, Ethereum échouera". En effet, toutes les transactions sont visibles publiquement et, pour de nombreux utilisateurs, le sacrifice de la vie privée est trop important, ce qui les conduit à se tourner vers des solutions centralisées qui, au moins dans une certaine mesure, cachent les données.
En 2023, Vitalik a mené une série de recherches sur la protection de la vie privée et la technologie des preuves à connaissance nulle (ZK). Au cours du premier semestre de l'année, Vitalik a publié trois articles sur son site web traitant spécifiquement du ZK et de la protection de la vie privée. En avril, il a également présenté sur Reddit une étude sur les problèmes de confidentialité des dépositaires de portefeuilles. En septembre, il a rédigé, avec d'autres professionnels, un document proposant une solution pour équilibrer la protection de la vie privée et la conformité.
En outre, l'écosystème Ethereum encourage activement la discussion et la popularisation de ce sujet. Un événement spécial consacré à la protection de la vie privée a été organisé lors de l'événement ETHDenver en mars. Lors de la conférence annuelle de la communauté Ethereum (EDCON) en mai, Vitalik a souligné que "dans les 10 prochaines années, ZK-SNARK sera aussi important que la blockchain".
Cet article suit les derniers développements dans l'écosystème Ethereum en 2023 concernant l'utilisation de la technologie ZK pour faire progresser la protection de la vie privée. Si vous souhaitez entrer sur le marché de l'Ethereum ZK, cet article peut vous fournir l'interprétation et les conseils nécessaires.
La transparence d'Ethereum peut entraîner un risque de fuite des informations personnelles des utilisateurs. Il n'y a pas de secrets sur les blockchains telles qu'Ethereum, et toutes les informations sont publiques, y compris les transactions, les votes et les autres activités sur la chaîne. Une telle publicité pourrait permettre de suivre des transactions et des adresses spécifiques et de les associer à des identités d'utilisateurs réelles. Par conséquent, la mise en œuvre de la protection de la vie privée sur Ethereum devient cruciale. La technologie de cryptage permet de dissimuler des informations sur la chaîne, mais le défi consiste à s'assurer que la validité de ces transactions peut être vérifiée tout en protégeant la vie privée. La technologie ZK offre une solution qui permet de prouver l'authenticité des transactions sans révéler d'informations supplémentaires, en tenant compte de la confidentialité et de la vérifiabilité.
Ethereum accorde une grande importance à ZK-SNARK, notamment dans certains cas d'utilisation clés de la protection de la vie privée, où son importance est particulièrement prononcée. Cela se reflète clairement dans les recherches et les propositions de Vitalik. Salus a compilé les scénarios types proposés par Vitalik dans sa recherche, à savoir les transactions relatives à la protection de la vie privée et la récupération sociale.
En ce qui concerne les transactions privées, Vitalik a proposé deux concepts : les adresses furtives et les pools de confidentialité.
-Les systèmes d'adresses privées permettent d'effectuer des transactions tout en dissimulant l'identité du destinataire de la transaction. Cette solution permet non seulement de protéger la vie privée, mais aussi de garantir la transparence et l'auditabilité des transactions.
-En s'appuyant sur le protocole Privacy Pool, les utilisateurs peuvent prouver que leurs fonds de transaction appartiennent à des sources connues et conformes sans divulguer l'historique des transactions.
Ces deux solutions sont indissociables de ZK. Dans les deux scénarios, les utilisateurs sont autorisés à générer des preuves à connaissance nulle pour prouver la validité de leurs transactions.
En supposant qu'Alice ait l'intention de transférer certains actifs à Bob, ce dernier ne souhaite pas que ces informations soient connues du grand public lorsqu'il les recevra. Bien qu'il soit difficile de dissimuler le transfert d'actifs, il est possible de cacher l'identité du bénéficiaire. C'est dans ce contexte que sont apparus les systèmes d'adresses privées, qui s'intéressent principalement à la manière de dissimuler efficacement l'identité du destinataire de la transaction.
Quelle est donc la différence entre une adresse privée et une adresse Ethereum normale ? Comment utiliser les adresses privées basées sur le ZK pour des transactions privées ? Salus vous présentera chacun d'entre eux.
(1) Quelle est la différence entre une adresse privée et une adresse Ethereum normale ?
Une adresse privée est une adresse qui permet à l'expéditeur d'une transaction de la générer de manière non interactive et qui n'est accessible qu'à son destinataire. Nous illustrons la différence entre une adresse privée et une adresse Ethereum ordinaire sous deux angles : qui la génère et qui peut y accéder.
Qui le génère ?
Les adresses Ethereum ordinaires sont générées par l'utilisateur lui-même sur la base d'algorithmes de cryptage et de hachage. L'adresse privée peut être générée par la personne ou l'autre partie à la transaction. Par exemple, lorsque Alice transfère de l'argent à Bob, l'adresse utilisée par Bob pour accepter le transfert peut être générée par Bob ou Alice, mais elle ne peut être contrôlée que par Bob.
Qui peut y accéder ?
Les types, les montants et les sources de fonds des comptes Ethereum ordinaires sont visibles par le public. Dans les transactions utilisant des adresses privées, seul le destinataire peut accéder aux fonds stockés dans son adresse invisible. Les observateurs ne peuvent pas associer l'adresse privée du destinataire à son identité, ce qui protège la vie privée du destinataire.
(2) Comment utiliser les adresses privées basées sur le ZK pour les transactions privées ?
Si Alice veut envoyer des actifs à l'adresse privée de Bob pour cacher le destinataire de la transaction. Vous trouverez ci-dessous une description détaillée du processus de transaction :
1) Créer une adresse privée
● Bob génère et enregistre une clé de dépense, qui est une clé privée pouvant être utilisée pour dépenser des fonds envoyés à l'adresse privée de Bob.
● Bob utilise la clé de consommation pour générer une méta-adresse de confidentialité (méta-adresse de furtivité), qui peut être utilisée pour calculer une adresse de confidentialité pour un destinataire donné, et transmet la méta-adresse de confidentialité à Alice. Alice calcule la méta-adresse de confidentialité et génère une adresse privée appartenant à Bob.
2) Envoyer les actifs à une adresse privée
● Alice envoie les actifs à l'adresse privée de Bob.
● Comme Bob ne sait pas que cette adresse privée lui appartient pour le moment, Alice doit également publier quelques données chiffrées supplémentaires (une clé publique temporaire, ephmeral pubkey) sur la chaîne pour aider Bob à découvrir que cette adresse privée lui appartient.
Les adresses de confidentialité dans le processus ci-dessus peuvent également être construites en utilisant des preuves à connaissance nulle et le cryptage à clé publique. Le code du contrat intelligent dans l'adresse de confidentialité peut être intégré à ZK. En intégrant la logique de vérification de la preuve de l'absence de connaissance, le contrat intelligent est en mesure de vérifier automatiquement la validité des transactions. Ce schéma de construction des adresses de confidentialité est plus simple que d'autres, notamment la cryptographie à courbe elliptique, les isogénies de courbe elliptique, les treillis et les primitives génériques de boîte noire.
Que les transactions privées soient réalisées en cachant l'identité du destinataire de la transaction ou d'autres informations relatives à la transaction, un problème majeur se pose : comment les utilisateurs peuvent-ils prouver que les fonds de leur transaction appartiennent à une source conforme connue sans avoir à divulguer l'ensemble de leur historique de transactions. En tant que plateforme blockchain publique, Ethereum doit éviter de devenir un support pour le blanchiment d'argent et d'autres activités illégales.
Vitalik a proposé une solution appelée "Privacy Pool" qui vise à équilibrer les besoins de la blockchain en matière de protection de la vie privée et de conformité. Cependant, quels sont les défis en matière de protection de la vie privée et de conformité ? Comment concilier respect de la vie privée et conformité ? Sur ces deux questions, Salus propose des discussions approfondies et instructives.
(1) Défis en matière de protection de la vie privée et de conformité
La difficulté de garantir la conformité des transactions tout en assurant la protection de la vie privée est clairement démontrée par l'analyse de l'affaire Tornado Cash.
Tornado Cash est un mixeur de crypto-monnaies qui mélange un grand nombre de dépôts et de retraits. Une fois que l'utilisateur a déposé le jeton à une adresse, il doit présenter une preuve ZK pour prouver qu'il a déposé le jeton, puis utiliser une nouvelle adresse pour retirer l'argent. Ces deux opérations sont publiques sur la chaîne, mais la correspondance entre elles n'est pas publique, elles sont donc anonymes. S'il peut améliorer la protection de la vie privée des utilisateurs, il est souvent utilisé par des acteurs illégaux pour blanchir de l'argent. En conséquence, l'OFAC, le département du Trésor des États-Unis, a finalement placé l'adresse du contrat intelligent de Tornado Cash sur la liste des sanctions. Les régulateurs estiment que l'accord facilite le blanchiment d'argent et n'est pas propice à la lutte contre la criminalité financière.
Le défaut de Tornado Cash en matière de protection de la vie privée est qu'il ne peut pas vérifier si la source de jetons de l'utilisateur est conforme. Pour résoudre ce problème, Tornado Cash fournit un serveur centralisé pour aider les utilisateurs à prouver que leurs jetons sont conformes. Toutefois, le serveur doit obtenir les informations spécifiques sur le retrait fournies par l'utilisateur, déterminer à quel dépôt le retrait correspond et générer un certificat. Ce mécanisme centralisé a non seulement un coût en termes d'hypothèses de confiance, mais il crée également une asymétrie d'information. En fin de compte, le mécanisme a été utilisé par peu d'utilisateurs. Bien que Tornado Cash mette en œuvre une fonction privée cachée, il ne fournit pas de mécanisme efficace pour vérifier si la source des jetons de l'utilisateur est conforme, ce qui permet aux criminels d'en tirer parti.
(2) Comment concilier respect de la vie privée et conformité ?
Sur la base de ces défis, Vitalik a proposé le concept de "Privacy Pools", qui permet aux utilisateurs de prouver que leurs sources de financement sont conformes sans révéler l'historique des transactions. Cela permet de trouver un équilibre entre le respect de la vie privée et la conformité.
Les pools de confidentialité sont basés sur ZK et les ensembles d'associations, ce qui permet aux utilisateurs de générer et de publier des certificats ZK-SNARK prouvant que leurs fonds proviennent de sources connues et conformes, c'est-à-dire que les fonds appartiennent à un ensemble d'associations conforme ou qu'ils n'appartiennent pas à un ensemble d'associations non conforme.
Les collections d'associations sont constituées par les fournisseurs de collections d'associations selon des stratégies spécifiques :
1) Preuve d'appartenance : Placez les dépôts de toutes les plateformes de négociation de confiance dans un ensemble associé, et vous aurez la preuve formelle qu'ils sont peu risqués.
2) Preuve d'exclusion : Identifier un groupe de dépôts qui sont marqués comme étant à risque, ou des dépôts dont il est clairement prouvé qu'il s'agit de fonds non conformes. Construisez une collection associée contenant tous les dépôts à l'exception de ces dépôts.
Lorsqu'il effectue un dépôt, l'utilisateur génère un secret par l'intermédiaire de ZK et le hache pour calculer un identifiant de pièce public afin de marquer son association avec les fonds. Lorsqu'il retire de l'argent, l'utilisateur soumet un identifiant nul correspondant au secret (l'identifiant nul est l'identifiant unique dérivé du secret) pour prouver que les fonds lui appartiennent. En outre, les utilisateurs utilisent ZK pour prouver deux branches merkle afin de prouver que leurs fonds appartiennent à des sources conformes connues :
1) Son ID de pièce appartient à l'arbre d'ID de pièce, qui est la collection de toutes les transactions en cours ;
2) Son identifiant de pièce appartient à l'arbre de l'ensemble d'associations, qui est un ensemble de transactions légitimes que l'utilisateur considère.
(3) Quels sont les scénarios d'application de ZK dans le domaine de la protection de la vie privée ?
1)Flexibilité garantie dans les transactions privées : Afin de traiter les transferts de toute dénomination dans les transactions privées, des preuves de non-connaissance supplémentaires sont jointes à chaque transaction. Cette preuve garantit que la dénomination totale des jetons créés ne dépassera pas la dénomination totale des jetons consommés, assurant ainsi la validité de la transaction. Deuxièmement, ZK maintient la continuité et la confidentialité des transactions en vérifiant l'engagement de chaque transaction par rapport à l'ID du jeton de dépôt original, de sorte que même dans le cas de retraits partiels, il est garanti que chaque retrait est associé au dépôt original correspondant.
2)Résister aux attaques par sommation de solde : En fusionnant les jetons et en s'engageant sur un ensemble d'identifiants de jetons, et en s'engageant sur l'union des transactions parentes pour plusieurs transactions d'entrée, il est possible de résister aux attaques par sommation de solde. Cette approche s'appuie sur ZK pour garantir que tous les identifiants de jetons engagés se trouvent dans l'ensemble qui leur est associé, ce qui renforce la confidentialité des transactions.
Dans la vie réelle, nous pouvons avoir plusieurs comptes de cartes bancaires. La perte du mot de passe de la carte bancaire signifie que nous ne pouvons pas utiliser les fonds de la carte bancaire. Dans ce cas, nous nous rendons généralement à la banque et demandons de l'aide pour récupérer le mot de passe.
De même, dans les blockchains telles que Ethereum, nous pouvons avoir plusieurs adresses (comptes). La clé privée est comparable au mot de passe d'une carte bancaire et constitue le seul outil permettant de contrôler les fonds du compte. Si vous perdez votre clé privée, vous perdez le contrôle de votre compte et ne pouvez plus accéder aux fonds qui s'y trouvent. À l'instar de la récupération d'un mot de passe dans le monde réel, les portefeuilles blockchain offrent un mécanisme de récupération sociale pour aider les utilisateurs à retrouver leurs clés privées perdues. Ce mécanisme permet aux utilisateurs de sélectionner un groupe de personnes de confiance comme gardiens lors de la création d'un portefeuille. Ces tuteurs peuvent aider les utilisateurs à reprendre le contrôle de leurs comptes en approuvant la réinitialisation de la clé privée d'un utilisateur en cas de perte.
Dans le cadre de ce mécanisme de récupération sociale et de gardiennage, Vitalik a proposé deux points de protection de la vie privée qui méritent une attention particulière :
1)Cacher la corrélation entre plusieurs adresses d'un utilisateur : Pour protéger la vie privée de l'utilisateur, nous devons empêcher que la propriété de plusieurs adresses ne soit révélée lors de l'utilisation d'une seule phrase de récupération pour les récupérer.
2)Protéger la confidentialité des biens de l'utilisateur contre les intrusions des tuteurs : Nous devons veiller à ce que, pendant le processus d'approbation des opérations de l'utilisateur, les tuteurs ne puissent pas obtenir les informations sur les actifs de l'utilisateur ou observer son comportement en matière de transactions, afin d'éviter toute violation de la confidentialité des biens de l'utilisateur.
La technologie clé permettant de réaliser ces deux types de protection de la vie privée est la preuve de l'absence de connaissance.
(1) Questions relatives à la protection de la vie privée dans le cadre de la récupération sociale : les corrélations entre les adresses sont divulguées.
Dans les blockchains telles qu'Ethereum, afin de protéger leur vie privée, les utilisateurs génèrent généralement plusieurs adresses pour diverses transactions. En utilisant une adresse différente pour chaque transaction, vous empêchez les observateurs extérieurs de relier facilement ces transactions au même utilisateur.
Toutefois, si la clé privée de l'utilisateur est perdue, les fonds sous plusieurs adresses générés par la clé privée ne seront pas récupérés. Dans ce cas, un redressement social est nécessaire. Une méthode de récupération simple consiste à récupérer plusieurs adresses en un seul clic, l'utilisateur utilisant la même phrase de récupération pour récupérer plusieurs adresses générées par une clé privée. Mais cette approche n'est pas idéale, car l'intention initiale des utilisateurs générant des adresses multiples est d'empêcher qu'elles soient liées les unes aux autres. Si un utilisateur choisit de restaurer toutes les adresses en même temps ou à un moment similaire, cela revient en fait à révéler au monde extérieur que ces adresses appartiennent au même utilisateur. Cette pratique va à l'encontre de l'objectif initial des utilisateurs qui créent plusieurs adresses pour protéger leur vie privée. Cela pose un problème de protection de la vie privée dans le cadre du processus de récupération sociale.
(2) Solution ZK : Comment éviter que la corrélation de plusieurs adresses ne soit divulguée ?
La technologie ZK peut être utilisée pour masquer la corrélation entre plusieurs adresses d'un utilisateur sur la blockchain. Répondre aux préoccupations relatives à la protection de la vie privée lors du rétablissement social grâce à une architecture qui sépare la logique de vérification et les actifs détenus.
1) Logique de vérification : Les utilisateurs ont plusieurs adresses sur la blockchain, mais la logique de vérification de toutes ces adresses est liée à un contrat d'authentification principal (contrat keystore).
2) Détention et échange d'actifs : Lorsque les utilisateurs opèrent à partir de n'importe quelle adresse, ils utilisent la technologie ZK pour vérifier l'autorité de l'opération sans révéler de quelle adresse il s'agit.
De cette manière, même si toutes les adresses sont connectées au même contrat de stockage de clés, les observateurs externes ne peuvent pas déterminer si ces adresses appartiennent au même utilisateur, ce qui permet de protéger la vie privée entre les adresses.
Il est très important de concevoir une solution de récupération sociale privée qui puisse récupérer plusieurs adresses d'utilisateurs en même temps sans révéler la corrélation entre les adresses.
(1) Questions relatives à la vie privée : Privilèges du tuteur
Dans les blockchains telles qu'Ethereum, les utilisateurs peuvent définir plusieurs gardiens lors de la création d'un portefeuille. Le rôle du gardien est crucial, en particulier pour les portefeuilles multisig et les portefeuilles de récupération sociale. En règle générale, un gardien est un ensemble de N adresses détenues par d'autres personnes, où M adresses peuvent approuver une opération.
Quels sont les privilèges des tuteurs ? par exemple :
1) Dans le cas d'un portefeuille à signatures multiples, chaque transaction doit être signée par M des N gardiens avant de pouvoir être effectuée.
2) Pour le portefeuille de récupération sociale, si la clé privée de l'utilisateur est perdue, M gardiens sur N doivent signer un message pour réinitialiser la clé privée.
Les tuteurs peuvent approuver vos actions. En multisig, il s'agit de n'importe quelle transaction. Dans les portefeuilles de récupération sociale, il s'agit de réinitialiser la clé privée de votre compte. L'un des défis auxquels est confronté le mécanisme de tutelle aujourd'hui est de savoir comment protéger la confidentialité financière des utilisateurs contre les violations commises par les tuteurs.
(2) Solution ZK : Protéger la vie privée des utilisateurs contre l'intrusion des gardiens
Vitalik envisage dans cet article que ce que le gardien protège n'est pas votre compte, mais un contrat de "lockbox", et que le lien entre votre compte et ce lockbox est caché. Cela signifie que les tuteurs ne peuvent pas accéder directement au compte de l'utilisateur et qu'ils ne peuvent agir que par le biais d'un contrat caché de type "lockbox".
Le rôle principal de ZK est de fournir un système de preuve qui permet aux tuteurs de prouver qu'une certaine déclaration est vraie sans révéler les détails spécifiques de la déclaration. Dans ce cas, les gardiens peuvent utiliser les ZK-SNARK pour prouver qu'ils ont la permission d'effectuer une action sans révéler aucun détail sur le lien entre le compte et le coffre-fort.
Bien que la piste Ethereum ZK soit encore en phase de développement et que de nombreux concepts et idées novateurs soient encore en cours de conception et de recherche, l'écosystème Ethereum a déjà lancé des activités d'exploration réelles plus étendues.
(1) Financement de la Fondation Ethereum
En septembre de cette année, la Fondation Ethereum a financé deux projets sur la protection de la vie privée, IoTeX et ZK-Team. IoTex est un portefeuille d'abstraction de compte basé sur des preuves à connaissance nulle, et ZK-Team s'engage à permettre aux organisations de gérer les membres de leur équipe tout en préservant leur vie privée.
(2) Investissement
En octobre dernier, le cofondateur d'Ethereum, Vitalik, a investi dans Nocturne Labs, qui vise à introduire des comptes privés dans Ethereum. Les utilisateurs disposeront d'un compte "interne" dans Nocturne,La façon dont les fonds sont reçus/décaissés à partir de ces comptes est anonyme. Grâce à la technologie ZK, les utilisateurs peuvent prouver qu'ils disposent de fonds suffisants pour effectuer des paiements, des promesses de dons et d'autres transactions.
(3) Réunions et activités
ETHDenver est considéré comme l'un des plus importants événements liés à Ethereum et à la technologie blockchain dans le monde. En mars de cette année, l'ETHDenver a organisé un événement spécial sur la protection de la vie privée. Cet événement démontre non seulement l'intérêt de la communauté Ethereum pour les questions de protection de la vie privée, mais reflète également l'importance accordée par la communauté mondiale de la blockchain à la protection de la vie privée. Lors de cet événement spécial, neuf conférences thématiques sur la protection de la vie privée ont été organisées, dont Privacy by Design (protection de la vie privée dès la conception) et Privacy vs Security (protection de la vie privée contre la sécurité).
EDCON (Ethereum Community Conference) est une conférence annuelle mondiale organisée par la communauté Ethereum, visant à promouvoir le développement et l'innovation d'Ethereum et à renforcer les liens et la coopération de la communauté Ethereum. Lors de la conférence EDCON de cette année, en mai, Vitalik a fait une déclaration importante : "Dans les dix prochaines années, les ZK-SNARK seront aussi importants que la blockchain". Cette déclaration souligne la position importante des ZK-SNARK dans la tendance de développement de la technologie blockchain.
(4) Projet
À l'heure actuelle, certains projets de couche d'application ont commencé à utiliser la technologie ZK pour fournir des services de protection de la vie privée aux utilisateurs et aux transactions. Ces projets de couche d'application sont appelés ZK Applications. Par exemple, l'application ZK a été déployée sur Ethereum, unyfy, une bourse d'actifs privée. Les prix des ordres de négociation sont cachés et l'intégrité de ces ordres à prix cachés est vérifiée par la technologie ZK. Outre unyfy, il existe d'autres applications ZK sur les L2, telles que ZigZag et Loopring. Bien que ces applications ZK mettent en œuvre des fonctions de protection de la vie privée basées sur ZK, elles ne peuvent actuellement pas être déployées sur Ethereum car l'EVM ne peut pas exécuter directement ces applications ZK.
(5) Recherche
En outre, des chercheurs ont mené des discussions animées sur la technologie ZK et ses applications sur la plateforme Ethereum Research. Parmi eux, un article de recherche de Salus consacré àUse ZK to promote privacy protection and other implémentations in the Ethereum application layer (Utiliser ZK pour promouvoir la protection de la vie privée et d'autres implémentations dans la couche d'application d'Ethereum). Cet article teste les performances de plusieurs langages ZK différents, Circom, Noir et Halo2, et les résultats montrent que Circom a de meilleures performances. Cet article propose également une solution générale pour intégrer Circom dans Solidity afin de mettre en œuvre des projets de couche applicative Ethereum basés sur ZK. Cela a des conséquences importantes pour la transition d'Ethereum en matière de protection de la vie privée. Cette étude a connu un succès important en 2023, se classant en tête de liste.
Cet article de recherche est le plus lu de 2023 sur Ethereum Research -- by Salus
Bien que de nombreux projets existants de la couche applicative d'Ethereum aient un besoin urgent d'introduire des mécanismes de protection de la vie privée basés sur ZK, ce processus est confronté à une série de défis.
2 Limites du langage de développement ZK : des langages tels que Rust, Cairo, Halo2, etc. sont utilisés pour développer des circuits de preuve ZK, mais ils ne sont généralement applicables qu'à des scénarios spécifiques et ne conviennent pas aux projets de couche d'application. Certains de ces langages, comme Cairo, en sont encore au stade expérimental et peuvent présenter des problèmes de compatibilité entre les différentes versions, ce qui accroît la difficulté et la complexité de leur adoption dans des applications réelles.
3.Difficulté de mise en œuvre de la technologie ZK:La solution proposée par Vitalik pour appliquer la technologie ZK à la protection de la vie privée sur Ethereum peut être confrontée à une variété de problèmes complexes dans la mise en œuvre réelle, tels que la façon d'éviter que les transactions privées ne soient soumises à des attaques de cumul d'équilibre et à des attaques de double dépense. attendez. La résolution de ces problèmes se heurte à certaines difficultés techniques.
Protection de la vie privée et conformité : Bien que les transactions privées puissent protéger l'identité des utilisateurs et les détails des transactions, elles peuvent également dissimuler des activités illégales, telles que le blanchiment d'argent. À l'avenir, il reste à vérifier si les applications ZK sur Ethereum peuvent se conformer aux réglementations lors de la mise en œuvre de la protection de la vie privée.
Malgré les difficultés, le déploiement à grande échelle des applications ZK est une condition préalable à la transformation d'Ethereum en matière de protection de la vie privée, en garantissant des transferts de fonds préservant la vie privée et en veillant à ce que tous les autres outils en cours de développement (récupération sociale, identité, réputation) préservent la vie privée. Comme indiqué ci-dessus, la recherche publiée par Salus est basée sur la technologie ZK pour promouvoir la protection de la vie privée et d'autres fonctions de la couche d'application Ethereum. De plus, Salus a proposé pour la première fois une solution universelle qui intègre Circom et Solidity et qui s'applique aux projets de couche applicative Ethereum. Il met en œuvre le système de preuve ZK hors chaîne basé sur Circom et met en œuvre les contrats intelligents et la logique de vérification ZK sur Ethereum basée sur Solidity. Si vous avez besoin d'aide ou si vous avez des questions, n'hésitez pas à contacter Salus.
En 2023, la communauté Ethereum, dirigée par Vitalik Buterin, a exploré en profondeur le potentiel de la technologie de preuve à connaissance nulle dans le but d'améliorer la fonction de protection de la vie privée de la plateforme. Bien que ces propositions en soient encore au stade de la recherche, les recherches et les articles de Vitalik, en particulier sur l'équilibre entre la protection de la vie privée et la conformité, jettent les bases théoriques d'une technologie à connaissance nulle destinée à protéger la vie privée des utilisateurs.
Bien que l'intégration de la technologie des preuves à connaissance nulle dans Ethereum pose des problèmes, la technologie arrivant à maturité et la communauté poursuivant ses efforts, les preuves à connaissance nulle devraient jouer un rôle plus important dans l'écosystème Ethereum dans un avenir proche. Par conséquent, une participation opportune et une exploration active de ce domaine, en profitant des premières opportunités, permettront d'occuper une position favorable dans ce domaine émergent.
Le cofondateur d'Ethereum, Vitalik Buterin, a clairement indiqué que "si une transition technologique vers la protection de la vie privée n'est pas effectuée, Ethereum échouera". En effet, toutes les transactions sont visibles publiquement et, pour de nombreux utilisateurs, le sacrifice de la vie privée est trop important, ce qui les conduit à se tourner vers des solutions centralisées qui, au moins dans une certaine mesure, cachent les données.
En 2023, Vitalik a mené une série de recherches sur la protection de la vie privée et la technologie des preuves à connaissance nulle (ZK). Au cours du premier semestre de l'année, Vitalik a publié trois articles sur son site web traitant spécifiquement du ZK et de la protection de la vie privée. En avril, il a également présenté sur Reddit une étude sur les problèmes de confidentialité des dépositaires de portefeuilles. En septembre, il a rédigé, avec d'autres professionnels, un document proposant une solution pour équilibrer la protection de la vie privée et la conformité.
En outre, l'écosystème Ethereum encourage activement la discussion et la popularisation de ce sujet. Un événement spécial consacré à la protection de la vie privée a été organisé lors de l'événement ETHDenver en mars. Lors de la conférence annuelle de la communauté Ethereum (EDCON) en mai, Vitalik a souligné que "dans les 10 prochaines années, ZK-SNARK sera aussi important que la blockchain".
Cet article suit les derniers développements dans l'écosystème Ethereum en 2023 concernant l'utilisation de la technologie ZK pour faire progresser la protection de la vie privée. Si vous souhaitez entrer sur le marché de l'Ethereum ZK, cet article peut vous fournir l'interprétation et les conseils nécessaires.
La transparence d'Ethereum peut entraîner un risque de fuite des informations personnelles des utilisateurs. Il n'y a pas de secrets sur les blockchains telles qu'Ethereum, et toutes les informations sont publiques, y compris les transactions, les votes et les autres activités sur la chaîne. Une telle publicité pourrait permettre de suivre des transactions et des adresses spécifiques et de les associer à des identités d'utilisateurs réelles. Par conséquent, la mise en œuvre de la protection de la vie privée sur Ethereum devient cruciale. La technologie de cryptage permet de dissimuler des informations sur la chaîne, mais le défi consiste à s'assurer que la validité de ces transactions peut être vérifiée tout en protégeant la vie privée. La technologie ZK offre une solution qui permet de prouver l'authenticité des transactions sans révéler d'informations supplémentaires, en tenant compte de la confidentialité et de la vérifiabilité.
Ethereum accorde une grande importance à ZK-SNARK, notamment dans certains cas d'utilisation clés de la protection de la vie privée, où son importance est particulièrement prononcée. Cela se reflète clairement dans les recherches et les propositions de Vitalik. Salus a compilé les scénarios types proposés par Vitalik dans sa recherche, à savoir les transactions relatives à la protection de la vie privée et la récupération sociale.
En ce qui concerne les transactions privées, Vitalik a proposé deux concepts : les adresses furtives et les pools de confidentialité.
-Les systèmes d'adresses privées permettent d'effectuer des transactions tout en dissimulant l'identité du destinataire de la transaction. Cette solution permet non seulement de protéger la vie privée, mais aussi de garantir la transparence et l'auditabilité des transactions.
-En s'appuyant sur le protocole Privacy Pool, les utilisateurs peuvent prouver que leurs fonds de transaction appartiennent à des sources connues et conformes sans divulguer l'historique des transactions.
Ces deux solutions sont indissociables de ZK. Dans les deux scénarios, les utilisateurs sont autorisés à générer des preuves à connaissance nulle pour prouver la validité de leurs transactions.
En supposant qu'Alice ait l'intention de transférer certains actifs à Bob, ce dernier ne souhaite pas que ces informations soient connues du grand public lorsqu'il les recevra. Bien qu'il soit difficile de dissimuler le transfert d'actifs, il est possible de cacher l'identité du bénéficiaire. C'est dans ce contexte que sont apparus les systèmes d'adresses privées, qui s'intéressent principalement à la manière de dissimuler efficacement l'identité du destinataire de la transaction.
Quelle est donc la différence entre une adresse privée et une adresse Ethereum normale ? Comment utiliser les adresses privées basées sur le ZK pour des transactions privées ? Salus vous présentera chacun d'entre eux.
(1) Quelle est la différence entre une adresse privée et une adresse Ethereum normale ?
Une adresse privée est une adresse qui permet à l'expéditeur d'une transaction de la générer de manière non interactive et qui n'est accessible qu'à son destinataire. Nous illustrons la différence entre une adresse privée et une adresse Ethereum ordinaire sous deux angles : qui la génère et qui peut y accéder.
Qui le génère ?
Les adresses Ethereum ordinaires sont générées par l'utilisateur lui-même sur la base d'algorithmes de cryptage et de hachage. L'adresse privée peut être générée par la personne ou l'autre partie à la transaction. Par exemple, lorsque Alice transfère de l'argent à Bob, l'adresse utilisée par Bob pour accepter le transfert peut être générée par Bob ou Alice, mais elle ne peut être contrôlée que par Bob.
Qui peut y accéder ?
Les types, les montants et les sources de fonds des comptes Ethereum ordinaires sont visibles par le public. Dans les transactions utilisant des adresses privées, seul le destinataire peut accéder aux fonds stockés dans son adresse invisible. Les observateurs ne peuvent pas associer l'adresse privée du destinataire à son identité, ce qui protège la vie privée du destinataire.
(2) Comment utiliser les adresses privées basées sur le ZK pour les transactions privées ?
Si Alice veut envoyer des actifs à l'adresse privée de Bob pour cacher le destinataire de la transaction. Vous trouverez ci-dessous une description détaillée du processus de transaction :
1) Créer une adresse privée
● Bob génère et enregistre une clé de dépense, qui est une clé privée pouvant être utilisée pour dépenser des fonds envoyés à l'adresse privée de Bob.
● Bob utilise la clé de consommation pour générer une méta-adresse de confidentialité (méta-adresse de furtivité), qui peut être utilisée pour calculer une adresse de confidentialité pour un destinataire donné, et transmet la méta-adresse de confidentialité à Alice. Alice calcule la méta-adresse de confidentialité et génère une adresse privée appartenant à Bob.
2) Envoyer les actifs à une adresse privée
● Alice envoie les actifs à l'adresse privée de Bob.
● Comme Bob ne sait pas que cette adresse privée lui appartient pour le moment, Alice doit également publier quelques données chiffrées supplémentaires (une clé publique temporaire, ephmeral pubkey) sur la chaîne pour aider Bob à découvrir que cette adresse privée lui appartient.
Les adresses de confidentialité dans le processus ci-dessus peuvent également être construites en utilisant des preuves à connaissance nulle et le cryptage à clé publique. Le code du contrat intelligent dans l'adresse de confidentialité peut être intégré à ZK. En intégrant la logique de vérification de la preuve de l'absence de connaissance, le contrat intelligent est en mesure de vérifier automatiquement la validité des transactions. Ce schéma de construction des adresses de confidentialité est plus simple que d'autres, notamment la cryptographie à courbe elliptique, les isogénies de courbe elliptique, les treillis et les primitives génériques de boîte noire.
Que les transactions privées soient réalisées en cachant l'identité du destinataire de la transaction ou d'autres informations relatives à la transaction, un problème majeur se pose : comment les utilisateurs peuvent-ils prouver que les fonds de leur transaction appartiennent à une source conforme connue sans avoir à divulguer l'ensemble de leur historique de transactions. En tant que plateforme blockchain publique, Ethereum doit éviter de devenir un support pour le blanchiment d'argent et d'autres activités illégales.
Vitalik a proposé une solution appelée "Privacy Pool" qui vise à équilibrer les besoins de la blockchain en matière de protection de la vie privée et de conformité. Cependant, quels sont les défis en matière de protection de la vie privée et de conformité ? Comment concilier respect de la vie privée et conformité ? Sur ces deux questions, Salus propose des discussions approfondies et instructives.
(1) Défis en matière de protection de la vie privée et de conformité
La difficulté de garantir la conformité des transactions tout en assurant la protection de la vie privée est clairement démontrée par l'analyse de l'affaire Tornado Cash.
Tornado Cash est un mixeur de crypto-monnaies qui mélange un grand nombre de dépôts et de retraits. Une fois que l'utilisateur a déposé le jeton à une adresse, il doit présenter une preuve ZK pour prouver qu'il a déposé le jeton, puis utiliser une nouvelle adresse pour retirer l'argent. Ces deux opérations sont publiques sur la chaîne, mais la correspondance entre elles n'est pas publique, elles sont donc anonymes. S'il peut améliorer la protection de la vie privée des utilisateurs, il est souvent utilisé par des acteurs illégaux pour blanchir de l'argent. En conséquence, l'OFAC, le département du Trésor des États-Unis, a finalement placé l'adresse du contrat intelligent de Tornado Cash sur la liste des sanctions. Les régulateurs estiment que l'accord facilite le blanchiment d'argent et n'est pas propice à la lutte contre la criminalité financière.
Le défaut de Tornado Cash en matière de protection de la vie privée est qu'il ne peut pas vérifier si la source de jetons de l'utilisateur est conforme. Pour résoudre ce problème, Tornado Cash fournit un serveur centralisé pour aider les utilisateurs à prouver que leurs jetons sont conformes. Toutefois, le serveur doit obtenir les informations spécifiques sur le retrait fournies par l'utilisateur, déterminer à quel dépôt le retrait correspond et générer un certificat. Ce mécanisme centralisé a non seulement un coût en termes d'hypothèses de confiance, mais il crée également une asymétrie d'information. En fin de compte, le mécanisme a été utilisé par peu d'utilisateurs. Bien que Tornado Cash mette en œuvre une fonction privée cachée, il ne fournit pas de mécanisme efficace pour vérifier si la source des jetons de l'utilisateur est conforme, ce qui permet aux criminels d'en tirer parti.
(2) Comment concilier respect de la vie privée et conformité ?
Sur la base de ces défis, Vitalik a proposé le concept de "Privacy Pools", qui permet aux utilisateurs de prouver que leurs sources de financement sont conformes sans révéler l'historique des transactions. Cela permet de trouver un équilibre entre le respect de la vie privée et la conformité.
Les pools de confidentialité sont basés sur ZK et les ensembles d'associations, ce qui permet aux utilisateurs de générer et de publier des certificats ZK-SNARK prouvant que leurs fonds proviennent de sources connues et conformes, c'est-à-dire que les fonds appartiennent à un ensemble d'associations conforme ou qu'ils n'appartiennent pas à un ensemble d'associations non conforme.
Les collections d'associations sont constituées par les fournisseurs de collections d'associations selon des stratégies spécifiques :
1) Preuve d'appartenance : Placez les dépôts de toutes les plateformes de négociation de confiance dans un ensemble associé, et vous aurez la preuve formelle qu'ils sont peu risqués.
2) Preuve d'exclusion : Identifier un groupe de dépôts qui sont marqués comme étant à risque, ou des dépôts dont il est clairement prouvé qu'il s'agit de fonds non conformes. Construisez une collection associée contenant tous les dépôts à l'exception de ces dépôts.
Lorsqu'il effectue un dépôt, l'utilisateur génère un secret par l'intermédiaire de ZK et le hache pour calculer un identifiant de pièce public afin de marquer son association avec les fonds. Lorsqu'il retire de l'argent, l'utilisateur soumet un identifiant nul correspondant au secret (l'identifiant nul est l'identifiant unique dérivé du secret) pour prouver que les fonds lui appartiennent. En outre, les utilisateurs utilisent ZK pour prouver deux branches merkle afin de prouver que leurs fonds appartiennent à des sources conformes connues :
1) Son ID de pièce appartient à l'arbre d'ID de pièce, qui est la collection de toutes les transactions en cours ;
2) Son identifiant de pièce appartient à l'arbre de l'ensemble d'associations, qui est un ensemble de transactions légitimes que l'utilisateur considère.
(3) Quels sont les scénarios d'application de ZK dans le domaine de la protection de la vie privée ?
1)Flexibilité garantie dans les transactions privées : Afin de traiter les transferts de toute dénomination dans les transactions privées, des preuves de non-connaissance supplémentaires sont jointes à chaque transaction. Cette preuve garantit que la dénomination totale des jetons créés ne dépassera pas la dénomination totale des jetons consommés, assurant ainsi la validité de la transaction. Deuxièmement, ZK maintient la continuité et la confidentialité des transactions en vérifiant l'engagement de chaque transaction par rapport à l'ID du jeton de dépôt original, de sorte que même dans le cas de retraits partiels, il est garanti que chaque retrait est associé au dépôt original correspondant.
2)Résister aux attaques par sommation de solde : En fusionnant les jetons et en s'engageant sur un ensemble d'identifiants de jetons, et en s'engageant sur l'union des transactions parentes pour plusieurs transactions d'entrée, il est possible de résister aux attaques par sommation de solde. Cette approche s'appuie sur ZK pour garantir que tous les identifiants de jetons engagés se trouvent dans l'ensemble qui leur est associé, ce qui renforce la confidentialité des transactions.
Dans la vie réelle, nous pouvons avoir plusieurs comptes de cartes bancaires. La perte du mot de passe de la carte bancaire signifie que nous ne pouvons pas utiliser les fonds de la carte bancaire. Dans ce cas, nous nous rendons généralement à la banque et demandons de l'aide pour récupérer le mot de passe.
De même, dans les blockchains telles que Ethereum, nous pouvons avoir plusieurs adresses (comptes). La clé privée est comparable au mot de passe d'une carte bancaire et constitue le seul outil permettant de contrôler les fonds du compte. Si vous perdez votre clé privée, vous perdez le contrôle de votre compte et ne pouvez plus accéder aux fonds qui s'y trouvent. À l'instar de la récupération d'un mot de passe dans le monde réel, les portefeuilles blockchain offrent un mécanisme de récupération sociale pour aider les utilisateurs à retrouver leurs clés privées perdues. Ce mécanisme permet aux utilisateurs de sélectionner un groupe de personnes de confiance comme gardiens lors de la création d'un portefeuille. Ces tuteurs peuvent aider les utilisateurs à reprendre le contrôle de leurs comptes en approuvant la réinitialisation de la clé privée d'un utilisateur en cas de perte.
Dans le cadre de ce mécanisme de récupération sociale et de gardiennage, Vitalik a proposé deux points de protection de la vie privée qui méritent une attention particulière :
1)Cacher la corrélation entre plusieurs adresses d'un utilisateur : Pour protéger la vie privée de l'utilisateur, nous devons empêcher que la propriété de plusieurs adresses ne soit révélée lors de l'utilisation d'une seule phrase de récupération pour les récupérer.
2)Protéger la confidentialité des biens de l'utilisateur contre les intrusions des tuteurs : Nous devons veiller à ce que, pendant le processus d'approbation des opérations de l'utilisateur, les tuteurs ne puissent pas obtenir les informations sur les actifs de l'utilisateur ou observer son comportement en matière de transactions, afin d'éviter toute violation de la confidentialité des biens de l'utilisateur.
La technologie clé permettant de réaliser ces deux types de protection de la vie privée est la preuve de l'absence de connaissance.
(1) Questions relatives à la protection de la vie privée dans le cadre de la récupération sociale : les corrélations entre les adresses sont divulguées.
Dans les blockchains telles qu'Ethereum, afin de protéger leur vie privée, les utilisateurs génèrent généralement plusieurs adresses pour diverses transactions. En utilisant une adresse différente pour chaque transaction, vous empêchez les observateurs extérieurs de relier facilement ces transactions au même utilisateur.
Toutefois, si la clé privée de l'utilisateur est perdue, les fonds sous plusieurs adresses générés par la clé privée ne seront pas récupérés. Dans ce cas, un redressement social est nécessaire. Une méthode de récupération simple consiste à récupérer plusieurs adresses en un seul clic, l'utilisateur utilisant la même phrase de récupération pour récupérer plusieurs adresses générées par une clé privée. Mais cette approche n'est pas idéale, car l'intention initiale des utilisateurs générant des adresses multiples est d'empêcher qu'elles soient liées les unes aux autres. Si un utilisateur choisit de restaurer toutes les adresses en même temps ou à un moment similaire, cela revient en fait à révéler au monde extérieur que ces adresses appartiennent au même utilisateur. Cette pratique va à l'encontre de l'objectif initial des utilisateurs qui créent plusieurs adresses pour protéger leur vie privée. Cela pose un problème de protection de la vie privée dans le cadre du processus de récupération sociale.
(2) Solution ZK : Comment éviter que la corrélation de plusieurs adresses ne soit divulguée ?
La technologie ZK peut être utilisée pour masquer la corrélation entre plusieurs adresses d'un utilisateur sur la blockchain. Répondre aux préoccupations relatives à la protection de la vie privée lors du rétablissement social grâce à une architecture qui sépare la logique de vérification et les actifs détenus.
1) Logique de vérification : Les utilisateurs ont plusieurs adresses sur la blockchain, mais la logique de vérification de toutes ces adresses est liée à un contrat d'authentification principal (contrat keystore).
2) Détention et échange d'actifs : Lorsque les utilisateurs opèrent à partir de n'importe quelle adresse, ils utilisent la technologie ZK pour vérifier l'autorité de l'opération sans révéler de quelle adresse il s'agit.
De cette manière, même si toutes les adresses sont connectées au même contrat de stockage de clés, les observateurs externes ne peuvent pas déterminer si ces adresses appartiennent au même utilisateur, ce qui permet de protéger la vie privée entre les adresses.
Il est très important de concevoir une solution de récupération sociale privée qui puisse récupérer plusieurs adresses d'utilisateurs en même temps sans révéler la corrélation entre les adresses.
(1) Questions relatives à la vie privée : Privilèges du tuteur
Dans les blockchains telles qu'Ethereum, les utilisateurs peuvent définir plusieurs gardiens lors de la création d'un portefeuille. Le rôle du gardien est crucial, en particulier pour les portefeuilles multisig et les portefeuilles de récupération sociale. En règle générale, un gardien est un ensemble de N adresses détenues par d'autres personnes, où M adresses peuvent approuver une opération.
Quels sont les privilèges des tuteurs ? par exemple :
1) Dans le cas d'un portefeuille à signatures multiples, chaque transaction doit être signée par M des N gardiens avant de pouvoir être effectuée.
2) Pour le portefeuille de récupération sociale, si la clé privée de l'utilisateur est perdue, M gardiens sur N doivent signer un message pour réinitialiser la clé privée.
Les tuteurs peuvent approuver vos actions. En multisig, il s'agit de n'importe quelle transaction. Dans les portefeuilles de récupération sociale, il s'agit de réinitialiser la clé privée de votre compte. L'un des défis auxquels est confronté le mécanisme de tutelle aujourd'hui est de savoir comment protéger la confidentialité financière des utilisateurs contre les violations commises par les tuteurs.
(2) Solution ZK : Protéger la vie privée des utilisateurs contre l'intrusion des gardiens
Vitalik envisage dans cet article que ce que le gardien protège n'est pas votre compte, mais un contrat de "lockbox", et que le lien entre votre compte et ce lockbox est caché. Cela signifie que les tuteurs ne peuvent pas accéder directement au compte de l'utilisateur et qu'ils ne peuvent agir que par le biais d'un contrat caché de type "lockbox".
Le rôle principal de ZK est de fournir un système de preuve qui permet aux tuteurs de prouver qu'une certaine déclaration est vraie sans révéler les détails spécifiques de la déclaration. Dans ce cas, les gardiens peuvent utiliser les ZK-SNARK pour prouver qu'ils ont la permission d'effectuer une action sans révéler aucun détail sur le lien entre le compte et le coffre-fort.
Bien que la piste Ethereum ZK soit encore en phase de développement et que de nombreux concepts et idées novateurs soient encore en cours de conception et de recherche, l'écosystème Ethereum a déjà lancé des activités d'exploration réelles plus étendues.
(1) Financement de la Fondation Ethereum
En septembre de cette année, la Fondation Ethereum a financé deux projets sur la protection de la vie privée, IoTeX et ZK-Team. IoTex est un portefeuille d'abstraction de compte basé sur des preuves à connaissance nulle, et ZK-Team s'engage à permettre aux organisations de gérer les membres de leur équipe tout en préservant leur vie privée.
(2) Investissement
En octobre dernier, le cofondateur d'Ethereum, Vitalik, a investi dans Nocturne Labs, qui vise à introduire des comptes privés dans Ethereum. Les utilisateurs disposeront d'un compte "interne" dans Nocturne,La façon dont les fonds sont reçus/décaissés à partir de ces comptes est anonyme. Grâce à la technologie ZK, les utilisateurs peuvent prouver qu'ils disposent de fonds suffisants pour effectuer des paiements, des promesses de dons et d'autres transactions.
(3) Réunions et activités
ETHDenver est considéré comme l'un des plus importants événements liés à Ethereum et à la technologie blockchain dans le monde. En mars de cette année, l'ETHDenver a organisé un événement spécial sur la protection de la vie privée. Cet événement démontre non seulement l'intérêt de la communauté Ethereum pour les questions de protection de la vie privée, mais reflète également l'importance accordée par la communauté mondiale de la blockchain à la protection de la vie privée. Lors de cet événement spécial, neuf conférences thématiques sur la protection de la vie privée ont été organisées, dont Privacy by Design (protection de la vie privée dès la conception) et Privacy vs Security (protection de la vie privée contre la sécurité).
EDCON (Ethereum Community Conference) est une conférence annuelle mondiale organisée par la communauté Ethereum, visant à promouvoir le développement et l'innovation d'Ethereum et à renforcer les liens et la coopération de la communauté Ethereum. Lors de la conférence EDCON de cette année, en mai, Vitalik a fait une déclaration importante : "Dans les dix prochaines années, les ZK-SNARK seront aussi importants que la blockchain". Cette déclaration souligne la position importante des ZK-SNARK dans la tendance de développement de la technologie blockchain.
(4) Projet
À l'heure actuelle, certains projets de couche d'application ont commencé à utiliser la technologie ZK pour fournir des services de protection de la vie privée aux utilisateurs et aux transactions. Ces projets de couche d'application sont appelés ZK Applications. Par exemple, l'application ZK a été déployée sur Ethereum, unyfy, une bourse d'actifs privée. Les prix des ordres de négociation sont cachés et l'intégrité de ces ordres à prix cachés est vérifiée par la technologie ZK. Outre unyfy, il existe d'autres applications ZK sur les L2, telles que ZigZag et Loopring. Bien que ces applications ZK mettent en œuvre des fonctions de protection de la vie privée basées sur ZK, elles ne peuvent actuellement pas être déployées sur Ethereum car l'EVM ne peut pas exécuter directement ces applications ZK.
(5) Recherche
En outre, des chercheurs ont mené des discussions animées sur la technologie ZK et ses applications sur la plateforme Ethereum Research. Parmi eux, un article de recherche de Salus consacré àUse ZK to promote privacy protection and other implémentations in the Ethereum application layer (Utiliser ZK pour promouvoir la protection de la vie privée et d'autres implémentations dans la couche d'application d'Ethereum). Cet article teste les performances de plusieurs langages ZK différents, Circom, Noir et Halo2, et les résultats montrent que Circom a de meilleures performances. Cet article propose également une solution générale pour intégrer Circom dans Solidity afin de mettre en œuvre des projets de couche applicative Ethereum basés sur ZK. Cela a des conséquences importantes pour la transition d'Ethereum en matière de protection de la vie privée. Cette étude a connu un succès important en 2023, se classant en tête de liste.
Cet article de recherche est le plus lu de 2023 sur Ethereum Research -- by Salus
Bien que de nombreux projets existants de la couche applicative d'Ethereum aient un besoin urgent d'introduire des mécanismes de protection de la vie privée basés sur ZK, ce processus est confronté à une série de défis.
2 Limites du langage de développement ZK : des langages tels que Rust, Cairo, Halo2, etc. sont utilisés pour développer des circuits de preuve ZK, mais ils ne sont généralement applicables qu'à des scénarios spécifiques et ne conviennent pas aux projets de couche d'application. Certains de ces langages, comme Cairo, en sont encore au stade expérimental et peuvent présenter des problèmes de compatibilité entre les différentes versions, ce qui accroît la difficulté et la complexité de leur adoption dans des applications réelles.
3.Difficulté de mise en œuvre de la technologie ZK:La solution proposée par Vitalik pour appliquer la technologie ZK à la protection de la vie privée sur Ethereum peut être confrontée à une variété de problèmes complexes dans la mise en œuvre réelle, tels que la façon d'éviter que les transactions privées ne soient soumises à des attaques de cumul d'équilibre et à des attaques de double dépense. attendez. La résolution de ces problèmes se heurte à certaines difficultés techniques.
Protection de la vie privée et conformité : Bien que les transactions privées puissent protéger l'identité des utilisateurs et les détails des transactions, elles peuvent également dissimuler des activités illégales, telles que le blanchiment d'argent. À l'avenir, il reste à vérifier si les applications ZK sur Ethereum peuvent se conformer aux réglementations lors de la mise en œuvre de la protection de la vie privée.
Malgré les difficultés, le déploiement à grande échelle des applications ZK est une condition préalable à la transformation d'Ethereum en matière de protection de la vie privée, en garantissant des transferts de fonds préservant la vie privée et en veillant à ce que tous les autres outils en cours de développement (récupération sociale, identité, réputation) préservent la vie privée. Comme indiqué ci-dessus, la recherche publiée par Salus est basée sur la technologie ZK pour promouvoir la protection de la vie privée et d'autres fonctions de la couche d'application Ethereum. De plus, Salus a proposé pour la première fois une solution universelle qui intègre Circom et Solidity et qui s'applique aux projets de couche applicative Ethereum. Il met en œuvre le système de preuve ZK hors chaîne basé sur Circom et met en œuvre les contrats intelligents et la logique de vérification ZK sur Ethereum basée sur Solidity. Si vous avez besoin d'aide ou si vous avez des questions, n'hésitez pas à contacter Salus.
En 2023, la communauté Ethereum, dirigée par Vitalik Buterin, a exploré en profondeur le potentiel de la technologie de preuve à connaissance nulle dans le but d'améliorer la fonction de protection de la vie privée de la plateforme. Bien que ces propositions en soient encore au stade de la recherche, les recherches et les articles de Vitalik, en particulier sur l'équilibre entre la protection de la vie privée et la conformité, jettent les bases théoriques d'une technologie à connaissance nulle destinée à protéger la vie privée des utilisateurs.
Bien que l'intégration de la technologie des preuves à connaissance nulle dans Ethereum pose des problèmes, la technologie arrivant à maturité et la communauté poursuivant ses efforts, les preuves à connaissance nulle devraient jouer un rôle plus important dans l'écosystème Ethereum dans un avenir proche. Par conséquent, une participation opportune et une exploration active de ce domaine, en profitant des premières opportunités, permettront d'occuper une position favorable dans ce domaine émergent.