
Raconter l'intention en profondeur (1) : l'état actuel et futur de l'intention dans Web3
TechFlow SélectionTechFlow Sélection

Raconter l'intention en profondeur (1) : l'état actuel et futur de l'intention dans Web3
En fin de compte, cette couche d'abstraction fera en sorte que les applications Web3 semblent des applications ordinaires. Elle réduit la courbe d'apprentissage technologique actuelle et nous aidera à attirer des millions de nouveaux utilisateurs.
Rédaction : Mike Calvanese, Brink
Traduction : TechFlow

Il s'agit de la première partie d'une série en trois volets rédigée par Mike Calvanese et l'équipe de Brink sur le thème des « intents » (intentions).
Le récit autour des intents se propage rapidement. C'est l'une des nombreuses améliorations de l'expérience utilisateur rendues possibles par l'abstraction des comptes (account abstraction), un autre sujet populaire évoqué par Vitalik lors d'EthCC. Les intents permettent aux utilisateurs de définir le résultat qu'ils souhaitent obtenir sur la blockchain, puis délèguent à des solveurs tiers la tâche de réaliser ces résultats, lesquels interagissent directement avec le réseau et les protocoles au nom de l'utilisateur. En fin de compte, cette couche d'abstraction fera en sorte que les applications Web3 ressembleront à des applications classiques. Elle réduira la courbe d'apprentissage technique actuelle et nous aidera à attirer des millions de nouveaux utilisateurs.
Le passage vers le paradigme des intents signifie que les utilisateurs futurs n'auront plus à se préoccuper de tâches techniques comme soumettre une transaction, payer les frais de gaz en ETH, atténuer le MEV sur les AMM via des limites de glissement, agréger des échanges de jetons pour trouver le meilleur itinéraire de routage, ou encore transférer des actifs entre réseaux.
Une manière simple de comprendre les intents est de les considérer comme une déclaration du résultat souhaité par l'utilisateur, plutôt que comme une série d'instructions détaillant comment y parvenir.

Les intents actuels
Les intents ne sont pas un concept nouveau. Avant l'apparition d'Uniswap et des AMM, des projets Ethereum comme EtherDelta et 0x proposaient déjà des carnets d'ordres basés sur les intents. Les marchés NFT utilisent depuis des années des signatures d'intention pour lister des NFT ou faire des offres. De nouveaux systèmes comme CoW Swap et UniswapX fournissent désormais une infrastructure avancée basée sur les intents pour les ordres à cours limité ERC20. À ce stade, le terme « intent » semble presque synonyme de « ordre à cours limité », car dans l'écosystème Web3 actuel, les seuls intents largement supportés sont du type « je veux X, prêt à payer Y ».
L'architecture des intents liés aux ordres à cours limité est généralement simple et axée sur un objectif unique : l'intention d'échanger à un meilleur prix. L'utilisateur signe son intention sous forme d'ordre à cours limité, puis des solveurs cherchent un chemin pour « remplir » cet ordre signé, en utilisant potentiellement des AMM, d'autres sources de liquidité, ou même d'autres intents. Les solveurs ont un incitatif à effectuer cette recherche de chemin, car ils peuvent conserver le surplus généré une fois l'intention satisfaite.

