Mandat d’agent : ce que le contrôle de conformité ne voit pas
L’agent d’Alice envoie 400 tokens du fonds à une adresse vérifiée qu’elle n’a jamais choisie. Quel contrôle l’arrête ?
EN 30 SECONDES
Le contrat de conformité d’ERC-3643 est un contrat séparé qui voit de qui partent les tokens, vers qui et combien ; son appel standard ne dit pas qui a demandé le transfert. Un mandat du brouillon ERC-8226 vérifie l’agent, l’action et le montant, pas la destination des tokens. On voit ici ce qui reste à votre charge.
À RETENIR · 3
- L’appel de conformité standard d’ERC-3643 (ICompliance) n’a aucun champ pour l’adresse qui a demandé le transfert : faites donc respecter le mandat là où cet appelant est visible.
- Le mandat vérifie qui, quoi et combien. Une adresse vérifiée que l’investisseur n’a jamais choisie peut passer, sauf si une politique de destinataire est ajoutée.
- Ne déduisez pas la propriété juridique ou économique d’une adresse seule : les accords juridiques et de conservation de l’émetteur la fixent.
Sur cette page
Ce que le contrat de conformité ne voit pas
EN BREF Le contrôle de conformité d’ERC-3643 reçoit from, to et amount, et rien sur le spender initial, l’adresse qui a appelé transferFrom.
LES MOTS À CONNAÎTRE
- Contrat de conformité
- Le contrat séparé prévu par ERC-3643, que le token interroge pour savoir si un transfert respecte ses règles.
- Spender
- L’adresse qui déplace les tokens d’une autre adresse, dans la limite d’une allowance : ici, l’agent IA.
- Conservation
- Qui garde les actifs pour le compte des investisseurs.
La chaîne d’appels l’explique. Sur le chemin direct, l’agent, en tant que Spender L’adresse qui déplace les tokens d’une autre adresse, dans la limite d’une allowance : ici, l’agent IA. Voir le glossaire, appelle le token. Puis le token appelle son Contrat de conformité Le contrat séparé prévu par ERC-3643, que le token interroge pour savoir si un transfert respecte ses règles. Voir le glossaire séparé.
ÉTAPE PAR ÉTAPE
Étape 1. Appel. L’agent demande au token de transférer les tokens de l’investisseuse (transferFrom).
- Appel L’agent demande au token de transférer les tokens de l’investisseuse (transferFrom).
- Relais Le token interroge son contrat de conformité : de qui, vers qui, combien ?
- Ce qu’il voit Dans le contrat de conformité, l’appelant est le token. Rien dans l’appel ne désigne l’agent.
L’appelant absent est une limite de l’interface. Cela ne veut pas dire qu’on ne peut jamais le retrouver.
Le token peut vérifier ou noter l’appelant avant cet appel. Un exécuteur authentifié peut aussi imposer sa règle.
Il y a aussi les routeurs (qui relaient un ordre), les comptes intelligents (des portefeuilles pilotés par du code) et les comptes délégués. Autant d’appelants en plus. Chacun doit être identifié.
ATTENTION
Les fonctions d’administration demandent aussi une revue. Les contrôles d’un transfert normal ne couvrent pas tout : dans ERC-3643, la création de tokens (mint) et le transfert forcé passent outre aux règles de conformité.
Dans la section suivante : Alors, que vérifie le mandat lui-même sur un vrai ordre ?
Un exemple concret : un mandat, deux ordres
EN BREF Le mandat vérifie qui, quoi et combien, mais pas où vont les tokens.
UN EXEMPLE CONCRET
Chiffres illustratifs
VALIDÉL’agent vend 400 tokens du fonds à un acheteur vérifié
ENTRÉE
- Donneur d’ordre
- Alice (investisseuse vérifiée)
- Agent
- l’agent d’Alice
- Mandat
- transferFrom, 500 par ordre, 1 000 au total
- Allowance
- 1 000 tokens
CE QUI SE PASSE
- L’appelant n’est pas Alice : le token, en contrôle strict, demande le mandat.
- 400 ne dépasse ni la limite de 500 ni les 1 000 restants. Le mandat passe.
- L’allowance couvre 400, l’acheteur est vérifié, les règles de conformité passent.
- L’ordre est exécuté et 400 sont décomptés des plafonds.
SORTIE
- Résultat
- transfert réussi, 600 restants
NON DÉTECTÉMême mandat, 400 tokens vers une adresse qu’Alice n’a jamais choisie
ENTRÉE
- À
- une adresse vérifiée qu’Alice ne connaît pas
- Montant
- 400
CE QUI SE PASSE
- Le mandat porte sur l’agent, l’investisseuse, l’actif, l’action et le montant. Pas de destinataire à vérifier : le contrôle passe.
- Le destinataire est vérifié. Si le solde, le gel, la pause et les règles de conformité passent aussi, le token laisse faire.
SORTIE
- Résultat
- réussi, sauf politique de destinataire ajoutée
Chaque contrôle a fait son travail. Aucun ne vérifie que cette destination est celle voulue par Alice.
OBJET OBTENU
Limiter les destinations, c’est à vous
Dans la section suivante : Et les autres questions, qui y répond ?
Qui décide où vont les tokens
EN BREF Un ordre pose ici quatre questions, et le mandat ne répond qu’à la première. Destination et conservation sont des choix à faire.
Décidez où vont les actifs achetés, et qui en a la Conservation Qui garde les actifs pour le compte des investisseurs. Voir le glossaire. Une adresse du registre d’identité n’est pas toujours un investisseur distinct en droit. L’émetteur peut la lier à une identité.
EN CLAIR
En gros, la propriété économique suit l’intérêt économique, qui n’est pas toujours celui du détenteur juridique. Ne tirez donc ni l’une ni l’autre d’une adresse ou d’un transfert seul.
Sources : ERC-3643, ERC-8226 (brouillon).
FAQ
Non. Quand le contrôle est dans le token, l’allowance (ou l’autorisation d’opérateur) et le mandat doivent tous deux permettre l’action. Le mandat ne donne à lui seul ni la propriété ni le droit de déplacer les tokens.
La chaîne enregistre une adresse et ses attestations d’identité. Ni cela ni un transfert ne tranche seul la propriété juridique ou économique. Les accords juridiques et de conservation de l’émetteur doivent dire à qui sont les actifs, et si ce montage est permis.
NIVEAU TERMINÉ
Ce que vous savez maintenant
- Pourquoi l’appel de conformité standard ne dit pas quel agent a demandé un transfert.
- Pourquoi une adresse vérifiée jamais choisie par l’investisseur peut passer le mandat.
Vérifiez par vous-même
Touchez ou cliquez une question pour voir la réponse.
Votre contrat de conformité devrait refuser les ordres d’agents sans mandat. Pourquoi son appel standard ne peut-il pas le faire seul ?
L’appel ne transmet que from, to et amount, et l’appelant y est le token. Vérifiez le mandat là où l’agent est visible : dans le token avant cet appel, ou dans un exécuteur.
Ancien CTO d’Integra. Auteur nommé (1 sur 5) d’ERC-3643, premier auteur d’ERC-6960, co-auteur d’ERC-7410 et co-auteur d’ERC-8203, encore à l’état de brouillon. Conçoit des systèmes d’IA en production et des systèmes Web3 régulés.
Un projet à livrer ou un poste à pourvoir ?
Parlons de votre besoinSuivre les notes techniques
Recevez les nouveaux articles sur l’IA en production et les smart contracts par email.