Comment le modèle LP d'Uniswap v3 pourrait-il être amélioré sur la base de l'ERC-3525 ?
TechFlow SélectionTechFlow Sélection
Comment le modèle LP d'Uniswap v3 pourrait-il être amélioré sur la base de l'ERC-3525 ?
À l'heure actuelle, la DeFi est entrée dans une phase de conception et de mise en œuvre de produits financiers plus complexes et multidimensionnels, et des modèles comme la gestion différenciée des positions vont apparaître en abondance.
Auteurs : Will Wang, Ethan Tsai
Will Wang, cofondateur de Solv Protocol et initiateur de la norme ERC-3525
Ethan Tsai, membre clé de l'équipe technique de Solv Protocol et contributeur principal d'ERC-3525
Préambule : Cet article a été rédigé le 23 mars 2021, soit le lendemain du lancement de la version v3 de l'échange décentralisé Uniswap.
À cette époque, l'équipe Solv était en train de soumettre au sein de la communauté Ethereum un projet de norme ERC-3525. En découvrant la conception des LP (liquidity providers) d'Uniswap v3, nous étions enthousiastes à l'idée que le concept d'« application des NFT aux usages financiers » coïncidait avec une grande figure du secteur. Nous pensions également que la norme ERC-3525, alors en cours de conception et de soumission, pouvait apporter des améliorations majeures à la version v3, notamment en offrant aux LP une meilleure liquidité et des capacités de gestion accrues.
Cet article examine le fonctionnement du modèle de market-making par intervalles dans Uniswap v3, analyse minutieusement ses problèmes intrinsèques, puis propose des solutions fondées sur ERC-3525 pour surmonter ces obstacles principaux.
Plus d'un an plus tard, ERC-3525 est devenu une norme officielle de la communauté Ethereum. Nous estimons que les propositions d'amélioration avancées ici conservent toute leur pertinence ; c'est pourquoi nous republions cet article.
Étant donné que l'article date d'une période antérieure, certains aspects techniques diffèrent légèrement de la norme finale ERC-3525. Cette précision est importante.
I. Contexte
Uniswap V3 introduit une capacité différenciée de gestion des positions des market-makers, permettant à ces derniers d'allouer différents montants de capital selon les intervalles de prix. Lorsque le prix de transaction se situe dans un intervalle donné, seule la part correspondante du capital participe au market-making ; hors de cet intervalle, cette part n'est pas engagée. Il s'agit d'une innovation puissante, dont la valeur et la mise en œuvre comportent de nombreux détails que nous ne développerons pas ici. Nous allons uniquement discuter d’un point spécifique : la méthode de gestion des positions, autrement dit la mise en œuvre technique des LP Uniswap V3.
Comme on le sait, les LP d’Uniswap V2 sont conformes à la norme ERC-20. Puisqu’il n’y avait pas de gestion par intervalles de prix dans V2, chaque jeton LP représente en réalité une position couvrant toute la plage de prix. De plus, comme les positions ne sont pas différenciées, le pool et les LP forment un modèle intégré unique, où pool et jeton LP sont fusionnés — une approche aujourd’hui majoritairement adoptée par les projets DeFi.
En raison des limites du modèle ERC-20, il est impossible de gérer des positions différenciées sans créer un contrat ERC-20 distinct pour chaque position, ce qui serait coûteux et inefficace. D’autre part, les positions différenciées doivent converger vers un pool de liquidités commun, rendant obsolète le modèle fusionné entre LP et pool. Pour résoudre ces deux problèmes, Uniswap V3 a opté pour une solution : transformer le jeton de gestion de position en ERC-721 et séparer le pool en un contrat autonome.
II. Valeur de la tokenisation des actifs sous-jacents (tokenization of underlying assets)
La solution de gestion des positions proposée par Uniswap V3 est-elle optimale ? Pour répondre à cette question, commençons par rappeler la valeur du modèle dominant dans les principales plateformes DeFi : la « tokenisation des actifs sous-jacents ».
La tokenisation des actifs sous-jacents signifie que lorsqu’un utilisateur dépose des actifs dans un protocole DeFi, le contrat du pool lui-même agit comme un contrat de jeton, émettant un jeton qui sert de preuve de dépôt. Ce modèle reste la solution privilégiée car il crée un modèle d’« actifs en double couche », séparant les actifs physiques des actifs tokenisés, générant ainsi deux valeurs essentielles :
Premièrement, la tokenisation crée un nouvel actif dérivé, libérant largement la liquidité des actifs sous-jacents. Par exemple, les cToken de Compound ou les LP d’Uniswap V2 ont une valeur intrinsèque liée à leurs actifs de base, avec un prix calculable. Aujourd’hui, de nombreuses plateformes permettent déjà l’échange ou la mise en garantie de ces LP, augmentant significativement la liquidité des actifs utilisateurs.
Deuxièmement, la séparation des deux couches permet une gestion indépendante, simplifiant la gestion des actifs pour le protocole tout en renforçant la stabilité des actifs sous-jacents. Par exemple, lorsque l’utilisateur souhaite vendre, mettre en garantie ou transférer ses actifs, il suffit d’utiliser les protocoles standards de transfert de jetons, sans nécessiter de fonctionnalités spécifiques du protocole de pool. En outre, le changement de propriété des actifs sous-jacents via le transfert du jeton évite aux utilisateurs de retirer puis de redéposer leurs actifs, préservant ainsi la taille et la stabilité du pool.
Le modèle « Lego » du monde DeFi tire une grande partie de sa puissance de ces deux capacités. Ainsi, l’architecture de gestion des actifs sous-jacents de tout protocole DeFi — c’est-à-dire sa méthode de tokenisation — devrait prioritairement préserver au maximum ces deux valeurs. Tout effort visant à atteindre cet objectif est justifié.
III. Problèmes des LP de position Uniswap V3
Revenons maintenant à la solution LP d’Uniswap V3. On constate un problème évident : bien que la gestion basée sur la norme ERC-721 permette des positions différenciées, elle ne préserve pas pleinement les deux valeurs mentionnées ci-dessus. Illustrons cela à travers deux scénarios :
Modification de position
Uniswap V3 permet de modifier une position existante, notamment son intervalle de prix, une fonctionnalité manifestement nécessaire. Mais un utilisateur peut vouloir aller plus loin. Imaginons qu’un utilisateur ait placé 1 million de dollars sur la paire ETH-USDC dans l’intervalle 1500–2000, et décide de transférer 300 000 dollars vers l’intervalle 1000–1200 pour anticiper une baisse possible. Avec l’implémentation actuelle d’Uniswap V3, la seule option consiste à retirer 300 000 dollars de la position initiale, puis à créer une nouvelle position sur le nouvel intervalle. Cette approche contrevient clairement à l’objectif évoqué précédemment : minimiser le retrait des actifs sous-jacents afin de maintenir la stabilité du pool.
Liquidité des actifs
Comme mentionné, les LP d’Uniswap V2 sont désormais des actifs largement acceptés. Les LP de V3 connaîtront probablement le même sort, entraînant une demande croissante pour leur mise en garantie, leur échange ou d’autres traitements. Or, la norme ERC-721 impose des limitations qui rendent difficile la flexibilité dans ces cas. Par exemple, si deux plateformes proposent un service de mise en garantie pour les LP V3, et qu’un utilisateur hésite sur le choix, la solution la plus simple serait de diviser son capital 50/50. Facile avec ERC-20, mais impossible directement avec ERC-721. Devra-t-il créer deux LP identiques sur le même intervalle juste pour y parvenir ?
La réponse d’Uniswap consiste à recourir à des contrats périphériques ou tiers proposant une re-fongibilité (refungibility) via des jetons ERC-20. Mais cette solution n’est guère satisfaisante. D’un côté, créer un contrat ERC-20 par ID ERC-721 provoque un morcellement catastrophique des contrats, rendant difficile leur traitement par les plateformes recevant les LP. Inversement, regrouper plusieurs IDs dans un même contrat complique la gestion des utilisateurs et pose des défis complexes en matière de valorisation. Ceux familiers avec les schémas de re-fongibilité dans le domaine NFT savent qu’ils peinent à gérer des actifs financiers aussi sophistiqués que les LP de position.
En somme, les LP basés sur la norme ERC-721 standard peinent à reproduire les capacités de gestion et les modes de liquidité des LP ERC-20 — or, ce sont précisément les caractéristiques centrales de ce type d’actif. Si Uniswap V3 se contente de cette approche, cela pourrait nuire sérieusement à l’émergence du marché des LP.
IV. Solution
Notre capacité à analyser rapidement et profondément ces problèmes vient du fait que nous avons rencontré des situations similaires lors de la conception de produits de prêt à durée fixe sur le marché du crédit ou de produits à déblocage progressif sur le marché de l’investissement. Nous avons alors élaboré des solutions supérieures à la norme ERC-721 standard. Nous sommes convaincus que cette même solution s’appliquerait parfaitement aux LP d’Uniswap V3, leur conférant une meilleure liquidité et des capacités de gestion améliorées.
La réponse réside dans un nouveau type de protocole d’actifs, que nous appelons SFT (Semi-Fungible Token), une désignation regroupant une série d’interfaces. Les détails seront publiés progressivement. En bref, un SFT est un NFT doté d’une quantité, pouvant être divisé, fusionné ou transféré partiellement. Par ailleurs, pour mieux supporter le modèle « d’actifs en double couche », le SFT inclut au niveau du protocole une capacité descriptive des actifs sous-jacents, facilitant et normalisant cette architecture. Enfin, pour interagir efficacement avec les infrastructures existantes de DeFi, le SFT reste compatible avec ERC-721 : tout protocole supportant ERC-721 peut traiter un SFT comme un NFT standard.
Sur le plan technique, le protocole inclut notamment les interfaces suivantes (liste partielle) :
function safeTransferUnitsFrom(address from, address to, uint256 tokenId, uint256 targetTokenId, uint256 transferUnits) external;
function split(uint256 tokenId, uint256 newTokenId, uint256 units) external;
function merge(uint256 tokenId, uint256 targetTokenId) external;
function approveUnits(address to, uint256 tokenId, uint256 units) external ;
Ici, "Units" désigne la quantité contenue dans un NFT.
Flexibilité de gestion des actifs
Grâce à l’ajout de l’attribut quantitatif et aux fonctions de division, fusion et transfert partiel, les problèmes des LP Uniswap V3 peuvent être bien résolus. Par exemple, si vous souhaitez transférer une partie de votre position vers un autre intervalle de prix, il vous suffit de diviser le jeton LP actuel selon le montant désiré, puis de modifier l’intervalle de prix sur l’une des parties — sans avoir à retirer les fonds. Pour les opérations de transfert, d’échange ou de mise en garantie, un traitement similaire est possible. Comme la quantité du LP correspond directement aux actifs sous-jacents, son prix reste transparent et facile à déterminer, éliminant le besoin de protocoles externes ou de regroupement en ERC-20. Ainsi, utilisateurs et protocoles DeFi retrouvent des capacités comparables à celles des LP ERC-20.
Intégration LP et pool
En outre, la capacité du SFT à décrire les actifs sous-jacents au niveau du protocole rend la relation d’attribution entre jeton et actif aussi flexible que celle d’un ERC-20. Cela permettrait à Uniswap V3 de réintégrer facilement le jeton LP et le pool en une entité unique, revenant ainsi au modèle simple et clair de « double couche » adopté par V2 et la plupart des protocoles DeFi actuels.
Du point de vue de la conception d’un DEX comme Uniswap, cette intégration n’est pas obligatoire. La documentation de V3 précise même que la séparation entre jeton LP et pool est intentionnelle. Cependant, nous pensons que l’unification offrirait une cohérence bénéfique dans le traitement des actifs doubles, améliorant la liquidité des LP et réduisant les frictions de confiance. Cette piste mérite donc d’être considérée sérieusement.
Bien sûr, d'autres facteurs entrent en jeu pour réaliser ce modèle intégré, tels que la taille potentielle excessive du contrat de base ERC-721 dépassant la limite EIP-170. Ce sont des défis que nous avons déjà rencontrés et résolus en pratique, et qui restent techniquement surmontables.
V. Conclusion
En résumé, notre conclusion est la suivante : le DeFi est entré dans une phase de conception et de mise en œuvre de produits financiers plus complexes et multidimensionnels. Des modèles comme la gestion différenciée des positions vont se multiplier.
Dans ce contexte, conserver la liquidité et la facilité de gestion des actifs LP exige impérativement une nouvelle norme d’actifs. Le SFT constitue notre réponse à cette série d’enjeux.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