De nombreux systèmes ont été construits pour prendre en charge les ordres à cours limité, mais à mesure que des outils plus avancés basés sur les intents seront développés, nous assisterons à l'émergence d'architectures plus générales capables de supporter des cas d'utilisation plus puissants.
Des exemples de systèmes d'intents généralistes sont Anoma et Flashbots SUAVE, actuellement en développement actif. Ils fourniront une couche de diffusion d'intents, où les utilisateurs pourront diffuser leurs intents signés vers des nœuds de propagation. Ce seront des blockchains dédiées aux intents, facilitant la connexion entre les utilisateurs qui signent des intentions et les solveurs qui exécutent ces intentions sur différents réseaux.
Un autre exemple est Brink, une solution permettant de créer des intents composites. Brink permet aux utilisateurs et développeurs de construire, signer et résoudre des intents selon des états conditionnels, sur plusieurs réseaux compatibles EVM.
L'avenir des intents
Explorons maintenant comment les intents Web3 pourraient évoluer au-delà des simples ordres à cours limité. Voici quelques nouveaux concepts :
-
Intents conditionnels : exécuter une action lorsque une ou plusieurs conditions sont remplies
-
Intents continus : exprimer un besoin d'action répétitive
-
Intents multi-étapes : après la résolution d'un intent, un ou plusieurs nouveaux intents sont ouverts
-
Graphes d'intents : un chemin formé par un ensemble d'intents reliés
Intents conditionnels
Les applications Web3 actuelles ne connaissent qu'un seul type d'intent conditionnel : l'ordre à cours limité. À l'avenir, nous disposerons d'intents pouvant combiner arbitrairement un nombre quelconque de conditions, déclenchant ainsi toute sorte d'action.
En tant qu'utilisateur Web3, vous avez probablement déjà pris de nombreuses décisions conditionnelles. Ces décisions peuvent être exprimées sous forme d'intents, signées puis confiées à des solveurs tiers. Voici quelques exemples :
-
Seuil de prix : « Si le prix de A/B descend en dessous de X, échange B contre A ». Dans la finance traditionnelle, cela s'appelle un « stop-loss ».
-
Décision de gouvernance : « Si une proposition de gouvernance que je ne soutiens pas est adoptée, vendre le jeton A ».
-
Solde de portefeuille : « Si mon portefeuille chaud a insuffisamment d'ETH, transférer davantage d'ETH depuis mon portefeuille froid vers mon portefeuille chaud ».
-
Temps/bloc : « Si plus de X blocs ont été minés, transférer de l'ETH vers une adresse destinataire ».
Tous ces scénarios peuvent être signés comme un unique intent. Une fois la condition remplie, les solveurs surveilleront ces intents et agiront au nom de l'utilisateur. Si l'utilisateur inclut ces conditions dans son intent signé, les solveurs devront prouver leur vérification via un mécanisme de vérification d'état on-chain.
Un intent peut contenir un nombre arbitraire de conditions. Par exemple :
-
« Quand 1) le prix de l’ETH descend en dessous de 1750 $, 2) le rendement moyen en DAI du prêt d’ETH est élevé, et 3) un gros portefeuille (whale) que je suis a acheté au moins 10 ETH au cours des dernières 24 heures, je souhaite acheter 2 ETH avec mes DAI »
Les utilisateurs pourront exprimer leur volonté d’acheter, vendre, staker, transférer ou pontifier des actifs lorsque des conditions complexes d’état seront satisfaites. Le tout via un seul intent signé.
Intents continus
Les intents offriront un moyen d’exécuter des opérations continues indépendamment des protocoles. Bien que les intents actuels impliquent souvent une seule signature correspondant à une action unique (comme un ordre à cours limité), nous verrons bientôt apparaître des intents continus.
Aujourd’hui, les utilisateurs réalisent des actions continues en déposant des fonds dans des protocoles ou des exchanges. Voici quelques exemples :
-
Dollar-cost averaging (DCA) : « Acheter de l’ETH chaque mois au prix du marché avec mes DAI ». Les utilisateurs utilisent généralement des exchanges centralisés comme Coinbase pour cela.
-
Capitalisation des rendements (aussi appelée re-staking) : « Retirer les récompenses du jeton A, les échanger contre le jeton B, puis restaker ». Processus fastidieux nécessitant plusieurs transactions et interactions avec divers protocoles DeFi.
-
Rechargement du portefeuille chaud : « J’ai un portefeuille froid contenant 50 ETH. Chaque fois que le solde d’ETH de mon portefeuille chaud descend en dessous de X, transférer Y ETH depuis mon portefeuille froid vers mon portefeuille chaud ». Nécessite également de nombreuses transactions distinctes.
-
Flux de paiement : « Transférer X USDC toutes les deux semaines vers une adresse destinataire ». Certaines applications de paiement en continu prennent cela en charge, mais exigent que l’utilisateur dépose ses actifs dans un contrat intelligent.
-
Market making : Une position LP basée sur AMM suit essentiellement un cycle infini de deux échanges inverses : « Si le prix de A/B dépasse X, échanger A contre B ; si le prix de A/B descend en dessous de X, échanger B contre A ».
Ces exemples montrent que les opérations continues actuelles obligent les utilisateurs à déposer des fonds dans des protocoles spécifiques et à envoyer de nombreuses transactions. Grâce aux intents, les utilisateurs pourront exprimer leurs opérations continues attendues via une seule signature.
Le DCA est un excellent exemple. Un utilisateur souhaitant acheter ou vendre progressivement (sur une période donnée) pourrait exprimer cela via une signature unique, autorisant un échange hebdomadaire (tous les 50 000 blocs environ sur Ethereum mainnet) de 1 ETH contre DAI au prix fourni par un oracle TWAP ETH/DAI difficile à manipuler, moyennant des frais de 1 % (0,01 ETH). Les solveurs surveilleraient cet intent et vérifieraient les points suivants :
-
Le compte de l’utilisateur dispose-t-il de 1 ETH échangeable ?
-
Plus de 50 000 blocs ont-ils été minés depuis le dernier échange ?
-
Les frais de 1 % (0,01 ETH) suffisent-ils à couvrir les frais de gaz de l’échange ?
-
Après avoir payé les frais de gaz, reste-t-il assez d’ETH pour couvrir les coûts opérationnels du solveur, notamment le risque de rollback en cas de perte lors d’une PGA (priorité gas auction), ou tout autre coût ? Le profit potentiel justifie-t-il l’effort pour le solveur ?
Si toutes ces vérifications passent, le solveur enverra une transaction pour satisfaire l’intention de l’utilisateur d’échanger ETH → DAI. Tant que le compte dispose de suffisamment d’ETH, un seul intent signé pour du « dollar cost averaging » peut être surveillé par des solveurs et générer une série continue de transactions. L’utilisateur obtient ce qu’il veut sans avoir à interagir directement avec le réseau EVM ou un protocole spécifique.

