La technologie de la preuve à zéro connaissance expliquée : une étoile montante qui enflamme le grand pouvoir de DeFi

IntermédiaireJan 08, 2024
Cet article présente les défis en matière de protection de la vie privée posés par la transparence dans le secteur du financement participatif et explique comment utiliser la technologie de la preuve à connaissance nulle zk pour résoudre des problèmes tels que les transactions en avance sur le marché, la manipulation des liquidités et le prêt de crédit.
La technologie de la preuve à zéro connaissance expliquée : une étoile montante qui enflamme le grand pouvoir de DeFi

I. Introduction

La finance décentralisée (DeFi) est un axe de croissance crucial dans le domaine actuel de l'innovation financière. Dans DeFi, il est essentiel de masquer les informations relatives aux transactions et de protéger la vie privée de l'utilisateur. Au fur et à mesure que DeFi se développe et évolue, de nombreux projets voient le jour et font preuve d'une grande vitalité. De plus, la technologie ZK (zeroknowledge proof) a ouvert de nouvelles possibilités pour la protection de la vie privée dans DeFi. La technologie ZK permet à une partie de prouver à une autre partie qu'elle connaît un élément d'information sans révéler de détails spécifiques sur cette information. Cette technologie est utilisée dans les applications DeFi telles que ZigZag 、unyfy et ZK DEX, ce qui a considérablement amélioré les capacités de protection de la vie privée de DeFi, en particulier la protection des informations relatives aux transactions. Il est prévisible que l'application généralisée de la technologie ZK innovera la manière dont DeFi et l'ensemble du secteur des crypto-monnaies sont gérés, favorisant ainsi la croissance future de l'ensemble du secteur et réalisant des percées majeures.

2. Défis en matière de protection de la vie privée

La blockchain n'a pas de secrets et la transparence des données de DeFi est incontestable. Prenons l'exemple d'une transaction sur Uniswap V3. Nous pouvons facilement consulter les détails de la transaction sur le site web d'Etherescan (voir figure 1). Par exemple, l'adresse [0 x 3A 4 D...a 6 f 2] a échangé 2 WETH contre 17, 654, 123, 249, 375 Bonk sur Uniswap V3, et la commission d'échange était de 0,0046 Ether. Des informations clés telles que l'expéditeur, le destinataire, le montant de la transaction (valeur) et les frais de transaction sont toutes accessibles au public.

Figure 1 Détails de la transaction divulgués sur etherescan

Nous pouvons également visualiser toutes les transactions enregistrées sous l'adresse [0 x 3A 4 D...a 6 f 2] (comme le montre la figure 2). Si les conditions le permettent, il est possible de déduire la véritable identité de cette adresse dans le monde réel.

Figure 2 Une liste de toutes les transactions pour une adresse spécifique est rendue publique sur etherescan.

Cependant, la transparence des données de DeFi peut avoir quelques inconvénients. Si vous êtes une baleine DeFi, chacune de vos transactions peut attirer l'attention du marché. Par exemple, lorsqu'une baleine retire 11,24 millions de WOO (environ 4,2 millions de dollars) de Binance, cette transaction attire l'attention. De même, tout paiement d'un montant élevé ou toute transaction au niveau institutionnel peut également susciter de vives inquiétudes de la part du public.

D'autres acteurs du marché peuvent prendre des décisions d'achat et de vente sur la base de ces comportements de négociation, ce qui peut avoir un effet négatif sur votre stratégie d'investissement. Par exemple, vous investissez une somme importante dans un certain projet, mais une fois que votre transaction est remarquée par le marché, d'autres investisseurs peuvent suivre, ce qui entraîne une hausse des prix des actifs, augmentant ainsi le coût de votre investissement. En outre, votre opération de vente peut également déclencher une panique sur le marché, entraînant une chute des prix et affectant le rendement de votre investissement.

Cette situation met en évidence le besoin urgent de protection de la vie privée dans le cadre des projets et des utilisateurs de DeFi. Si nous ne voulons pas que les détails de nos transactions soient connus du public, nous pouvons choisir de garder certaines informations sur nos transactions DeFi privées.

