Liquidité sur Uniswap
L'architecture de conception du protocole Uniswap est différente du modèle des échanges d'actifs numériques traditionnels. La plupart des bourses traditionnelles maintiennent un carnet d’ordres et l’utilisent pour faire correspondre les acheteurs et les vendeurs d’un actif particulier. Et Uniswap utilise des **réserves de liquidité** pour réaliser la transaction d'actifs numériques dans le cadre de l'accord.
Les réserves de liquidité pour les contrats de trading sont fournies par les fournisseurs de liquidité du réseau. Ces fournisseurs de liquidité déposent des jetons ETH et ERC20 équivalents dans des contrats de négociation de jetons ERC20 spécifiques. Le premier fournisseur de liquidité à fournir des liquidités à un contrat d'échange fixera d'abord le taux de change entre l'ETH et le jeton ERC20 correspondant dans ce contrat d'échange. Les fournisseurs de liquidité fixent ce taux de change en déposant ce qu'ils pensent être l'équivalent de l'ETH et du jeton ERC20 adossé au contrat. Si le taux de change fixé par le fournisseur de liquidité n'est pas cohérent avec le marché plus large des changes de crypto-monnaie, alors les traders d'arbitrage amèneront le taux de change entre les jetons ETH et ERC20 à ce que le marché considère comme le taux de change correct. Par conséquent, tous les fournisseurs de liquidité ultérieurs utiliseront le taux de change lorsqu'ils déposeront des actifs pour déposer des liquidités.
Uniswap utilise également des **"jetons de liquidité" (jetons de liquidité), qui sont eux-mêmes conformes à l'ERC20. Ces jetons peuvent être considérés comme une représentation de la contribution du fournisseur de liquidité au contrat de trading. La raison derrière la limitation d'Uniswap à ne prendre en charge qu'un seul jeton ERC20 par contrat de trading est d'encourager les fournisseurs de liquidité à regrouper leurs actifs de liquidité dans une seule réserve**. Uniswap suit la proportion relative de chaque fournisseur de liquidité contribuant à la réserve totale en frappant des jetons de liquidité. Les fournisseurs de liquidité peuvent brûler leurs jetons de liquidité au moment de leur choix afin de pouvoir retirer une part proportionnelle de leurs jetons ETH et ERC20 du contrat d'échange.
Les fournisseurs de liquidité peuvent choisir de vendre ou de transférer leurs jetons de liquidité sans retirer la liquidité du contrat d'échange. Cependant, les tokens de liquidité d'Uniswap sont strictement affectés à un contrat d'échange. Il n’existe aucun actif numérique natif associé au protocole Uniswap. Les fournisseurs de liquidité peuvent également déposer des liquidités dans des contrats de trading en appelant la fonction addLiquidity(). En récompense de la fourniture de liquidités, les fournisseurs de liquidités recevront un certain pourcentage des frais de transaction lors de l'exécution de la transaction.
Tradez sur Uniswap : ETH ⇄ ERC20 trade Un type de transaction qui peut être effectué dans le protocole Uniswap est l'échange d'ETH contre n'importe quel jeton ERC20 spécifique. Comme mentionné ci-dessus, le taux de change entre l'ETH et un certain jeton ERC20 est basé sur le taux de change relatif. taille de chaque pool de liquidité d’actifs dans le contrat de trading. Le taux de change est basé sur l'invariant d'Uniswap : ETH pool token pool = invariant (invariant). Lors de l'exécution de toute transaction sur le protocole Uniswap, un invariant (invariant) reste inchangé. De plus, les invariants ne changent que lorsque la liquidité des contrats négociés augmente ou diminue.
Exemple ETH ⇄ BAT : Bob souhaite lancer une transaction pour échanger 1 ETH contre le jeton ERC20 BAT. Bob utilisera un contrat d'échange existant sur le protocole Uniswap pour exécuter cette transaction. Le fournisseur de liquidité a déposé un certain montant d'ETH et de BAT dans le contrat d'échange, pour cet exemple, disons 10 ETH et 500 BAT. L'invariant sous-jacent est défini comme : Pool ETH *BAT pool = invariant (invariant), c'est-à-dire :
Pool ETH = 10 BAT
piscine = 500
Invariants = 10 * 500 = 5 000
Bob initie sa transaction en envoyant 1 ETH au pool ETH du contrat de transaction et déduit sur cette base 0,3 % de frais pour les fournisseurs de liquidité. Les 0,997 ETH restants ont été ajoutés au pool ETH. Ensuite, divisez l'invariant par le nouveau total d'ETH pour déterminer la dernière taille du pool BAT. Les jetons BAT restants sont ensuite envoyés à l'acheteur, en l'occurrence Bob. C'est-à-dire:
Pool ETH = 10 BAT
piscine = 500
Invariants = 10 * 500 = 5 000 Bob
initie sa transaction en envoyant 1 ETH au pool ETH du contrat de transaction, et déduit 0,3% de frais pour les fournisseurs de liquidité sur cette base. Les 0,997 ETH restants ont été ajoutés au pool ETH. Ensuite, divisez l'invariant par le nouveau total d'ETH pour déterminer la dernière taille du pool BAT. Les jetons BAT restants sont ensuite envoyés à l'acheteur, en l'occurrence Bob. C'est-à-dire:
Bob envoie : 1 ETH
Frais de traitement : 0,003 ETH
Pool ETH = 10 + (1 – 0,003) = 10,997
Pool MTD = 5 000/10,997 = 454,67
Bob reçoit : 500 – 454,67 = 45,33 BAT
Les frais de traitement payés au fournisseur de liquidité ont été déduits lorsque Bob a initié la transaction, et maintenant ces frais de traitement sont ajoutés au pool de liquidité (ce qui signifie que l'invariant va augmenter). Il s’agit d’un paiement aux fournisseurs de liquidité, qu’ils peuvent collecter lorsqu’ils retirent du marché leurs contributions à la liquidité. Étant donné que ces frais sont réajoutés après le calcul du prix, à mesure que chaque transaction sur le contrat d'échange est exécutée, l'invariant augmente progressivement, ce qui rend l'acte de déposer des liquidités dans un contrat d'échange important pour la liquidité. C'est une activité rentable pour les prestataires de services sexuels. en ce moment:
Pool ETH = 10,997 + 0,003 = 11
Pool BAT = 454,67 nouveau
invariant = 5 001,37
Dans cette transaction, Bob obtient BAT au taux de change de 45,33 BAT/ETH.
Entrée : 1 ETH
Sortie : 45,33 BAT
Taux de change = 45,33 BAT/ETH
Trading sur Uniswap : ERC20 ⇄ ERC20 Trading
Un autre type de transaction pouvant être effectué dans le protocole Uniswap consiste à échanger un jeton ERC20 contre un autre jeton ERC20. Étant donné que l'ETH est utilisé comme paire de négociation publique pour tous les jetons ERC20, Uniswap utilise l'ETH comme actif intermédiaire pour les transactions directes entre ERC20 et ERC20. Par exemple, Uniswap peut convertir les jetons BAT en ETH dans un certain contrat de transaction, puis convertir cette partie de l'ETH en OMG dans un autre contrat de transaction, le tout étant complété en une seule transaction, de sorte que deux échanges entre les jetons ERC20 soient possibles.
Cette formule fonctionne un peu comme un marché normal dans la mesure où plus vous achetez de jetons, plus le taux de change marginal que vous devez payer pour acheter une unité de jetons supplémentaire est élevé.


