Uniswap, le protocole d’échange de tokens Ethereum

 

Uniswap licorne

 

Si vous utilisez des portefeuilles Ethereum, il est possible que vous ayez déjà eu la possibilité de réaliser des « swaps » avec vos tokens, c’est-à-dire (pour résumer simplement) échanger vos tokens avec d’autres tokens Ethereum, rapidement et avec très peu de frais. Ces wallets ne développent pas forcément leurs propres méthodes de swap, mais comme souvent dans l’écosystème ils utilisent des protocoles décentralisés. Aujourd’hui je vous présente Uniswap, l’un des protocoles qui permet l’échange automatique de tokens sur Ethereum.

 

Uniswap

Uniswap est donc un protocole ouvert à tous les utilisateurs Ethereum pour permettre de réaliser des swaps de tokens. Reposant sur des smart-contracts, l’objectif principal d’Uniswap est de garantir un maximum de liquidité pour ces utilisateurs. À ce titre, et nous le verrons plus particulièrement dans la partie sur le fonctionnement des swaps, Uniswap permet l’échange via une paire (BAT/ETH par exemple), mais peut également réaliser plusieurs échanges pour réaliser des swaps avec le maximum de liquidité. En effet sachant que chaque swap possède des fonds du token ainsi que des fonds en éthers, il est possible de convertir directement des tokens spécifiques vers l’éther et réaliser un second échange. Cela permet donc par exemple de swaper deux tokens ERC20 entre eux.

Développé originalement par Hayden Adams comme un projet d’étude pour améliorer ses compétences en Solidity, le projet a reçu par la suite des fonds de la part de la fondation Ethereum. Cela a donc permis de le développer plus loin et de rendre accessible aux utilisateurs le protocole que nous connaissons.

 

Les avantages de l’utilisation d’Uniswap

Si vous hésitez à utiliser Uniswap voici quelques propositions de valeur de la part du protocole qui vous feront peut être changer d’avis. Tout d’abord, utiliser Uniswap vous permet de réaliser des échanges sans tiers de confiance. Alors que certains services de la DeFi semblent quelque peu obscurs, Uniswap est très transparent de par sa simplicité. Les paires d’exchanges peuvent être mises en place facilement en utilisant des smart-contracts disponibles à tous. Uniswap est un protocole à but non lucratif et les frais vont seulement aux utilisateurs apportant de la liquidité au système. Cela permet aux utilisateurs de ne payer que des frais très faibles, et donc de réaliser des transactions à faible coût en comparaison à d’autres exchanges décentralisés.

 

Les frais d’Uniswap

Voici les différents frais appliqués sur Uniswap en fonction des opérations réalisées :

  • Échange d’ETH vers un token ERC-20 :
    • 0,3 % payés en ETH
  • Échange d’ERC-20 vers des éthers :
    • 0,3 % payés en ERC-20
  • Échange d’un ERC-20 vers un autre ERC-20 :
    • 0,3 % de frais payés en ERC-20 pour l’échange vers l’éther
    • 0,3 % de frais payés en ETH pour l’échange vers l’ERC-20 voulu
    • 0,59 % de frais payés en ERC-20 entrants

Les frais à taux de 0,3% pour chaque échange entre des éthers et des tokens ERC-20 sont utilisés pour financer les apports de liquidité. Ils sont donc remis aux utilisateurs apportant de la liquidité au protocole à hauteur de leurs contributions. Il n’y a pas de frais prélevés par la plateforme Uniswap.

 

Comment fonctionne le Swap ?

token-swap

 

Le fonctionnement d’Uniswap est composé d’un certain nombre de smart-contracts permettant l’échange entre des éthers et des tokens ERC-20. Ces contrats permettant ces échanges peuvent être mis en place de façon automatique grâce à un smart-contract dédié : Factory. Ces contrats possèdent des réserves du token ERC-20 en question, mais également en éthers. Comme nous allons le voir par la suite, ces réserves n’appartiennent pas à Uniswap, mais sont alimentées par la communauté. Fonctionnalité intéressante : vous pouvez définir une adresse pour recevoir vos nouveaux tokens différentes que celle qui a envoyé les fonds.

Les contrats d’échanges ERC-20 / ETH sont donc des plateformes d’échanges à eux tout seuls. En ayant deux réserves différentes par contrats différents cela permet de créer un marché sur la paire. Si la réserve d’ETH diminue ou inversement, la ration d’échange est modifiée, ce qui change le prix du token. Des arbitrages sont également possibles et permettent de garantir un certain niveau d’afflux de liquidité dans les paires d’échange.

 

Le calcul du taux d’échange

Le ratio d’échange pour chaque token ERC-20 est calculé mathématiquement en utilisant l’équation :

x × y = k

où k est une constante immuable, et où x et y représentent les quantités d’éthers et de tokens ERC-20 présents dans les réserves du smart-contract. La formule originelle provient de Vitalik Buterin qui l’a posté début 2018 en expliquant son utilité dans le cadre des plateformes d’échanges décentralisées. Voici le graphique explicatif de cette formule pour mieux la visualiser :

 

