
Projet ERC-7521 : Ajout de l'intention utilisateur aux portefeuilles à abstraction de compte
TechFlow SélectionTechFlow Sélection

Projet ERC-7521 : Ajout de l'intention utilisateur aux portefeuilles à abstraction de compte
L'intention universelle de l'utilisateur ouvre un tout nouveau monde.
Rédaction : Stephen Monn
Traduction : TechFlow

Dans le paysage en constante évolution des blockchains et des applications décentralisées, l'attention se concentre de plus en plus sur le concept d'intentions définies par les utilisateurs plutôt que sur les simples transactions. Cela permet aux utilisateurs d'éviter la complexité croissante des processus DeFi et ouvre une série de nouveaux cas d'utilisation qui ne sont encore qu'à l'état de conception.
Étant donné que certaines applications utilisent déjà leurs propres structures d'intentions, incompatibles entre elles, il devient pertinent de créer une norme universelle d'intentions pouvant être partagée et comprise par tous les utilisateurs, applications, portefeuilles, solveurs, chercheurs, etc.
Afin de favoriser la compositabilité et réduire les barrières à l'entrée, nous proposons ERC-7521, une norme destinée à prendre en charge les intentions universelles pour les portefeuilles à contrat intelligent.
Qu'est-ce qu'une intention utilisateur ?
Ce domaine étant très nouveau, la définition d'une intention reste actuellement un peu floue. D’un point de vue général, ce terme désigne généralement l’expression par un utilisateur d’un résultat souhaité ou d’un état final attendu sur la blockchain. Pour les besoins de cette spécification, une intention est définie comme un ensemble d'opérations et d'attentes fixées par l'utilisateur. Ces opérations et attentes peuvent être combinées avec celles d'autres intentions afin de satisfaire au mieux les intérêts communs et maximaux de toutes les parties impliquées.
La séquence d'opérations sur la blockchain satisfaisant pleinement toutes les parties concernées est appelée une solution. Des solveurs spécialisés (semblables aux « bundlers » dans ERC-4337) rivaliseront pour trouver la solution offrant le plus haut niveau de satisfaction aux utilisateurs. Cela peut se faire en identifiant le chemin on-chain le plus efficace, en exploitant des sources de liquidités off-chain, en combinant les intentions d'utilisateurs différents afin de tirer parti de besoins communs, voire en incluant leurs propres intentions.
Ajouter les intentions utilisateur à l'abstraction de compte
La clé pour activer des intentions universelles réside dans l'utilisation de comptes abstraits basés sur des contrats intelligents. À l’instar d’ERC-4337, les intentions sont signées sous forme de messages, puis validées sur la chaîne via des transactions distinctes. Ces messages signés sont ensuite diffusés dans leur propre mempool.
L’objectif de cette spécification n’est pas de détailler précisément comment les intentions doivent être traitées, structurées ou gérées en dehors de la chaîne, mais plutôt de fournir aux portefeuilles à contrat intelligent un cadre leur permettant d’intégrer et de prendre automatiquement en charge la vaste gamme de possibilités définies par les intentions signées elles-mêmes. Ainsi, à mesure que de nouveaux cas d’utilisation émergeront, ce cadre devra aussi permettre des mises à jour et extensions de code fluides et sans permission.

Point d'entrée unique et normes d'intentions illimitées
Afin de faciliter ce processus d’évolution fluide et permissive, le contrat EntryPoint d’ERC-4337 a été pris comme modèle, tout en étant divisé en deux parties distinctes. La première partie, appelée Point d'Entrée (EntryPoint), constitue l’entrée principale pour soumettre les solutions aux intentions. Elle est chargée de valider la signature de l’intention ainsi que d’exécuter une logique de traitement avancée des intentions.
Le contenu spécifique de cette logique de traitement est défini dans un contrat séparé appelé Norme d'Intention (Intent Standard), spécifié directement par le message d’intention signé lui-même. Le Point d’Entrée appelle ces contrats pour traiter chaque intention. Ce sont donc les Normes d'Intention qui définissent comment les données supplémentaires attachées à une intention doivent être interprétées et exécutées, ainsi que les règles fondamentales hors chaîne relatives aux vecteurs d’attaque par déni de service inhérents aux intentions — telles que la manière de transmettre les messages aux solveurs ou les mécanismes de protection contre les attaques DoS.