La technologie ZK permet de garantir la légitimité des transactions tout en dissimulant les détails de celles-ci. Les utilisateurs doivent soumettre deux types d'informations : l'une est une transaction (une transaction privée) qui cache partiellement des détails (tels que le destinataire ou le montant de la transaction), et l'autre est un certificat ZK concernant cette information cachée. Vérifier la légitimité d'une transaction privée revient à vérifier le certificat ZK correspondant.

3. Libérer le potentiel de DeFi : les possibilités offertes par la technologie ZK

3.1 Le rôle de la technologie ZK dans la lutte contre le front-running

Supposons que vous ayez la chance d'apprendre qu'une grande entreprise est sur le point d'acheter une grande quantité d'un certain actif. Vous pouvez choisir d'acheter cet actif avant la société. Ensuite, lorsque le prix de l'actif est poussé à la hausse par les achats massifs de cette entreprise, vous le vendez avec un bénéfice. Dans ce cas, l'opération que vous réalisez avant les grands acteurs est une opération d'anticipation.

Le front-running est une stratégie d'investissement dans les transactions financières, qui se produit généralement sur des bourses telles qu'Uniswap. En effet, les transactions dans la blockchain sont connues du public et la confirmation des transactions prend un certain temps. Par conséquent, certains opérateurs malveillants peuvent augmenter les frais de gaz d'échange pour permettre à leurs transactions d'être minées et confirmées avant celles des autres, afin d'atteindre l'objectif de transactions en avance sur leur temps.

Les opérations en avance sur le marché peuvent entraîner des pertes pour d'autres opérateurs, car elles modifient l'environnement commercial initial, de sorte que les opérations d'autres opérateurs peuvent ne pas se dérouler comme prévu. D'autre part, les attaquants lancent des transactions en avance sur le marché afin de réaliser des bénéfices. Ils peuvent réaliser des bénéfices avant que le prix ne change. C'est pourquoi de nombreux projets DeFi prennent également diverses mesures pour empêcher les transactions en avance sur le marché.

La technologie ZK joue un rôle clé dans la résistance aux transactions en avance sur le marché. Ci-dessous, nous prenons l'exemple de l'attaque "sandwich", qui est également un type courant de transaction en avance sur le marché, dans le cadre de la bourse décentralisée (DEX).

3.1.1 Étude de cas : Attaque au sandwich dans les DEX

Qu'est-ce qu'un attentat au sandwich ?

Supposons que sur une DEX, il y ait un pool de liquidités avec une réserve de 100 ETH / 300 000 USDT. Alice passe un ordre d'achat d'USDT, en échangeant 20 ETH contre des USDT. Lorsqu'elle soumet l'ordre, le DEX renvoie un résultat basé sur la réserve actuelle du pool de liquidités, indiquant à Alice qu'environ 50 000 USDT sont disponibles à l'achat. Mais en fait, Alice n'a reçu que 45 714 USDT au final.

Expliquons d'abord brièvement pourquoi Alice peut utiliser 20 ETH pour acheter 50 000 USDT. Ce DEX adopte le modèle de teneur de marché automatisé (AMM), qui calcule automatiquement les prix d'achat et de vente grâce à l'algorithme de teneur de marché à produit constant (CPMM). Le CPMM est un algorithme de teneur de marché automatisé actuellement très répandu qui maintient un produit constant de deux actifs dans le pool de négociation afin d'assurer l'approvisionnement en liquidités et d'ajuster automatiquement les prix des actifs. Dans cet exemple, le montant de USDT qu'Alice peut acheter est calculé à l'aide de la formule [50 000 = 300 000-(100* 300 000)/(100+ 20) (en supposant qu'il n'y a pas de frais de gestion)].

Alice n'a pas acheté le montant prévu de USDT parce qu'elle a été victime d'une attaque de sandwich.

Les attaques de type "sandwich" se produisent principalement dans les DEX basés sur l'AMM. Dans cette attaque, l'attaquant place deux transactions autour des transactions régulières de la victime afin de manipuler les prix des actifs et de profiter des pertes de la victime. Ces deux opérations sont respectivement des opérations d'anticipation et des opérations de suivi. La transaction qui précède la transaction régulière est appelée transaction en avance et la transaction qui suit la transaction régulière est appelée transaction de suivi.