Résultat de recherche d'images pour "UNISwap"

 

Ce graphique permet de comprendre facilement le fonctionnement de la formule en cas de volatilité. Prenons le premier cas qui est celui de l’échange en grande quantité du token ERC-20. Les réserves seront donc modifiées, résultant d’une grande quantité d’éthers et peu de tokens ERC-20 désormais disponibles. Sachant que k restera constant quoiqu’il arrive, c’est le prix du token qui sera modifié à la hausse. Dans le cas contraire si les réserves de tokens sont abondantes, le prix de ce token sera faible. C’est souvent le cas des tokens qui ont été émis en grande quantité et dont les prix sont inférieurs à un centime de dollar. Le taux d’échange est donc soumis à la loi de l’offre et de la demande, et permet des opportunités d’arbitrages.

 

Utiliser Uniswap

Uniswap possède avant tout une superbe interface pour utiliser le protocole. Vous y retrouverez des tutoriels et explications pour utiliser au mieux les fonctionnalités que le projet propose. Mais Uniswap est avant tout un protocole reposant sur des smart-contracts et c’est pour cela que vous n’avez pas besoin d’utiliser l’interface de ce dernier. Vous pouvez très bien interagir directement avec les contrats, utiliser une autre interface ou même développer la vôtre. Par ailleurs le code source de l’interface d’Uniswap est complètement open source. Vous pouvez donc l’utiliser pour l’héberger sur votre serveur ou le modifier à votre manière.

Mais il est également possible d’intégrer en partie ou complètement Uniswap à une application tierce. Par exemple des wallets Ethereum mobiles peuvent recourir au protocole pour permettre facilement à leurs utilisateurs d’échanger leurs tokens sans avoir de soucis de liquidité et à moindres frais. Si vous avez suivi notre article sur le wallet mobile Ethereum Argent, vous savez déjà qu’il utilise Uniswap pour l’échange de tokens. C’est un très bon exemple d’interaction entres différents acteurs de l’écosystème de la finance décentralisée.

 

Apporter de la liquidité au protocole

Si vous souhaitez contribuer au protocole, il est possible de le faire en ajoutant de la liquidité à un token spécifique. Pour ce faire il vous faudra déployer sur la paire le nombre de tokens de votre choix ainsi que des fonds en éthers. Vous recevrez en échange des tokens vous permettant de prouver que vous ayez bien des fonds dans le protocole. Le nombre de ces « liquidity tokens » dépend du taux d’échange qui varie en fonction de l’offre et de la demande de la paire.

La participation à l’apport de liquidité au protocole est évidemment récompensée. Le fonctionnement est le suivant. Les frais à hauteur de 0,3 % prélevé à chaque échange entre des éthers et un token ERC-20. Ils sont directement déposés dans les réserves de liquidité, mais sans émission de tokens de liquidité. De ce fait le taux d’échange entre les liquidity tokens et les ERC-20 est plus intéressant. Ainsi les frais sont donc récupérés par les fournisseurs lors de la destruction de leurs liquidity tokens.

 

Les risques de l’utilisation d’Uniswap

Dans le secteur de la DeFi, cet écosystème grandissant, la plupart des projets sont encore en cours de développement et restent parfois dans le domaine de l’expérimental. Surtout quand il s’agit de transactions financières, les risques doivent être minimaux. Les risques et bienfaits à long terme du protocole ne sont pas complètement définis et il faut rester prudent. Uniswap repose sur des smart-contracts qui interagissent avec l’EVM. La sécurité de ces derniers est primordiale, mais n’est pas garantie, malgré les efforts des développeurs et des différents audits réalisés.

Nous avons également vu le fonctionnement des ratios d’échanges qui sont dépendants de l’offre et de la demande. C’est donc par le biais de l’arbitrage uniquement que ces taux sont stabilisés autour des valeurs générales des différents tokens disponibles. Si cela semble fonctionner, cela reste dépendant de l’existence d’autres plateformes d’échanges utilisant des méthodes plus traditionnelles comme des carnets d’ordres. Mais Uniswap n’a pas vocation à être la seule plateforme d’échanges.

 

Voilà pour la présentation du protocole d’échange Ethereum décentralisé Uniswap, un acteur majeur de l’écosystème de la finance décentralisée à but non lucratif qui permet de réaliser des échanges à moindres coûts pour les utilisateurs. Avez-vous déjà essayé Uniswap ou souhaitez déposer des liquidités vers le protocole ? Ou préférez-vous peut-être attendre une période plus longue de test avant d’utiliser cet outil ? N’hésitez pas à nous faire part de vos questions ou remarques dans les commentaires ou sur Twitter !


Guillaume

Guillaume est un jeune développeur Blockchain, principalement sur Solidity. Il aime partager ses connaissances sur le sujet et il participe activement au rayonnement des aspects techniques de la blockchain au sein de la communauté crypto.

facebook-cryptoast twitter-soothsayerdataProfil linkedinEnvoyer un mail

 



Poster un Commentaire

avatar