Pour fonctionner la plupart des DEX ont besoin (a) d'un protocole AMM, (b) de pools de liquidité, (c) de liquidity providers (LP) et (d) d'utilisateurs. Le protocole AMM s'appuie sur des fonctions mathématiques pour estimer le taux de change de 2 actifs d'après la liquidité disponible. Il existe plusieurs types AMM: fonction constante, moyenne constante, constante hybride, etc. (ces noms sont directement reliés à des fonctions mathématiques spécifiques). L'AMM vient remplacer les market makers mais implique une liquidité constante pour fonctionner: c'est à ce moment que les pools de liquidité interviennent. Les pools de liquidité sont des réserves de tokens bloqués dans un smart contract. Les utilisateurs appelés liquidity providers (LP) sont invités à y ajouter une valeur égale (1) de deux jetons afin de créer un marché. Autrement dit, dans la pool de la paire A/B, les LP déposent la même valeur de token A que de token B. Les pools se remplissent et le marché devient liquide. Un utilisateur peut alors échanger un des jetons de la paire contre un autre moyennant une commission qui sera reversée aux LP (en proportion de leurs avoirs respectifs dans la pool).
Cette formule a la propriété souhaitable que les transactions plus importantes (par rapport aux réserves) s'exécutent à des taux exponentiellement plus élevés que pour les plus petites transactions. Bien que ingénieux, les AMM ne sont pas parfaits… et s'accompagnent de plusieurs limites La faible utilisation des fonds: pour limiter le price impact, on limite le slippage ce qui a pour conséquence de ne jamais pleinement utiliser les liquidités disponibles. Le problème de la perte non permanente: fournir des liquidité s'avère parfois moins rentable que de simplement conserver les fonds dans son wallet. etc. Il est très important de se renseigner sur le protocole où l'on souhaite bloquer ses fonds afin de comprendre les risques que cela implique. Aujourd'hui, les DEX continuent d'innover afin de résoudre ces problèmes. On peut prendre en exemple la V3 d'UNISWAP qui introduit la notion de liquidité concentrée pour pallier à la faible utilisation des fonds, ou encore BANCOR V2 avec une pondération automatique (via un oracle) pour limiter les pertes non permanentes, ou DODO avec un AMM proactif (PMM), etc.
Ne prenez que le concept de ce qui va suivre. De plus, dans un objectif de simplification, nous négligeons les frais de 0, 3% appliqués par Uniswap qui, en pratique, augmentent "k" mais j'y viens… Dans x * y = k: x représente le nombre de token A, y représente le nombre de token B, et k est le produit ou la constante. On qualifie cet AMM de CFMM (Fonction Constante Market Maker) mais il en existe d'autres types. Tra?ons le graphique suivant d'après la fonction x * y = k: (Source:cryptocutie) L'interprétation est très simple: – Si le nombre de token B (y) augmente, alors le nombre de token A (x) diminue, et inversement; – Si x ou y varie, alors K glisse sur la courbe, ce qu'on appelle le slippage, car la courbe indique les valeurs de k. En simplifiant, le prix revient à un ratio entre x et y où le prix de x par rapport à y est le ratio y/x et inversement pour y. Vous l'aurez compris, swaper engendre un price impact, c'est-à-dire une modification du prix due à une modification du ratio. Plus votre slippage est important, plus votre price impact est important et plus vous payerez cher.