Comment l'attaque du sandwich d'Alice a-t-elle fonctionné ? Comme le montre la figure 3.

Figure 3 Fonctionnement de l'attaque Sandwich

  1. Le pirate initie une transaction en avance sur son temps : Avant que la transaction initiée par Alice pour acheter des USDT ne soit exécutée, l'attaquant a également initié une transaction pour acheter des USDT (front-running transaction), c'est-à-dire qu'il a échangé 5 ETH contre des USDT. En outre, les frais de gaz payés par l'attaquant au mineur pour cette transaction sont plus élevés que ceux d'Alice, de sorte que la transaction de l'attaquant sera exécutée avant celle d'Alice.

  2. Après avoir exécuté la transaction d'achat de USDT, l'attaquant a obtenu environ 14 286 USDT du pool de liquidités, c'est-à-dire 14 286 ≈ 300 000-( 100* 300 000)/( 100+ 5). La réserve du pool de liquidité est passée de 100 ETH / 300 000 USDT à 105 ETH / 285 714 USDT. Cependant, Alice ne sait pas que la réserve du pool de liquidités a changé entre le moment où elle soumet la transaction et le moment où elle l'exécute.

  3. Exécutez la transaction normale d'Alice : La transaction normale d'Alice commence ensuite à s'exécuter.

  4. Après l'exécution de la transaction d'Alice visant à acheter des USDT, elle a reçu 45 714 USDT du pool de liquidités, soit 45 714 ≈ 285 714-( 105* 285 714)/( 105+ 20) calculés selon la fonction de produit constant. La réserve de liquidités est passée de 105 ETH / 285 714 USDT à 125 ETH / 240 000 USDT. Par conséquent, Alice aurait dû pouvoir acheter 50 000 USDT avec 20 ETH, mais elle ne peut plus acheter que 45 714 USDT en raison des changements dans le pool de liquidités causés par la transaction de l'attaquant. Alice a perdu environ 4286 USDT (4286 = 50 000-45 714).

  5. La transaction de suivi de l'attaquant : Enfin, l'attaquant a de nouveau initié une transaction (transaction de suivi), c'est-à-dire qu'il a échangé 14 286 USDT contre de l'ETH (les 14 286 USDT venaient d'être achetés).

  6. Après l'exécution de la transaction de suivi de l'attaquant, il a obtenu 7 ETH du pool de liquidités, soit 7 ≈ 125-(125* 240, 000)/(240, 000+ 14, 286). La réserve du pool de liquidités est passée de 125 ETH / 240 000 USDT à 118 ETH / 254 286 USDT. Par conséquent, l'attaquant n'a dépensé que 5 ETH au début, mais a finalement obtenu 7 ETH et a gagné 2 ETH de bénéfice (2 = 7-5).

Pendant toute la durée de l'attaque en sandwich, l'attaquant a initié au total deux transactions, à savoir une transaction en amont et une transaction en aval. En raison de l'opération de front-running, Alice a perdu environ 4286 USDT. En combinant les opérations de front-running et de follow-up, l'attaquant a obtenu un revenu net de 2 ETH.

Dans les DEX, la visibilité des transactions est un facteur clé qui entraîne des attaques en sandwich, en particulier dans les protocoles AMM. Ces protocoles rendent publiques les informations relatives aux transactions en temps réel sur les DEX. Ce niveau élevé de transparence permet aux attaquants d'observer et d'analyser les flux de transactions, dans le but de trouver des opportunités pour mener des attaques en sandwich.

3.1.2 La technologie ZK peut résister aux attaques de sandwichs

L'application de la technologie ZK peut réduire considérablement la possibilité d'attaques par sandwich. En utilisant la technologie ZK pour masquer le volume des transactions, les types d'actifs, les soldes des utilisateurs ou des pools de liquidités, les identités des utilisateurs, les instructions de transaction et d'autres informations liées au protocole, nous pouvons améliorer efficacement la confidentialité des données de transaction. Par conséquent, il est difficile pour l'attaquant d'obtenir des informations complètes sur la transaction pour mettre en œuvre une attaque en sandwich.

