Notre avis sur Uniswap : l’échange de cryptomonnaies sans intermédiaire sur Ethereum !

Uniswap est un protocole ainsi qu’une plateforme décentralisée d’échange de cryptomonnaies. Cette dernière a connu une hausse de son volume de 9 000 % entre janvier 2020 et l’été 2021. Avec le lancement de sa troisième version, Uniswap V3, le protocole s’est imposé comme la référence des échanges décentralisé. Revenons ensemble sur Uniswap, l’écosystème de la finance décentralisée et son utilisation. Voici notre avis sur Uniswap !

La licorne Uniswap

Créée à la fin de l’année 2018, Uniswap est une plateforme d’échange décentralisée qui permet d’échanger n’importe quels tokens ERC-20 entre eux. Le protocole a par la suite été mis à jour en mai 2020 avec Uniswap V2. Puis, en mai 2021, Uniswap a lancé sa V3 ajoutant de nouvelles fonctionnalités.

Le fonctionnement d’Uniswap

Contrairement à l’architecture habituelle des plateformes d’échanges, Uniswap a fait le choix de ne pas utiliser d’order book. Pour rappel, les order books sont une sorte de cahier de compte tenu par les plateformes d’échanges, qui référencent les ordres de ventes et d’achats. La plateforme s’occupe ensuite de faire matcher les ordres d’achat et de vente des différents utilisateurs.

Dans le cas d’Uniswap, le protocole fonctionne grâce à des pools de liquidités, sortes de réserves de tokens stockés sur un smart contract, lesquels seront utilisés pour effectuer les trades.

Contrairement aux order books classiques, il n’y a plus d’acheteur et de vendeur. Ces derniers sont remplacés par des fournisseurs de liquidité, qui vont prêter des tokens au protocole. Les utilisateurs de la plateforme peuvent ensuite échanger n’importe quel token entre eux en allant se servir directement dans le pool de liquidité. C’est grâce au Market Maker Automatisé que le protocole va ensuite fixer le taux de change entre les actifs. En échange de leurs fonds, les fournisseurs de liquidité sont récompensés grâce aux frais récupérés par le protocole.

Échanger des tokens sur Uniswap

L’autre force d’Uniswap réside dans son interface ultra minimaliste. En effet, lorsqu’on se rend sur le site uniswap.exchange, la simplicité est frappante : pas de fioritures, uniquement le nécessaire.

Qui dit échange décentralisé dit aussi self-custody. En effet, lorsque vous utilisez des plateformes d’échange décentralisées vous restez maître de vos clés. De ce fait, pour utiliser Uniswap, il faudra se munir d’un wallet Web3 : citons par exemple Metamask, Trust wallet ou encore Coinbase. Dans notre cas, nous utilisons un wallet Ledger Nano S connecté à Metamask. 

Une fois votre wallet connecté, vous allez pouvoir commencer à échanger (swap) des tokens sur Uniswap. Rien de bien compliqué, il suffit d’entrer le montant dans la crypto d’origine ainsi que de renseigner la crypto cible. Le protocole s’occupe du reste. Dans notre cas, nous souhaitons échanger 0,15 ETH vers du DAI.

Interface de swap sur Uniswap – Source : Uniswap

Il faudra ensuite cliquer sur « Échanger » et valider la transaction sur MetaMask :

Interface de validation du swap sur MetaMask – Source MetaMask

Pour finir, si vous utilisez un hardware wallet par le biais de MetaMask, il faudra également valider la transaction sur le Ledger Nano S. Une fois la transaction validée, il faudra attendre entre quelques secondes et quelques minutes pour voir votre transaction confirmée et l’échange se réaliser.

Les pools de liquidités sur Uniswap

Comme nous l’avons vu, Uniswap fonctionne grâce à un système de pool, ceux-ci étant composés d’actifs appartenant aux utilisateurs, dans le cas présent appelés market makers. N’importe qui peut devenir market maker et être récompensé pour ça, en fournissant des liquidités aux pools. Ainsi, il est possible de générer un retour potentiel (de quelques pour cent) sur les frais appliqués sur chaque swap.