Ces normes d'intentions doivent être développées indépendamment de cette spécification. Nous prévoyons que, à mesure que l'écosystème des intentions mûrira, de nouvelles normes apparaîtront, optimisées pour des niches particulières ou adaptées à des cas d'usage émergents, intégrant des fonctionnalités supplémentaires. L'adoption et le soutien de ces normes seront guidés par le consensus social des développeurs de portefeuilles, des solveurs d'intentions, ainsi que par les besoins des utilisateurs finaux.
Pour garantir que notre proposition ERC dispose d’une fonctionnalité significative dès ses débuts, nous avons conçu une norme d’intention basée sur les actifs afin de couvrir la majorité des cas d’usage blockchain actuels. Nous affinerons cette norme (ainsi que cet ERC) dans un environnement public, en fonction des besoins de l’écosystème.
Une structure d'intention floue mais puissante
Une intention utilisateur contient principalement deux types de données :
-
Des données de validation nécessaires, utilisées par le contrat EntryPoint pour authentifier le message auprès de l’expéditeur avant son exécution.
-
Des données supplémentaires spécifiques à la Norme d'Intention indiquée.
Les données liées à la norme d’intention peuvent être de toute nature, mais sont toujours divisées en segments distincts appelés segments d'intention.
Le contrat EntryPoint ne comprend pas explicitement le contenu de ces données, mais reconnaît néanmoins leur segmentation. Il appelle le contrat Norme d'Intention pour traiter chaque segment un par un, et impose que les segments d'une même intention soient toujours traités dans l'ordre spécifié. Toutefois, le Point d'Entrée autorise le traitement d'autres intentions entre les segments d'une intention donnée.
Ces segments d’intention sont généralement composés d’opérations que l’utilisateur souhaite effectuer ou de vérifications de conditions. En outre, un segment peut transmettre des données au segment suivant pendant son traitement. Ces données, appelées données contextuelles d’intention, sont utiles pour valider les changements intervenus entre les segments et éviter le recalcul de données déjà calculées. L’exploitation optimale de ces données relève de la responsabilité de la norme d’intention.

Combiner les intentions pour une satisfaction maximale
Durant le traitement d’une intention, celle-ci peut exprimer son insatisfaction face à toute condition non remplie — qu’il s’agisse d’un solde inférieur au prévu ou d’un critère d’évaluation défini par la norme d’intention retournant faux. Dans un tel cas, toute la transaction est annulée, y compris les opérations potentiellement réalisées auparavant pour d’autres intentions non liées.
Seules les intentions soumises et traitées dans un ordre permettant de satisfaire toutes les parties sont considérées comme consommées, et leur état résultant est alors autorisé à persister sur la chaîne. C’est cette combinaison d’intentions qui constitue une solution, envoyée au contrat EntryPoint pour exécution.
Toutefois, la simple soumission d’une liste d’intentions ne suffit pas, car les segments d’intentions différentes peuvent être ordonnés différemment. Une solution doit donc également spécifier comment les segments d’intentions différentes doivent être triés durant le traitement (c’est-à-dire comment entrelacer les segments).

Une partie du processus de résolution consiste souvent pour un solveur à formuler une intention destinée à aider à satisfaire un groupe d’autres intentions, permettant ainsi de maximiser la satisfaction des utilisateurs tout en générant un profit.
Conclusion : renforcer les interactions blockchain pilotées par les intentions
L'objectif de cette spécification est de définir un cadre fondamental pour les portefeuilles à contrat intelligent, leur permettant de se connecter et d'offrir aux utilisateurs une expression puissante de leurs intentions, même tandis que l'écosystème continue d'évoluer. Définir les intentions comme un ensemble de segments plus petits améliore grandement l'expérience utilisateur en réduisant le nombre de signatures requises. Les segments d'intentions et les données contextuelles partagées permettent également de débloquer des fonctionnalités puissantes sans gaspiller excessivement de gaz. Les intentions peuvent faire confiance au fait que tous leurs segments seront traités dans l'ordre, sans avoir besoin de vérifications manuelles.
Les intentions universelles ouvrent un tout nouveau monde, dont nous commençons à peine à explorer les potentialités. Des cas simples comme les échanges de jetons sans frais de gaz, jusqu’à des intentions conditionnelles plus complexes automatisant le transfert de fonds depuis un portefeuille froid vers un portefeuille chaud, ou encore l’achat quotidien de cryptomonnaies via un seul message signé — les possibilités sont immenses ! Notre spécification d’une norme d’intention basée sur les actifs n’est que la première d’une longue série d’itérations visant à permettre à la communauté d’exploiter ce nouveau cadre.
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














