Aprobaciones de tokens ERC-20: qué significa una asignación de gasto
Entiende quién concede una asignación de gasto ERC-20, qué permite y en qué se diferencia de conectar una billetera o completar un intercambio.
Actualizado:
Puntos clave
- Una asignación ERC-20 es un permiso que el propietario de un token concede a un gastador específico para utilizar una cantidad determinada.
- La aprobación es independiente de una transferencia o un intercambio; para mover los tokens se requiere una operación distinta.
- Desconectar un sitio no revoca una asignación registrada en la cadena; para completar la revocación se requiere una transacción en la cadena.
La aprobación de un token ERC-20 es un permiso para que un gastador específico use tokens que pertenecen al propietario del token, hasta el límite de una asignación. No es lo mismo que conectar una billetera a una aplicación, y por sí sola no completa una transferencia ni un intercambio. Entender estas diferencias puede ayudarte a interpretar una solicitud de permiso y a comprender qué significa tener una asignación vigente.
Por qué una aplicación podría solicitar permiso
Una aplicación que necesita que un contrato use tokens ERC-20 puede solicitar una asignación antes de realizar una operación independiente que involucre esos tokens. La aprobación concede permiso a un gastador específico con respecto a las tenencias del propietario del token. Es un permiso, no el movimiento de los tokens en sí.
Interpreta la solicitud como una descripción del acceso: qué token está involucrado, quién tendría permiso para gastarlo y qué cantidad se permite. No des por sentado que el nombre de una aplicación por sí solo identifica al gastador ni que el permiso sea adecuado. Esta guía explica los términos, pero no recomienda a ningún gastador en particular ni te anima a autorizar nada.
Propietario, gastador y asignación
El propietario es la cuenta cuyos tokens están cubiertos por el permiso. El gastador es la cuenta o el contrato que recibe permiso para usar esos tokens. La asignación es la cantidad que el gastador está autorizado a utilizar del saldo del propietario para el contrato del token correspondiente.
Estos términos describen la relación entre un propietario y un gastador para un contrato de token específico. La función de asignación informa sobre la autorización restante para esa relación. La asignación puede establecerse en una cantidad concreta; no des por sentado que todas las aprobaciones usan la misma cantidad o que conceden automáticamente un permiso ilimitado. El permiso efectivo depende de la aprobación concedida y del comportamiento del token.
Una aprobación no es una transferencia ni un intercambio
En el modelo ERC-20, aprobar, consultar una asignación y mover tokens en nombre de otra cuenta son operaciones distintas. La aprobación establece un permiso. Una operación de transferencia posterior, como transferFrom, es el mecanismo independiente que mueve tokens usando ese permiso. Por tanto, aprobar una asignación no ejecuta automáticamente el intercambio solicitado ni significa que los tokens ya se hayan movido.
La asignación no es un registro que indique que el gastador autorizado haya utilizado la cantidad completa. Describe el permiso restante. Una aprobación puede cambiar el valor de la asignación, y una nueva llamada de aprobación sustituye ese valor. El comportamiento del token y los detalles del permiso siguen siendo importantes, así que evita tratar todos los tokens o solicitudes como si fueran iguales.
Conectar una billetera y conceder una asignación son cosas distintas
Desconectar un sitio web de una billetera cambia la conexión, pero no cancela por sí mismo una asignación ERC-20 registrada en la cadena. Una asignación vigente podría seguir siendo relevante incluso después de dejar de visitar una aplicación. Por eso, desconectar un sitio no debe interpretarse como confirmación de que se haya eliminado un permiso para un token.
Revisar una asignación y revocarla son acciones independientes de desconectar la billetera. La revocación solo cambia el permiso en la cadena cuando se completa la transacción correspondiente. Esa transacción normalmente requiere gas de la red. Hacer clic en un control de un sitio web no demuestra por sí solo que se haya revocado el permiso.
Qué cambia al revisar o revocar
Revisar una asignación puede ayudarte a ver qué token, gastador y cantidad autorizada constan en el registro. Revocar cambia la asignación, pero no revierte una transferencia que ya se haya realizado. Tampoco garantiza que se eliminen todos los riesgos ni que pueda deshacerse un movimiento previo de tokens. Un permiso amplio que siga vigente puede ser relevante si el gastador o su contrato se ven comprometidos; esta es una de las razones por las que algunos usuarios quieren saber qué permisos siguen activos.
Para cambiar una asignación, la especificación ERC-20 contempla establecerla en cero antes de fijar una cantidad diferente como medida de mitigación en la interfaz del cliente. No es un método de recuperación universal, y el comportamiento puede variar según el token. Ten en cuenta el costo del gas de la red y verifica si se completó el cambio previsto en la cadena. Para consultar otros temas de NefiSwap, visita el blog.
Respuestas rápidas
¿Una aprobación ERC-20 completa un intercambio?
No. Concede al gastador permiso para usar tokens hasta el límite de la asignación. Se requiere una operación independiente para mover los tokens.
¿Desconectar una billetera de un sitio revoca la asignación de tokens?
No. Desconectar cambia la conexión de la billetera, no la asignación registrada en la cadena. La revocación es un cambio independiente en la cadena.
¿Revocar una asignación puede revertir una transferencia?
No. La revocación cambia el permiso, pero no deshace una transferencia que ya se haya realizado.
Fuentes
- Ethereum ERC specification: ERC-20: Token Standard
- MetaMask: How to revoke smart contract allowances/token approvals
- OpenSea: How can I revoke token approvals and permissions on Ethereum?
This is NefiSwap's own summary of public reporting, prepared with automation. It is not financial advice.
Artículos relacionados
Ethereum
Tarifas de gas de Ethereum: cómo leer la tarifa antes de una transacción
Descubre cómo se combinan el gas consumido, el límite de gas y las tarifas por unidad, y por qué una estimación puede diferir de la tarifa registrada tras la ejecución.
Basado en informes de ethereum.org, Etherscan, MetaMask
Leer artículo