En outre, la technologie ZK peut non seulement résister aux attaques par sandwich, mais les transactions privées basées sur la technologie ZK peuvent également rendre plus difficile l'évaluation des modèles de comportement des utilisateurs. Tout tiers qui tente de collecter des données blockchain pour analyser les transactions historiques des comptes, déduire des modèles de comportement, explorer les cycles d'activité, les fréquences de transaction ou les préférences, etc. sera confronté à des défis. Ce type d'analyse, connu sous le nom d'inférence de modèles comportementaux, viole non seulement la vie privée des utilisateurs, mais peut également ouvrir la voie à des attaques de type "honeypot" et à des escroqueries par hameçonnage.

3.2 Empêcher la manipulation des liquidités à l'aide de la technologie ZK

La manipulation de la liquidité et les opérations en avance sur le marché sont deux méthodes d'attaque dans le cadre du projet DeFi. Les deux méthodes d'attaque consistent à tirer parti des informations du marché et de la rapidité des transactions pour obtenir des avantages, mais leurs stratégies et opérations spécifiques sont différentes.

Le "front-running" consiste à tirer profit de l'information, tandis que la manipulation de la liquidité consiste à tirer profit de l'activité du marché pour induire en erreur d'autres opérateurs. Le premier fait principalement des profits en obtenant et en utilisant des informations importantes non divulguées, tandis que le second induit les autres investisseurs en erreur en créant une fausse activité de marché, les amenant à prendre des décisions de négociation défavorables.

La technologie ZK peut non seulement jouer un rôle clé dans la résistance aux transactions en avance sur le marché, mais elle peut également contribuer à prévenir la manipulation des liquidités.

3.2.1 Étude de cas : Manipulation des liquidités à l'aide d'oracles

Supposons que vous achetiez des pommes sur un marché aux fruits très fréquenté. Les prix du marché fluctuent généralement en fonction des variations de l'offre et de la demande. Vous observez généralement les prix sur une période donnée et décidez ensuite d'acheter ou non en fonction du prix moyen. Imaginez maintenant qu'un acheteur très riche entre sur le marché et qu'il souhaite vraiment acheter des pommes. Il a commencé à acheter des pommes en grandes quantités, quel qu'en soit le prix. Cela fera monter en flèche le prix d'Apple en peu de temps. Si vous achetez encore Apple sur la base de ce prix, vous payez probablement plus que ce qu'il vaut réellement.

Cet exemple peut nous aider à mieux comprendre le principe de fonctionnement de l'oracle TWAP (Time-Weighted Average Price, Time-Weighted Average Price) et le concept de manipulation de la liquidité. Le fait de décider d'acheter des pommes sur la base du prix moyen est similaire au fonctionnement de l'oracle TWAP, et l'achat massif de pommes par de riches hommes d'affaires, qui entraîne une hausse des prix, est similaire à la manipulation des liquidités.

L'oracle TWAP détermine le prix des actifs en calculant le prix moyen des transactions sur une période donnée. Plus la transaction est récente, plus l'impact sur le prix moyen est important. Si quelqu'un effectue un grand nombre de transactions ou négocie avec une grande quantité d'argent dans un court laps de temps, ce qui peut affecter de manière significative le prix moyen d'un actif, il s'agit d'une manipulation de la liquidité. La manipulation des liquidités peut entraîner une hausse ou une baisse artificielle des prix des actifs, ce qui se traduit par des informations inexactes sur les prix. Si quelqu'un veut utiliser l'oracle TWAP pour augmenter intentionnellement le prix d'un actif, il peut utiliser une grande quantité d'argent pour acheter l'actif à court terme, provoquant ainsi une hausse temporaire du prix. Si le prix de l'actif monte en flèche pendant cette période, l'oracle du TWAP peut considérer ce prix plus élevé comme le prix de l'actif.

La manipulation de la liquidité des oracles TWAP peut avoir un impact significatif sur les protocoles DeFi, en particulier sur les jetons émergents à faible liquidité. Ces protocoles DeFi prennent souvent des décisions financières, telles que la liquidation, le prêt, etc. en fonction du prix de l'actif. Si les informations sur les prix sont inexactes ou peu fiables, elles peuvent conduire à des décisions erronées, entraînant ainsi des pertes pour les utilisateurs. Il est donc essentiel de protéger les oracles TWAP contre la manipulation des liquidités.

