BlockPulseNews
Définition

CFMM : définition

Un CFMM (Constant Function Market Maker) est un type de teneur de marché automatisé dont les prix découlent d'une formule que les réserves du pool doivent respecter à chaque échange, comme le produit constant x × y = k.

Thème : DeFi (finance décentralisée)

CFMM : comment ça marche ?

Le principe d'un CFMM est simple : un pool contient deux actifs ou plus, et une fonction de ses réserves, appelée invariant, doit garder la même valeur avant et après chaque swap, hors frais. Si un trader retire une partie de l'actif A, il doit ajouter suffisamment d'actif B pour que l'invariant soit respecté. Le prix n'est donc pas fixé par un carnet d'ordres : il résulte mécaniquement de l'état des réserves. Plus un échange est gros par rapport à la taille du pool, plus il déplace le prix, ce qui crée du slippage.

Il existe plusieurs familles. Le produit constant (x × y = k), popularisé par Uniswap, offre de la liquidité à tous les prix mais avec un glissement important sur les gros volumes. La somme constante (x + y = k) donne un prix fixe, mais le pool peut être entièrement vidé de l'un des actifs. Les courbes stableswap, introduites par Curve, combinent les deux approches pour des actifs censés valoir à peu près la même chose, comme deux stablecoins. Balancer a généralisé le modèle avec des moyennes géométriques pondérées sur plusieurs actifs.

Les frais prélevés sur chaque échange restent dans le pool et rémunèrent les fournisseurs de liquidité. Comme l'invariant ignore le prix pratiqué sur les autres marchés, ce sont les arbitragistes qui réalignent le prix du pool chaque fois que le cours extérieur bouge. Ce mécanisme rend les CFMM autonomes et toujours disponibles, mais il transfère une partie de la valeur des fournisseurs de liquidité vers ces arbitragistes.

Un exemple concret

Imaginons un pool à produit constant contenant 10 ETH et 20 000 USDC, soit k = 200 000. Bob veut acheter 1 ETH. Après l'échange, il ne doit rester que 9 ETH ; pour conserver k, le pool doit contenir environ 22 222 USDC. Bob doit donc déposer environ 2 222 USDC, hors frais, alors que le prix affiché avant l'échange était de 2 000 USDC par ETH. La différence illustre l'impact de prix propre à un CFMM.

Les risques à connaître

Pour les fournisseurs de liquidité, le principal piège est la perte impermanente : les arbitrages successifs peuvent rendre un dépôt moins rentable qu'une simple détention des deux actifs. Pour les traders, un pool peu profond entraîne un fort slippage, et les transactions visibles dans la mempool peuvent subir des attaques sandwich. Une formule mal choisie pour un actif donné peut aussi rendre le pool inefficace.

À ne pas confondre avec

  • AMM : AMM désigne tout teneur de marché automatisé, tandis que le CFMM en est la sous-famille définie par un invariant mathématique sur les réserves.
  • Liquidité concentrée : La liquidité concentrée est une variante du produit constant où chaque fournisseur choisit une plage de prix, et non une famille de formules à part entière.
  • Bonding curve : Une bonding curve fixe le prix d'émission d'un token en fonction de son offre, alors qu'un CFMM fixe le prix d'échange entre deux réserves existantes.

Questions fréquentes sur CFMM

Quelle est la différence entre un CFMM et un AMM ?

AMM désigne tout teneur de marché automatisé. Un CFMM est un AMM particulier dont les prix découlent d'un invariant mathématique sur les réserves. La plupart des AMM de la DeFi sont des CFMM, mais certains s'appuient par exemple sur des prix d'oracle.

Pourquoi le prix change-t-il pendant mon swap sur un CFMM ?

Chaque unité achetée modifie les réserves du pool, et donc le prix défini par la formule. Plus votre ordre est grand par rapport à la liquidité disponible, plus le prix moyen obtenu s'éloigne du prix affiché.

Dans le même thème : DeFi (finance décentralisée)

Tous les termes du thème DeFi (finance décentralisée) →

À lire

L'actualité : DeFi (finance décentralisée)

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir avec l'Académie : DeFi Avancée Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en C

← Tout le lexique crypto de A à Z