Discuté des différents scénarios d’application de la technologie ZK pour assurer la protection de la vie privée dans DeFi, en particulier de son potentiel pour résister aux transactions initiales, à la manipulation de liquidités et aux prêts.
Écrit par : Salus
La finance décentralisée (DeFi) constitue une direction de développement importante dans le domaine actuel de l’innovation financière. Dans DeFi, masquer les informations de transaction et préserver la confidentialité des utilisateurs est crucial. Alors que DeFi continue de se développer et de s’approfondir, divers projets émergent sans cesse et sont pleins de vitalité. L’application de la technologie Zero Knowledge Proof (ZK) a ouvert de nouvelles possibilités de protection de la vie privée dans DeFi. La technologie ZK permet à une partie de prouver à une autre partie qu’elle connaît une information sans révéler de détails spécifiques sur cette information. L’application de cette technologie dans des projets DeFi tels que ZigZag, unyfy et ZK DEX d’OKX a considérablement amélioré les capacités de protection de la vie privée de DeFi, en particulier la protection des informations sur les transactions. Il est prévisible que l’application généralisée de la technologie ZK entraînera des innovations dans la manière dont DeFi et l’ensemble du domaine des cryptomonnaies sont gérés, favorisera le développement futur de l’ensemble du domaine et réalisera des percées majeures.
Il n’y a aucun secret sur la blockchain et la transparence des données de DeFi est incontestable. En prenant une transaction sur Uniswap V3 comme exemple, nous pouvons facilement visualiser les détails de la transaction via le site Web Etherescan (comme le montre la figure 1). Par exemple, l’adresse 0x3A4D…a6f2 a échangé 2 WETH contre 17 654 123 249 375 Bonk sur Uniswap V3, et les frais de transaction étaient de 0,0046 Ether. Les informations clés telles que l’expéditeur (From), le destinataire (To), le montant de la transaction (Value) et les frais de transaction (Transaction Fee) dans ces transactions sont toutes accessibles au public.

Figure 1 : Détails de la transaction divulgués sur Ethereumscan
Nous pouvons également visualiser tous les enregistrements de transactions sous l’adresse 0x3A4D…a6f2 (comme le montre la figure 2). Si les conditions le permettent, nous pouvons également déduire la véritable identité de cette adresse dans le monde réel.

Figure 2 La liste de toutes les transactions pour une adresse spécifique est publique sur Ethereum
Cependant, la transparence des données de DeFi peut présenter certains 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 attirera une attention considérable. De même, tout paiement de grande valeur ou toute transaction au niveau institutionnel peut également susciter une inquiétude généralisée dans l’opinion publique.
D’autres acteurs du marché peuvent prendre des décisions d’achat et de vente sur la base de ces comportements de trading, ce qui peut avoir un impact négatif sur votre stratégie d’investissement. Par exemple, vous investissez une grosse somme d’argent dans un certain projet, mais une fois que votre transaction est remarquée par le marché, d’autres investisseurs peuvent emboîter le pas, provoquant une hausse des prix des actifs, augmentant ainsi vos coûts d’investissement. De plus, votre opération de vente peut également déclencher une panique sur le marché, provoquant une chute des prix et affectant le rendement de vos investissements.
Cette situation met en évidence le besoin urgent de protection de la vie privée des projets et des utilisateurs DeFi. Si nous ne souhaitons pas que les détails de nos transactions soient connus du public, nous pouvons choisir de garder privées certaines informations sur les transactions DeFi.
La technologie ZK peut garantir la légitimité des transactions tout en masquant les détails des transactions. Les utilisateurs doivent soumettre deux types d’informations : l’une est une transaction qui masque partiellement les détails (tels que le destinataire ou le montant de la transaction) (c’est-à-dire une transaction privée), et l’autre est un certificat ZK concernant ces informations cachées. Vérifier la légitimité d’une transaction privée revient en fait à vérifier le certificat ZK correspondant.
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 l’entreprise. Ensuite, lorsque des achats massifs de cette entreprise font monter le prix de l’actif, vous le vendez avec profit. Dans ce cas, votre transaction devant les grands acteurs constitue une transaction de premier plan.
Le frontrunning est une stratégie d’investissement dans le trading financier qui se produit généralement sur des bourses, telles qu’Uniswap. En effet, les transactions dans la blockchain sont publiques et la confirmation des transactions prend un certain temps. Par conséquent, certains traders malveillants peuvent augmenter les frais de transaction pour permettre à leurs transactions d’être extraites et confirmées avant celles d’autres personnes, afin d’atteindre l’objectif de transactions anticipées.
Les transactions anticipées peuvent nuire aux autres traders, car elles modifient l’environnement commercial d’origine, de sorte que les transactions des autres traders peuvent ne pas se dérouler comme prévu initialement. D’un autre côté, les attaquants lancent des transactions en amont pour réaliser des bénéfices pour eux-mêmes, avant que les prix ne changent. Par conséquent, de nombreux projets DeFi tentent également d’empêcher les transactions anticipées par diverses méthodes.
La technologie ZK peut jouer un rôle clé dans la lutte contre les transactions de pointe. Ci-dessous, nous prenons comme exemple l’attaque sandwich dans l’échange décentralisé (DEX), qui est également un type courant de transaction de premier plan pour l’analyse de cas.
Qu’est-ce qu’une attaque sandwich ?
Supposons que sur un DEX, il existe un pool de liquidités avec un statut de réserve de 100 ETH / 300 000 USDT. Alice lance une transaction pour acheter de l’USDT, échangeant 20 ETH contre de l’USDT. Lorsqu’elle soumettra la transaction, le DEX renverra un résultat basé sur l’état actuel des réserves du pool de liquidité, indiquant à Alice qu’elle peut acheter environ 50 000 USDT. Mais en fait, Alice n’a finalement reçu que 45 714 USDT.
Ici, comprenons d’abord brièvement pourquoi Alice peut acheter 50 000 USDT avec 20 ETH. Le DEX adopte le modèle Automated Market Maker (AMM) et calcule automatiquement le prix d’achat et de vente via l’algorithme Constant Product Market Maker (CPMM). CPMM est un algorithme de teneur de marché automatisé actuellement populaire qui maintient un produit constant de deux actifs dans le pool de négociation pour assurer l’approvisionnement en liquidités et ajuster automatiquement les prix des actifs. Dans cet exemple, le montant d’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 traitement).
Alice n’a pas acheté le montant attendu d’USDT car elle a subi une attaque de sandwich.
Les attaques sandwich se produisent principalement dans les DEX basés sur AMM. Dans une attaque sandwich, l’attaquant place deux transactions autour des transactions habituelles de la victime pour manipuler les prix des actifs et profiter des pertes de la victime. Ces deux transactions sont respectivement des transactions initiales et des transactions de suivi.La transaction précédant la transaction régulière est appelée transaction initiale et la transaction après la transaction régulière est appelée transaction de suivi.
Alors, comment s’est déroulée l’attaque sandwich d’Alice ? Comme le montre la figure 3.