Attention tout de même, il est important de comprendre comment le mécanisme fonctionne avant de prendre part aux pools. En effet, lorsque vous fournissez des liquidités sur Uniswap, vous alimentez la liquidité d’une paire d’actifs. Par exemple, si vous souhaitez ajouter de l’USDC, vous devez également fournir la même quantité dans un autre actif, par exemple l’ETH.

Cela implique que les montants de chacun des actifs mis en liquidité peuvent varier dans le temps. Par exemple, si vous avez fourni 100 USDC et 0,5 ETH à la paire USDC/ETH, il est possible qu’au cours du temps votre solde soit de 50 USDC et 0,75 ETH ou inversement avoir moins d’ETH au profit de l’USDC.

Dashboard de la pool de liquidité USDC/ETH sur Uniswap – Source : Uniswap.org

Comment ajouter de la liquidité sur Uniswap ?

Maintenant que vous avez compris les fondamentaux des pools de liquidités, passons à la partie pratique. Pour cela, il faudra se rendre une fois de plus sur le site d’Uniswap, dans l’onglet « Pool ».

Une fois sur l’interface de liquidité, la première étape est de choisir la paire à laquelle vous souhaiter ajouter des liquidités. Toutes les combinaisons de jetons ERC-20 sont disponibles, mais chaque paire présente des caractéristiques différentes.

Interface d’ajout de liquidité sur Uniswap V3 – Source : Uniswap.org

Une fois que vous avez sélectionné une paire de jetons, l’étape suivante consiste à choisir le bon niveau de frais. Chaque paire de jetons offre trois niveaux de frais :

  • 0,05 % de frais: idéal pour les paires stables.
  • 0,3 % de frais : idéal pour la plupart des paires
  • 1,0 % de frais : idéal pour les paires exotiques

Ensuite, vous devez choisir une fourchette de prix dans laquelle vous allez fournir des liquidités. Si le prix évolue en dehors de la fourchette spécifiée, votre position sera concentrée sur l’un des deux actifs et ne rapportera pas de frais de transaction jusqu’à ce que le prix revienne dans sa fourchette. Cette notion de liquidités concentrée est l’une des innovations de la V3 d’Uniswap.

Notez que vous n’êtes pas obligés de choisir une fourchette. Il est possible de fournir des liquidités sur toute la fourchette comme dans Uniswap V2 en cliquant sur le bouton Range Complète.

Une fois votre paire, votre niveau de frais et votre fourchette de prix sélectionnés, vous pouvez maintenant décider du montant du capital à allouer. Enfin, vous êtes prêt à soumettre la transaction. À ce stade, il est possible que vous deviez autoriser le contrat Uniswap à placer les jetons en votre nom.

Félicitations, vous avez ajouté vos premières liquidités au protocole Uniswap ! 

Uniswap V2

Comme nous l’avons abordé en introduction, le protocole Uniswap a subi une mise à jour d’envergure en mai 2020. Ainsi, cette mise à jour apporte de nouvelles fonctionnalités dont deux se distinguent particulièrement: les paires d’ERC-20 et les flashs swaps.

L’ajout des paires d’ERC-20 introduit les échanges entre jetons ERC-20 (qui ne sont pas de l’ETH). Jusqu’à la V2, lors d’un swap du DAI vers l’USDC, le protocole utilisait l’ETH comme passerelle de conversion. À présent, le protocole gère la création de pools non rattachée à l’ETH et ainsi, permet d’échanger directement des DAI contre des USDC sans passer par l’ETH.

Différentes architectures de swap réalisable depuis la V2 – Source : Uniswap.org

La version 2 du protocole introduit aussi un nouveau concept : les flash swap. Inspiré des flash loans (prêts instantanés) du protocole Aave, les flash swaps permettent à un utilisateur d’emprunter des fonds des pools d’Uniswap tant que ces derniers sont restitués dans la même transaction.

Uniswap V3

Annoncée en mars 2021 et implémentée durant le mois de mai, la mise à jour V3 a introduit son lot d’innovation et de nouvelles fonctionnalités.

