Crypto
Révoquer l'approbation
Definition
Révoquer l'approbation est l'acte d'annuler la permission précédemment accordée par un portefeuille à un contrat ou à une adresse pour dépenser vos jetons ou déplacer vos NFTs.
Qu'est-ce que révoquer une approbation ?
Révoquer une approbation signifie retirer une autorisation on-chain précédemment accordée qui permet à un tiersadresse(souvent unsmart contract) de transféreractifsde votre portefeuille selon les règles d'un standard de token.
Sur les chaînes EVM, cela fait généralement référence à l'annulation d'uneallocation ERC-20ou à la désactivation d'unNFTpermission d'opérateur, donc le « dépensier » approuvé ne peut plus déplacer vos tokens ou NFTs sans une nouvelle autorisation.
C'est une habitude essentielle pour sécuriser votre portefeuille crypto car les approbations peuvent persister longtemps après que vous ayez cessé d'utiliser une application, et elles peuvent être abusées si le contrat approuvé est compromis ou si vous tombez dans du phishing d'approbation.
Révoquer l'approbation de token
Pour révoquer l'approbation de token, vous soumettez une transaction qui met à jour la permission que vous avez précédemment accordée lors de l'approbation de token. Pour les tokens ERC-20, cette permission est une « allocation » enregistrée dans le contrat de token, associant votre portefeuille à une adresse de dépensier et un montant maximum qu'il peut transférer via `transferFrom`.
Révoquer signifie généralement définir cette allocation à zéro (ou à un nombre plus petit) en appelant la fonction `approve(spender, newAmount)` du token depuis votre portefeuille. Après la confirmation de la transaction, le dépensier ne peut pas retirer plus que la nouvelle allocation, c'est pourquoi la réduire à 0 est la manière la plus propre d'annuler complètement l'accès.
Révoquer l'allocation
Révoquer l'allocation est l'expression courante pour annuler la limite restante d'un dépensier ERC-20. Mécaniquement, le contrat de token stocke la valeur de l'allocation, et les applications DeFi s'appuient sur elle pour exécuter des échanges, des dépôts ou des remboursements sans vous demander de signer chaque transfert.
Si vous avez une fois approuvé un montant « illimité », le dépensier peut continuer à transférer jusqu'à ce que vous changiez ce nombre—même des mois plus tard—tant que le code du dépensier (ou les clés, si c'est un EOA) peut initier `transferFrom`.
Révoquer l'allocation réinitialise cette valeur stockée, c'est pourquoi c'est une réponse clé lorsque vous recherchez comment révoquer des approbations malveillantes après avoir interagi avec un dApp inconnu.
Revoke.cash
Revoke.cash est une interface populaire qui vous aide à examiner et à révoquer des approbations à travers des tokens et des collections NFT en générant les bonnes transactions onchain pour que votre portefeuille les signe.
Au lieu de trouver manuellement chaque contrat de token et adresse de dépensier, vous connectez votre portefeuille, inspectez les allocations existantes et les permissions d'opérateur, puis soumettez des transactions de révocation (par exemple, en définissant les allocations ERC-20 à 0 ou en désactivant les opérateurs « approuver pour tous » des NFTs).
Des outils comme celui-ci sont utiles car les approbations sont éparpillées à travers de nombreux contrats, et le risque n'est pas toujours évident—surtout après un phishing d'approbation, où un site malveillant vous trompe pour approuver un dépensier que vous n'aviez pas l'intention de faire confiance.
Retirer l'approbation
Retirer l'approbation est essentiellement la même action que révoquer, mais il convient de noter que « approbation » peut signifier différentes autorisations selon le type d'actif.
Pour les NFT ERC-721 et ERC-1155, vous avez peut-être approuvé un identifiant de jeton unique à une adresse spécifique, ou vous avez peut-être accordé une large autorisation d'opérateur (souvent appelée « approuver pour tous ») qui permet à un opérateur de transférer n'importe quel NFT de cette collection. Retirer l'approbation signifie envoyer une transaction pour annuler l'approbation spécifique ou pour désactiver l'autorisation d'opérateur.
Étant donné que les approbations d'opérateur NFT peuvent être étendues, il est judicieux de retirer les approbations dont vous n'avez plus besoin, en particulier pour les places de marché ou les agrégateurs que vous n'utilisez pas activement.
Pourquoi la révocation d'approbation est importante
La révocation d'approbation est importante car les approbations sont l'un des rares moyens par lesquels un tiers peut déplacer des actifs de votre portefeuille sans une nouvelle signature à chaque fois.
Bien que les approbations permettent des expériences DeFi et NFT fluides, elles élargissent également votre surface d'attaque : un protocole compromis, une adresse de dépensier malveillante ou un flux de signature trompeur peuvent transformer une ancienne approbation en une véritable perte.
Auditer régulièrement et révoquer les autorisations inutilisées limite le rayon d'explosion, réduit l'impact des exploits de contrat et complète d'autres meilleures pratiques comme l'utilisation de portefeuilles séparés et la vérification des signatures - des habitudes qui appartiennent à tout guide pratique sur la façon de sécuriser votre portefeuille crypto.
Frequently Asked Questions
Que signifie révoquer une approbation dans la crypto ?
Cela signifie annuler une autorisation que votre portefeuille avait précédemment accordée à une autre adresse pour déplacer vos tokens ou NFTs. Sur les chaînes EVM, cela se fait généralement en réglant une allocation ERC-20 à 0 ou en désactivant une approbation d'opérateur NFT. Une fois révoquée, le dépensier ne peut pas transférer d'actifs sous cette ancienne autorisation.
Comment révoquer une approbation de token ERC-20 ?
Vous la révoquez en envoyant une transaction onchain au contrat de token qui change l'allocation pour l'adresse du dépensier, généralement à zéro. De nombreux portefeuilles et outils de gestion des approbations génèrent cette transaction pour vous. Vous paierez toujours des frais de réseau car il s'agit d'un changement d'état sur la blockchain.
La révocation d'une approbation me rend-elle mes tokens ?
Non, la révocation ne change que les autorisations ; elle ne déplace pas les fonds dans votre portefeuille car les tokens ne sont jamais sortis. Si des tokens ont déjà été transférés en utilisant l'approbation, la révocation empêche d'autres transferts mais ne peut pas annuler les précédents. La récupération dépend alors de la situation spécifique et des contreparties.
Est-il sûr d'utiliser revoke.cash pour supprimer des approbations ?
Revoke.cash est largement utilisé comme une interface pour vous aider à créer les bonnes transactions de révocation, mais la sécurité dépend toujours de la vérification que vous êtes sur le site légitime et de la révision de ce que vous signez. La révocation réelle se produit onchain dans le contrat de token ou de NFT. Vérifiez toujours les adresses des dépensiers et évitez de signer des approbations inattendues.
Pourquoi les dApps demandent-elles des approbations illimitées ?
Les approbations illimitées réduisent les frictions en évitant des transactions d'approbation répétées pour des actions futures comme des échanges ou des dépôts. Le compromis est le risque : si le dépensier est exploité ou malveillant, il peut transférer jusqu'au montant approuvé. Une approche plus sûre consiste à approuver uniquement ce dont vous avez besoin et à révoquer les autorisations lorsque vous avez terminé.