Figure 3 Processus d’attaque sandwich
Transaction préemptive de l’attaquant : avant l’exécution de la transaction initiée par Alice pour acheter de l’USDT, l’attaquant a également lancé une transaction pour acheter de l’USDT (transaction préemptive), c’est-à-dire échanger 5 ETH contre de l’USDT. De plus, les frais de gaz payés par l’attaquant au mineur pour cette transaction sont supérieurs à ceux d’Alice, donc la transaction de l’attaquant sera exécutée avant Alice.
Une fois la transaction d’achat de l’USDT exécutée par l’attaquant, il a obtenu environ 14 286 USDT du pool de liquidité, 14 286≈300 000-(100*300 000)/(100+5). La réserve du pool de liquidité est passée de l’état initial de 100 ETH / 300 000 USDT à 105 ETH / 285 714 USDT. Cependant, Alice ne sait pas que l’état de réserve du pool de liquidité a changé entre le moment où elle soumet la transaction et le moment où sa transaction est exécutée.
Transaction régulière de la victime : La transaction régulière d’Alice est ensuite exécutée.
Après l’exécution de la transaction d’Alice pour acheter de l’USDT, elle a reçu 45 714 USDT du pool de liquidité (selon la fonction de produit constante, 45 714≈285 714-(105*285 714)/(105+20)). Le statut de réserve de liquidité est passé 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 désormais acheter que 45 714 USDT en raison des changements dans le pool de liquidités provoqués par la transaction de l’attaquant. Alice a perdu environ 4 286 USDT (4 286 = 50 000-45 714).
Transaction de suivi de l’attaquant : Enfin, l’attaquant a lancé à nouveau une transaction (transaction de suivi), c’est-à-dire l’échange de 14 286 USDT contre de l’ETH (ces 14 286 USDT ont été achetés tout à l’heure).
Après l’exécution de la transaction de suivi de l’attaquant, il a retiré 7 ETH du pool de liquidité (fonction de produit définie, 7≈125-(125*240 000)/(240 000+14 286)). Le statut de réserve du pool de liquidité est passé 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 (2=7-5).
Pendant tout le processus d’attaque sandwich, l’attaquant a initié un total de deux transactions, à savoir une transaction initiale et une transaction de suivi. La transaction initiale a fait perdre à Alice environ 4 286 USDT. La combinaison des transactions initiales et de suivi a permis à l’attaquant de gagner 2 ETH.
Dans les DEX, la publicité des transactions est un facteur clé conduisant à l’émergence d’attaques sandwich, notamment dans les protocoles AMM. Ces protocoles rendent publiques les informations en temps réel sur les transactions sur les DEX. Cette grande transparence offre aux attaquants la possibilité d’observer et d’analyser les flux de transactions afin de trouver des opportunités de mener des attaques sandwich.
L’application de la technologie ZK peut réduire considérablement le risque d’attaques 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, la confidentialité des données de transaction peut être efficacement améliorée. En conséquence, il est difficile pour l’attaquant d’obtenir des informations complètes sur la transaction, ce qui rend plus difficile la mise en œuvre d’une attaque sandwich.
De plus, la technologie ZK peut non seulement résister aux attaques sandwich, mais les transactions privées basées sur ZK peuvent également augmenter la difficulté de juger les 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 ou préférences des transactions, etc., sera confronté à des défis. Ce type d’analyse, connu sous le nom d’inférence de modèle comportemental, viole non seulement la vie privée des utilisateurs, mais peut également ouvrir la voie à des attaques de pots de miel et à des escroqueries par phishing.
La manipulation de liquidités et le trading frontal sont deux méthodes d’attaque dans DeFi. Les deux méthodes d’attaque impliquent l’utilisation des informations du marché et de la vitesse des transactions pour obtenir des avantages, mais leurs stratégies et méthodes opérationnelles spécifiques sont différentes.
Le front-running consiste à tirer parti de l’information, tandis que la manipulation de la liquidité consiste à profiter de l’activité du marché pour induire les autres traders en erreur. Le premier réalise principalement des bénéfices en obtenant et en utilisant des informations importantes non divulguées, tandis que le second induit les autres investisseurs en erreur en créant de fausses activités de marché, les amenant à prendre des décisions commerciales défavorables.
La technologie ZK peut non seulement jouer un rôle clé dans la résistance aux transactions de premier plan, mais elle peut également contribuer à prévenir la manipulation des liquidités.
Supposons que vous achetiez des pommes dans un marché aux fruits très fréquenté. Les prix du marché fluctuent généralement en fonction des changements de l’offre et de la demande. Vous surveillez généralement les prix sur une période donnée, puis décidez d’acheter ou non en fonction du prix moyen. Imaginez maintenant qu’un acheteur très riche entre sur le marché et qu’il veuille vraiment acheter des pommes. Il a commencé à acheter des pommes en grande quantité, quel que soit le prix. Cela fera monter en flèche le prix d’Apple dans un court laps de temps. Si vous achetez toujours Apple sur la base de ce prix, vous payez probablement plus que ce qu’il vaut réellement.
Cet exemple permet de mieux comprendre le principe de fonctionnement de l’oracle TWAP (Time-Weighted Average Price) et le concept de manipulation de liquidité. Le fait de décider d’acheter des pommes sur la base du prix moyen s’apparente au fonctionnement de l’oracle TWAP : l’achat de pommes par de riches hommes d’affaires en grande quantité provoquant une hausse des prix s’apparente à une manipulation de liquidité.
L’oracle TWAP détermine les 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 somme d’argent sur une courte période, ce qui peut affecter de manière significative le prix moyen d’un actif, il s’agit d’une manipulation de liquidité. La manipulation de la liquidité peut augmenter ou diminuer artificiellement les prix des actifs, ce qui entraîne des informations inexactes sur les prix. Si quelqu’un souhaite utiliser l’oracle TWAP pour augmenter délibérément le prix d’un actif, il peut utiliser une grande somme d’argent pour acheter l’actif à court terme, provoquant une hausse temporaire du prix. Si le prix de l’actif augmente de manière significative pendant cette fenêtre temporelle, l’oracle TWAP peut traiter 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 les jetons émergents à faible liquidité. Ces protocoles DeFi prennent généralement 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 à de mauvaises décisions, entraînant ainsi des pertes pour les utilisateurs. Il est donc crucial de protéger les oracles TWAP de la manipulation des liquidités.
Basé sur la technologie ZK, il peut résister à la manipulation de liquidité dans l’oracle TWAP. Un contrat intelligent peut être conçu pour s’appuyer sur l’oracle TWAP pour obtenir les prix des actifs. Si un attaquant effectue une manipulation de liquidité, le prix obtenu de l’oracle TWAP peut dépasser la fourchette acceptable prédéfinie. Dans ce cas, le contrat cessera temporairement ses opérations. Il recalculera ensuite et confirmera le prix de l’actif sur la base de la technologie ZK.
Pour utiliser la technologie ZK pour calculer les prix des actifs, vous devez d’abord ajouter un contrat wrapper à l’oracle TWAP. Le contrat peut accéder directement à N rapports de prix, ou enregistrer N valeurs de points de contrôle du prix à intervalles arbitraires. Une fois que N points de données sont disponibles dans un intervalle donné, une preuve ZK peut être construite pour prouver la médiane de la gamme non triée de prix. Le tableau de prix non trié est étiqueté comme un vecteur colonne x, de longueur N. Voici le processus de calcul des prix des actifs basé sur la technologie ZK :
La preuve peut être vérifiée de deux manières, dans les deux cas, le prouveur ne peut pas choisir arbitrairement un ensemble de prix comme entrée.
Il existe une matrice A N x N (matrice carrée). Lorsque la matrice est multipliée par le vecteur colonne x, un vecteur colonne y est généré tel que y=Ax. A est une matrice de permutation inversible, 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.
Les valeurs de y sont ordonnées, c’est-à-dire yiyi+1 i 0…N-1. Encore une fois, < ne peut pas être utilisé car il peut y avoir des valeurs de prix en double.
La sortie publique m du circuit est la valeur médiane de y. La preuve montre que y⌊N/2⌋=m, où N est une valeur statique lorsque le circuit est compilé et doit être un nombre impair.
Selon le processus ci-dessus, un prix médian m est obtenu sur la base de la technologie ZK, qui est inviolable. La médiane m peut empêcher dans une certaine mesure la manipulation de la liquidité. Pour y parvenir, nous devons limiter la valeur de y afin que dans chaque bloc, la valeur de y ne soit insérée qu’une seule fois, ou que le nombre d’insertions se situe dans une plage acceptable. numéro.dans la plage.
Comme mentionné ci-dessus, la technologie ZK peut résister à la manipulation initiale et à la liquidité des DEX. Alors, pouvons-nous explorer davantage 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 les prêts, un élément important des projets DeFi.
Sur les plateformes de prêt traditionnelles, le processus de demande de prêt comprend généralement cinq étapes : la demande, l’évaluation du crédit, l’approbation du prêt, l’émission du prêt et le remboursement. Parmi eux, le lien d’évaluation du crédit est particulièrement important : les emprunteurs doivent prouver que leurs revenus répondent aux normes et qu’ils ont 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, pour garantir 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.
Cependant, lorsque l’on se tourne vers les plateformes de prêt DeFi telles que Aave ou Compound, la situation change. 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, Know Your Customer) ni des procédures d’évaluation des risques des banques traditionnelles, et elles ne peuvent pas enquêter sur l’état de crédit des emprunteurs par l’intermédiaire de bureaux de crédit communs. Dans ce cas, vous vous demandez peut-être, comment mon crédit sera-t-il évalué ?
Sur la plateforme de prêt DeFi, vous pouvez prouver votre solvabilité grâce à une preuve de 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 important pour évaluer la solvabilité d’un utilisateur. Plus le nombre de jetons est élevé, meilleure est la réputation de l’utilisateur et l’amélioration correspondante de sa cote de crédit, ce qui permet d’obtenir plus de lignes de prêt 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 violer les droits à la vie privée des utilisateurs.
La technologie ZK protège la confidentialité des utilisateurs. La combinaison de la technologie ZK et des jetons de réputation peut protéger la confidentialité des utilisateurs tout en maintenant et en suivant leur réputation sur 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 une preuve des 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. .
De plus, sur certaines plateformes de prêt DeFi qui nécessitent une surgarantie, les jetons de réputation peuvent réduire les exigences hypothécaires, résolvant ainsi le problème de la surgarantie et améliorant la liquidité du marché. Et l’application des jetons de réputation basés sur la technologie ZK ne se limite pas aux plateformes de prêt DeFi, elle peut également être largement utilisée dans les assurances, les subventions médicales et d’autres domaines.
Cet article explore les différents scénarios d’application de la technologie ZK pour assurer la protection de la vie privée dans DeFi, en particulier son potentiel pour résister aux transactions initiales, à la manipulation de liquidités et aux prêts. Dans le processus d’exploration de DeFi, nous sommes confrontés à de multiples défis, notamment des problèmes liés à la confidentialité et à la sécurité. Les défis en matière de confidentialité dans l’écosystème DeFi sont un problème clé, et la technologie ZK fournit une solution unique qui améliore non seulement 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, veuillez contacter Salus.
À l’avenir, la technologie ZK pourrait être appliquée dans des domaines DeFi plus profonds, tels que le jalonnement de liquidité, les protocoles 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 web3 du monde entier à travailler avec nous pour promouvoir le développement en profondeur et l’application généralisée de la technologie ZK afin de stimuler le développement de DeFi et même de l’ensemble du secteur.