3.2.2 La technologie ZK peut résister à la manipulation des liquidités

La technologie ZK peut aider à résister à la manipulation des liquidités dans l'oracle TWAP. Un contrat intelligent peut être conçu pour s'appuyer sur un oracle TWAP afin d'obtenir le prix d'un actif. Si un pirate manipule les liquidités, le prix obtenu par l'oracle du TWAP peut dépasser la fourchette acceptable prédéfinie. Dans ce cas, le contrat cessera temporairement ses activités. Il recalculera et confirmera ensuite le prix de l'actif sur la base de la technologie ZK.

Pour utiliser la technologie ZK afin de calculer le prix des actifs, vous devez tout d'abord ajouter un contrat wrapper à l'oracle TWAP. Le contrat peut accéder directement à un certain nombre de N rapports de prix ou enregistrer un certain nombre de N valeurs de contrôle du prix à des intervalles arbitraires. Une fois que ces N points de données sont disponibles dans un intervalle donné, une preuve ZK peut être construite pour prouver la médiane du tableau de prix non trié. Le tableau des prix non triés est étiqueté comme un vecteur de colonnes x, de longueur N. Voici le processus de calcul des prix des actifs basé sur la technologie ZK :

  1. La preuve peut être vérifiée de l'une des deux manières suivantes. Dans les deux cas, le prouveur ne peut pas choisir arbitrairement un tableau de prix comme entrée.
  • Récupérez les valeurs des tableaux dans le stockage des contrats et utilisez-les comme entrées publiques dans les validateurs de la chaîne ;
  • Une chaîne de hachage est progressivement formée par la fonction de hachage, représentant le tableau comme une valeur de hachage unique et utilisant cette valeur dans le validateur de la chaîne.
  1. Il existe une matrice N x N A (matrice carrée). Lorsque la matrice est multipliée par le vecteur colonne x, un vecteur colonne y est généré. A est une matrice de permutation inversable, mais comme il peut y avoir des valeurs de prix en double, A n'est pas nécessairement unique, et A ne contient que des valeurs binaires.

  2. Les valeurs de y sont ordonnées. Il convient de souligner que le site < ne peut pas être utilisé car il peut y avoir des doublons de prix.

  3. La sortie publique m du circuit est la valeur médiane de y. La preuve montre que N est une valeur statique lorsque le circuit est compilé, et qu'il doit s'agir d'un nombre impair.

Selon le processus ci-dessus, un prix médian m est produit sur la base de la technologie ZK, qui est inviolable. La médiane peut, dans une certaine mesure, empêcher la manipulation des liquidités. Pour ce faire, nous devons limiter la valeur de y afin de garantir que, dans chaque bloc, la valeur de y n'est insérée qu'une seule fois, ou que le nombre d'insertions est maintenu dans une fourchette acceptable.

3.3 La technologie ZK renforce les plates-formes de prêt

Comme indiqué plus haut, la technologie ZK est résistante au front-running et à la manipulation de la liquidité dans les DEX. Pouvons-nous donc explorer plus avant les possibilités d'application de la technologie ZK dans d'autres scénarios DeFi ? Par exemple, la technologie ZK peut également jouer un rôle clé dans l'octroi de prêts, un élément important des projets DeFi.

3.3.1 La clé du crédit : Comment évaluer la solvabilité de l'emprunteur

Sur les plateformes de prêt traditionnelles, le processus de demande de prêt se déroule généralement en cinq étapes : soumission de la demande, évaluation du crédit, approbation du prêt, émission du prêt et remboursement. Parmi eux, l'évaluation du crédit est cruciale. L'emprunteur doit prouver que ses revenus correspondent à la norme et qu'il a la capacité de rembourser. Au cours du processus d'évaluation, la plateforme mènera une enquête approfondie sur les antécédents de crédit de l'emprunteur, y compris ses revenus, ses dettes et ses antécédents de remboursement, afin de s'assurer que l'emprunteur a la capacité de rembourser le prêt. Ce n'est que sur cette base que la plateforme envisagera d'approuver la demande de prêt.

