Aprobación de tokens (token approval)
Una aprobación de tokens es un permiso on-chain que concedes a un contrato inteligente para gastar un token concreto de tu billetera, hasta un importe elegido. El mecanismo procede del estándar de tokens ERC-20: los contratos no pueden simplemente tomar tus tokens, así que protocolos como los exchanges descentralizados te piden primero que apruebes su contrato como gastador (spender), y solo después un swap o un depósito puede mover los tokens.
Por ejemplo, antes de hacer por primera vez un swap de USDC en un DEX, tu billetera te presenta una transacción de aprobación que designa como gastador al router del DEX. Muchas aplicaciones solicitan por defecto una aprobación ilimitada para que no tengas que volver a aprobar ese token, lo cual es cómodo pero implica que el contrato puede mover cualquier cantidad de ese token desde tu dirección de forma indefinida. Los NFT tienen un permiso equivalente que puede abarcar de una vez una colección entera.
Las aprobaciones persisten hasta que se revocan de forma explícita, y son la materia prima de los exploits de aprobaciones: los sitios maliciosos las recolectan y los protocolos hackeados exponen a todos los que las concedieron. La buena higiene consiste en preferir aprobaciones por el importe exacto cuando tu billetera ofrezca esa opción, y en revisar y revocar de vez en cuando los permisos obsoletos con una herramienta de gestión de aprobaciones de buena reputación. Un error común es creer que desconectar tu billetera de un sitio web cancela sus aprobaciones; la desconexión solo impide que el sitio vea tu dirección, mientras que el permiso on-chain permanece hasta que envías una transacción de revocación.