Utiliser les intents pour faire du market making est un autre exemple d’action continue, potentiellement infinie, pouvant être déléguée à un solveur. Un utilisateur souhaitant faire du market making sur ETH/DAI pourrait créer un intent autorisant un échange DAI → ETH à un prix de 1 800 ETH/DAI ou moins, et un échange ETH → DAI à 2 000 ETH/DAI ou plus. Via cet intent, l’utilisateur cherche à verrouiller un profit de 200 DAI lorsque le marché oscille entre ces deux niveaux.

Considérez cela comme deux ordres à cours limité inversés : quand l’un est exécuté, l’autre s’active, et vice versa. L’utilisateur peut signer un seul intent permettant ces échanges à chaque seuil. Tant que le marché oscille entre ces niveaux, les solveurs peuvent théoriquement exécuter un nombre infini de ces ordres, sans aucune action supplémentaire de l’utilisateur.
Intents multi-étapes
Les intents peuvent comporter plusieurs étapes. On peut les voir comme des machines à états, où chaque transaction fait passer d’un état précédent à un nouvel état. Le nouvel état atteint dépend des conditions définies dans l’état précédent.
Un exemple simple d’intent multi-étapes est l’ordre dit « Bracket Order » bien connu en finance traditionnelle. Leur niveau de complexité varie, mais la version simple est courante dans les applications financières. Grâce à la composable et aux intents multi-étapes du Web3, nous pouvons créer des Bracket Orders très puissants.
Un intent Web3 de type Bracket Order pourrait s’exprimer ainsi : « Je veux 1 ETH, prêt à payer 1 800 DAI. Une fois que j’aurai payé 1 800 DAI et obtenu 1 ETH, je souhaite garder cet ETH jusqu’à pouvoir le revendre 2 000 DAI. Si le prix ETH/DAI descend en dessous de 1 620 DAI, je veux limiter mes pertes en vendant cet ETH pour 1 600 DAI, en payant 20 DAI de frais au solveur. Si je conserve toujours cet ETH au moment où [une proposition de gouvernance aléatoire] sera adoptée, je veux le vendre au prix du marché ETH/DAI, en donnant 10 % du produit de la vente au solveur. »

Voici un ordre relativement simple en trois étapes avec quelques déclencheurs conditionnels, mais comme vous pouvez l’imaginer, ce type d’ordres peut devenir bien plus complexe.
Graphes d’intents
Les relations entre les intents des utilisateurs peuvent former des graphes d’intents. Ces graphes représentent des groupes de conditions et d’actions définis par les utilisateurs, menant à des échanges, transferts d’actifs ou autres opérations on-chain. En réalité, tous les exemples d’intents mentionnés précédemment ne sont que des cas particuliers nommés selon certaines configurations de graphe.
Tout comme un carnet d’ordres à cours limité reflète l’état actuel de liquidité du marché, un graphe d’intents peut représenter non seulement l’état actuel, mais aussi de nombreux états futurs potentiels conditionnels de liquidité.
Prenons un exemple : sur un marché fictif où les utilisateurs échangent XYZ contre ETH, ceux-ci expriment des intentions d’achat et de vente de XYZ sous diverses conditions — résultat d’une proposition de gouvernance, minage d’un bloc spécifique, hausse ou baisse du prix de marché, ou encore accomplissement d’un autre intent.

Conclusion
Les intents progressent rapidement, avec de nouveaux développements chaque jour. Voici quelques ressources utiles :
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