Tout d’abord, Uniswap a fait le choix de migrer sur la seconde couche d’Ethereum. En effet, les frais de transaction démesurée de la première couche ont commencé à faire fuir les utilisateurs. C’est pour cela qu’Uniswap a migré vers Optimism une solution de seconde couche.

Ensuite, la V3 a introduit la notion de liquidité concentrée ou concentrated liquidity. Comme nous l’avons évoqué, l’interface d’ajout de liquidité propose maintenant de choisir une fourchette de prix dans laquelle vous souhaitez fournir des liquidités. Auparavant, les liquidités fournies servaient l’ensemble des prix allant de 0 à l’infini. En réduisant la fourchette de prix, les fournisseurs de liquidités avisés peuvent optimiser le montant des frais perçu.

Mais, afin que les utilisateurs de la seconde version ne soient pas entièrement déboussolés, il est toujours possible d’interagir avec la V2. Néanmoins, le carnet d’ordre pour les swaps et les liquidités au sein des pools risquent de se tarir, au fur et à mesure que les utilisateurs migrent vers la troisième version.

Un échange, mais pas que !

Les possibilités offertes par UniSwap dépassent le cadre du simple échange décentralisé. Et le moins que l’on puisse dire est que le champ des possibles est vaste ! En effet, Uniswap peut à la fois servir d’oracle décentralisé et de sous couche technique pour d’autres protocoles.

UniSwap comme oracle décentralisé

Voici une application possible à laquelle peu de personnes ont pensé. Pour rappel, les oracles sont des programmes informatiques qui permettent aux smart contracts de récupérer des données en dehors de la blockchain, par exemple le prix de BTC.

En effet, dans le protocole Uniswap, chaque token dispose d’une paire avec l’ether et le marché fixe le prix entre les deux actifs. Si les paires disposent d’une liquidité suffisante, elles peuvent être dignes de confiance et coûteuses à attaquer pour traquer le cours d’une cryptomonnaie donnée.

Un protocole pour les autres protocoles

Le projet a été développé de manière à être entièrement agnostique avec une adaptabilité forte aux autres protocoles. En effet, au-delà de l’interface utilisateur fournie, le protocole peut aisément être connecté à d’autres protocoles.

Par exemple, Synthetix qui propose des actifs synthétiques sur Ethereum utilise UniSwap à son avantage en l’intégrant à son écosystème notamment à travers la paire sETH/ETH.

En effet, les créateurs de Synthetix ont pu mettre en place un mécanisme pour inciter les utilisateurs à fournir plus de liquidité à la pool sETH/ETH d’UniSwap en proposant des dividendes supplémentaires en SNX pour les déposants. Cela permet à Synthetix de contrôler la liquidité et s’assurer un accès facilité à son protocole par le biais de UniSwap.

Un protocole scalable

La scalabilité, nerf de la guerre des blockchains et sujet de débat constant. Uniswap l’a bien compris et son protocole a été imaginé pour grandir exponentiellement. En effet, plus une paire Uniswap génère de volume de transaction, plus elle génère de frais. Par conséquent, cela incite les utilisateurs à fournir de la liquidité sur cette paire.

Ce mécanisme crée un cercle vertueux qui semble pour l’instant être payant, au regard des volumes et liquidités en croissance constante depuis sa création.

Évolution des fonds impliqués dans UniSwap. Source : Defipulse

UniSwap permet bien d’autres applications, comme l’échange de tokens représentant des parts immobilières de manière décentralisée. L’évolution du protocole conjointement avec ceux qui composent l’écosystème DeFi générera d’autres applications. Concluons cependant sur les questions de risques liés à ces protocoles d’échange décentralisé liés les uns aux autres : ils peuvent à l’occasion représenter des cibles de choix pour des hackeurs débrouillards, comme l’a démontré le récent exemple du protocole bZx.

Renaud H.

Ingénieur en software et en systèmes distribués de formation, passionné de cryptos depuis 2013. Touche à tout, entre mining et développement, je cherche toujours à en apprendre plus sur l’univers des cryptomonnaies et à partager le fruit de mes recherches à travers mes articles.