Crypto
Approbation de jetons
Definition
L'approbation de jeton est une autorisation de portefeuille qui permet à un contrat intelligent de dépenser un montant spécifié de vos jetons en votre nom.
Qu'est-ce que l'approbation de jeton ?
L'approbation de jeton est une autorisation que vous accordez depuis votre portefeuille qui permet à un "dépensier" spécifique adresse (généralement un smart contract) de déplacer un certain montant d'un jeton que vous possédez. C'est un élément fondamental de DeFi car la plupart des applications ne peuvent pas retirer des jetons directement de votre portefeuille sans votre consentement explicite.
Les approbations sont distinctes des échanges ou des dépôts : vous pouvez approuver aujourd'hui et le contrat peut ensuite dépenser jusqu'au montant approuvé lorsque vous interagissez avec lui. Comprendre les approbations est également une partie pratique de la sécurisation de votre portefeuille crypto, car une approbation risquée peut être abusée même si vous ne signez jamais un autre transfert de jeton.
Approbation de jeton crypto
Dans les flux d'approbation de jeton crypto, l'approbation est généralement la première étape avant qu'une application puisse faire quoi que ce soit avec vos jetons. Par exemple, lorsque vous utilisez un DEX, un protocole de prêt, ou rendementle coffre-fort, le contrat de l'application a besoin d'une autorisation pour déplacer votre USDC,DAI, ou d'autrestokens ERC-20de votre adresse vers le protocole.
Vous accordez cette autorisation en signant une transaction « approuver » dans votre portefeuille, ce qui écrit une allocation sur la chaîne. Après cela, le protocole peut appeler une fonction qui transfère des tokens de vous vers lui-même (ou un autre contrat) dans le cadre d'une transaction ultérieure que vous initiez.
Comme les approbations persistent jusqu'à ce qu'elles soient modifiées, il est sage de révoquer périodiquementl'approbationpour les contrats que vous n'utilisez plus.
L'approbation ERC-20
L'approbation ERC-20 fait référence au mécanisme standard défini par l'interface de token ERC-20 : un propriétaire appelle `approve(spender, amount)` pour définir combien de tokens le dépensier est autorisé à utiliser, et le dépensier utilise ensuite `transferFrom(owner, recipient, amount)` pour déplacer des tokens dans cette limite. Le contrat de token suit cette autorisation comme une allocation identifiée par (propriétaire, dépensier).
Il est important de noter que l'approbation ne déplace pas les fonds par elle-même ; elle définit seulement les règles pour ce que le dépensier peut faire plus tard. De nombreux portefeuilles et dApps affichent cela comme « Autoriser cette application à dépenser votre token.
» Pour réduire les surprises, utilisez des outils de simulation de transaction lorsque cela est disponible afin que vous puissiez prévisualiser ce qu'une action de suivi est susceptible de faire avec vos tokens approuvés.
Approbation illimitée
L'approbation illimitée est lorsque vous approuvez un très grand nombre (souvent la valeur maximale de uint256) afin que le dApp n'ait pas besoin que vous approuviez à nouveau pour des actions futures. Cela améliore la commodité : une approbation peut couvrir de nombreux échanges, dépôts ou remboursements, mais cela augmente le rayon d'impact si le contrat de dépense est malveillant, compromis, ou si vous avez approuvé la mauvaise adresse.
Les approbations illimitées sont également une cible courante pourphishing d'approbation, où un site vous trompe en vous faisant approuver un dépensier qui peut ensuite vider des tokens sans avoir besoin d'une autre signature.
Une habitude plus sûre est d'approuver uniquement ce que vous avez l'intention d'utiliser, ou d'utiliser des approbations illimitées uniquement avec des contrats de confiance élevée, puis de révoquer l'approbation lorsque vous avez terminé.
Allocation
L'allocation est l'enregistrement on-chain de combien un dépensier peut encore dépenser du solde d'un propriétaire pour un jeton donné. Pensez-y comme à une limite de dépense prépayée : si vous définissez une allocation de 500 jetons et que le dépensier en utilise 120 via `transferFrom`, l'allocation restante devient 380 (sauf si le jeton utilise un modèle non standard).
Les allocations sont spécifiques au jeton et au dépensier, donc approuver un routeur DEX pour USDC ne l'approuve pas pour DAI, et approuver un contrat n'approuve pas un autre. Changer une allocation est également un changement d'état qui coûtegaz, et certains tokens ont historiquement rencontré des cas particuliers lors de la mise à jour d'une autorisation non nulle directement.
En pratique, l'essentiel à retenir est de considérer les autorisations comme des permissions permanentes que vous devriezaudit, surtout après avoir interagi avec de nouvelles dApps.
Pourquoi l'approbation des tokens est importante
L'approbation des tokens est importante car c'est la couche de permission qui rend les applications non-custodiales: les protocoles peuvent exécuter des actions en plusieurs étapes (échange, dépôt, remboursement, rééquilibrage) sans prendre la garde de votre portefeuille.
En même temps, les approbations sont l'un des prompts de portefeuille les plus mal compris, et les erreurs peuvent coûter cher—surtout avec des approbations illimitées ou lorsque les utilisateurs tombent dans le phishing d'approbation.
Une bonne hygiène inclut la vérification de l'adresse du dépensier, l'utilisation de la simulation de transaction pour comprendre ce qu'une transaction est susceptible de faire, et la révision régulière et la révocation des approbations pour les anciens contrats.
Si vous construisez des habitudes plus sûres autour de la sécurisation de votre portefeuille crypto, gérer les approbations de tokens est l'une des étapes ayant le plus d'impact que vous puissiez prendre.
Frequently Asked Questions
Comment fonctionne l'approbation de token ?
Votre portefeuille signe une transaction d'approbation qui définit une allocation pour une adresse de dépensier spécifique sur un contrat de token spécifique. Plus tard, ce dépensier peut appeler une fonction comme transferFrom pour déplacer des tokens jusqu'à l'allocation restante. L'approbation persiste jusqu'à ce que vous la changiez ou la révoquiez.
L'approbation de token est-elle la même chose que l'envoi de tokens ?
Non. Une approbation ne fait que donner la permission ; elle ne transfère pas les tokens par elle-même. Les tokens se déplacent plus tard lorsque le dépensier approuvé utilise cette permission, généralement dans le cadre d'une action d'application décentralisée que vous initiez.
Qu'est-ce qu'une approbation de token illimitée et est-ce sûr ?
Une approbation illimitée fixe l'allocation à une valeur très élevée afin que vous n'ayez pas besoin d'approuver à nouveau. C'est pratique mais plus risqué car un dépensier malveillant ou compromis pourrait vider ce token sans autres approbations. Utilisez-le uniquement avec des contrats de confiance et révoquez-le lorsque vous avez terminé.
Comment puis-je révoquer une approbation de token ?
Vous pouvez révoquer l'approbation en ramenant l'allocation pour ce dépensier à 0 (ou un montant inférieur) en utilisant votre portefeuille ou un outil de gestion des approbations. Cela nécessite une transaction sur la chaîne et des frais de gaz. Après avoir révoqué, le dépensier ne peut plus transférer de tokens en utilisant l'ancienne allocation.
Qu'est-ce que le phishing d'approbation dans la crypto ?
Le phishing d'approbation est une arnaque où un site vous trompe pour approuver une adresse de dépensier qui peut ensuite retirer vos tokens. Comme les approbations peuvent être illimitées et persistantes, l'attaquant peut ne pas avoir besoin que vous signiez un transfert par la suite. Vérifiez toujours le dépensier et utilisez la simulation de transaction lorsque cela est possible.
Related Terms
Approval Phishing
Approval phishing is a crypto scam that tricks you into granting a smart contract permission to move your tokens or NFTs from your wallet.
Revoke Approval
Revoke approval is the act of cancelling a wallet’s previously granted permission for a contract or address to spend your tokens or move your NFTs.
ERC-20
ERC-20 is the standard set of rules that makes Ethereum-based tokens work consistently across wallets, exchanges, and smart contracts.