En revanche, si vous vous tournez vers les plateformes de prêt DeFi telles que Ghost ou Compound, la situation sera différente. En raison de leur nature décentralisée, la plupart des plateformes de prêt DeFi ne disposent pas des procédures KYC (Know Your Customer) et des procédures d'évaluation des risques des banques traditionnelles, et elles ne peuvent pas enquêter sur le statut de crédit des emprunteurs par le biais de bureaux de crédit communs. Dans ce cas, vous vous demandez peut-être comment mon crédit sera évalué.

Sur les plateformes de prêt DeFi, vous pouvez prouver votre solvabilité par le biais d'un jeton de réputation. Le jeton de réputation est un système de crédit basé sur la technologie blockchain, qui utilise des jetons numériques pour représenter et quantifier la réputation des utilisateurs. Le nombre de jetons de réputation est devenu un indicateur clé pour évaluer la solvabilité d'un utilisateur. Plus le nombre de jetons est élevé, plus la réputation de l'utilisateur est bonne et plus sa cote de crédit s'améliore, ce qui lui permet d'obtenir davantage de lignes de crédit sur la plateforme de prêt DeFi.

Cependant, la génération de jetons de réputation repose sur l'historique des transactions et les informations financières des utilisateurs, ce qui peut constituer une violation de leur droit à la vie privée.

3.3.2 Évaluer le crédit de l'emprunteur : jeton de réputation basé sur la technologie ZK

La technologie ZK protège la vie privée des utilisateurs. La combinaison de la technologie ZK et des jetons de réputation peut protéger la vie privée des utilisateurs tout en maintenant et en suivant leur réputation dans le réseau.

Les utilisateurs peuvent utiliser la technologie ZK pour générer des jetons de réputation sans divulguer l'historique des transactions. D'une part, les utilisateurs peuvent générer des preuves de transactions historiques basées sur la technologie ZK ; d'autre part, la preuve est vérifiée par un contrat intelligent (souvent appelé contrat de génération de jetons de réputation), et des jetons de réputation peuvent être générés si la vérification réussit.

En outre, sur certaines plateformes de prêt DeFi qui exigent un surdimensionnement, les jetons de réputation peuvent réduire les exigences en matière de garantie, ce qui résout le problème du surdimensionnement et améliore la liquidité du marché. L'application des jetons de réputation basés sur la technologie ZK va au-delà des plateformes de prêt DeFi pour être largement utilisée dans l'assurance, les subventions médicales et d'autres domaines.

4. Résumé & Attentes

Cet article explore les différents scénarios d'application de la technologie ZK pour la protection de la vie privée dans DeFi, en particulier son rôle clé dans le prêt et son grand potentiel pour résister à la manipulation de la liquidité. En explorant DeFi, nous sommes confrontés à plusieurs défis, en particulier les questions liées à la vie privée et à la sécurité. Les défis en matière de protection de la vie privée dans l'écosystème DeFi sont un sujet clé, et la technologie ZK fournit une solution unique qui non seulement renforce la protection de la vie privée, mais améliore également l'efficacité et la sécurité des transactions. Si vous souhaitez introduire la technologie ZK dans votre DApp, n'hésitez pas à contacter Salus.

À l'avenir, la technologie ZK pourrait être appliquée à des domaines plus profonds du DeFi, tels que la mise en jeu de liquidités, les protocoles de produits dérivés, les actifs du monde réel, l'assurance, etc. Salus se concentre sur la recherche et l'exploration de l'application de la technologie ZK dans DeFi et d'autres projets de couche d'application Ethereum. Nous invitons sincèrement les chercheurs en blockchain, les développeurs de technologies et tous les professionnels du domaine du web3 dans le monde entier à travailler avec nous pour promouvoir le développement approfondi et l'application généralisée de la technologie ZK, afin de stimuler la croissance de DeFi et même de l'industrie dans son ensemble.

Clause de non-responsabilité:

  1. Cet article est repris de[odaily]. Tous les droits d'auteur appartiennent à l'auteur original[LZ]. Si vous avez des objections à cette réimpression, veuillez contacter l'équipe de Gate Learn, 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
!
Создайте аккаунт