Séparer autorisation, transfert et révocation
À la fin, expliquez le schéma avec vos mots, résolvez le cas et justifiez la correction.
Prérequis : Wallets hot, warm et cold · Un état partagé et des comptes
Niveau 2 · Intermédiaire →Parcours de lecture · 12 / 35 · Intermédiaire
Une approbation ERC-20 autorise un contrat à transférer un montant de tokens pour votre compte.
L’essentiel
Une approbation ERC-20 autorise un contrat à transférer un montant de tokens pour votre compte. Certaines autorisations sont très élevées et persistent après une première utilisation. Signer une autorisation mal comprise peut être aussi dangereux qu’envoyer directement les actifs.
Le mécanisme
Les risques applicatifs comprennent bugs, réentrance, manipulation de prix, droits administratifs abusifs et dépendances défaillantes. Un audit réduit une partie de l’incertitude sans garantir l’absence de faille. Les limites d’exposition et la possibilité de suspendre une opération doivent être évaluées à l’échelle du système.
Les points d’attention
Les contrats ne connaissent pas automatiquement l’identité humaine derrière une adresse. La transparence est pseudonyme, et les interactions publiques peuvent relier des comportements. Un service RPC ou une interface centralisée peut par ailleurs observer des métadonnées ou devenir indisponible sans que la chaîne s’arrête.
Comprendre en profondeur
Une approbation ERC-20 permet généralement à un bénéficiaire de déplacer des jetons dans la limite d’une allocation. Elle ne les transfère pas nécessairement immédiatement. Le bénéficiaire peut être un contrat dont le comportement mérite examen. Une allocation illimitée réduit les approbations répétées mais maintient une permission plus large. Un permit signé peut autoriser un comportement similaire sans transaction d’approbation initiale du détenteur.
Limites et erreurs fréquentes
Déconnecter un site supprime généralement une connexion d’interface, pas une allocation sur chaîne. Révoquer peut nécessiter une transaction et des frais. Le symbole du jeton ne suffit pas : plusieurs contrats peuvent porter le même. Identifiez chaîne, contrat du jeton, bénéficiaire, montant et éventuels échéance ou nonce.
Le mécanisme en un schéma
- Autoriser un bénéficiaire
- Allocation enregistrée
- Permission utilisée
- Révoquer le reliquat
Appliquer la leçon à un cas
Un utilisateur autorise 1 000 unités, en dépense 100 par ce bénéficiaire puis déconnecte le site. Supposez une réduction normale de l’allocation. Notez la permission restante séparément du solde du portefeuille et du statut de connexion.
Une allocation de 900 subsiste dans cet exemple. La déconnexion ne l’a pas révoquée. Une modification appropriée sur chaîne peut la supprimer, selon le comportement réel du jeton. Vérifiez l’état après inclusion : une demande de confirmation du portefeuille ne prouve pas que la révocation a abouti.
Ce qu’autorise une signature
Examiner
Vérifiez réseau, destinataire, actif et permissions.
Préparer une note de correction
Décrivez le passage et la correction proposée. Vous pourrez copier cette note pour la partager ; rien n’est envoyé. N’incluez aucune donnée personnelle ou confidentielle.