Privacidad, Permisos y seguridad de firma
Este artículo utiliza redes EVM y el estándar ERC-20 Permisos como ejemplos. Desconectar un DApp solo finaliza la conexión local entre el sitio web y la billetera. La interfaz de billetera que gestiona esta conexión tiene el nombre técnico: Provider. La desconexión no cambia el monto de gasto aprobado registrado en el cadena de bloques (Allowance). Revocar el permiso requiere una transacción. El monto aprobado se reduce o se establece en cero solo después de que la transacción se realice correctamente en la red correcta. Otros tokens criptográficos, NFT y sistemas de permisos pueden seguir reglas diferentes.
1. ¿Cuál es la diferencia entre desconectar un sitio web y revocar un permiso?
Comparación | Desconexión del sitio web | Revocación de permiso ERC-20 |
que cambia | La conexión local guardada por la billetera. | El monto de gasto aprobado registrado por el contrato ficha ( |
Requiere una transacción cadena de bloques | No | si |
Generalmente incurre en una tarifa de red | No | Sí. La cuenta que envía la transacción de revocación paga la tarifa en el activo nativo de la red. |
Puede cambiar el monto aprobado ( | No | Sí. Una transacción exitosa puede reducirlo o ponerlo en cero. |
Alcance | La conexión actual entre la billetera y el sitio web. | Solo la red seleccionada, la cuenta, ficha y la parte aprobada ( |
Después de la desconexión, el sitio web normalmente no puede enviar solicitudes a la billetera a través de la conexión anterior. Sin embargo, aún puede consultar una dirección pública que ya conoce y solicitar conectarse nuevamente. Para obtener una comparación completa de cuatro acciones comunes de billetera, consulte ¿Cuál es la diferencia entre conectar una cartera, firmar mensajes, firmar transacciones y autorizar el uso de tokens?.
2. ¿Dónde se almacena un permiso ERC-20?
Un registro de permiso ERC-20 estándar se identifica mediante cinco valores: el propietario del activo (Owner), el contrato ficha (Token), la parte aprobada (Spender), el monto de gasto aprobado (Allowance) y la red. Después de una transacción que ejecuta la función aprobación (approve) tiene éxito, la nueva cantidad aprobada se escribe en el contrato ficha en el cadena de bloques. No se almacena en el navegador cache ni en el cliente de billetera.
Si el monto aprobado, el saldo ficha del propietario del activo y las reglas del contrato ficha lo permiten, la parte aprobada puede usar una función de contrato, por ejemplo transferFrom, para transferir tokens criptográficos. Quien presente esta operación de contrato deberá enviar una transacción y pagar la tarifa de red. Normalmente, el propietario del activo no necesita proporcionar otra firma para esto. transferFrom operación. Cerrar el sitio web, eliminar el registro de conexión, cambiar de teléfono o reinstalar la billetera no cambia la cantidad aprobada en el cadena de bloques.
Nota sobre el alcance: Un permiso para un NFT, un permiso para todos los NFT (setApprovalForAll), Permit2 y las redes no EVM pueden utilizar distintos modelos de permisos y métodos de revocación. No asuma que todos los permisos pueden revocarse estableciendo una cantidad aprobada por ERC-20 en cero.
3. ¿Permisos caduca automáticamente? ¿Qué significa un tiempo de vencimiento de Permit?
Cantidad aprobada estándar ERC-20 (
Allowance): Normalmente no tiene una fecha de vencimiento predeterminada. Permanece hasta que se gasta, se reemplaza con una nueva cantidad o se reduce o se pone a cero mediante una transacción. Un contrato ficha particular puede comportarse de manera diferente.Permiso limitado: Un límite limita la cantidad de tokens criptográficos que se pueden utilizar; no establece un tiempo de vencimiento.
Caducidad de la firma (
deadline): En mecanismos como ERC-2612, este campo normalmente limita cuándo se puede enviar un mensaje de permiso firmado. Creando el mensaje firmado (Permit) no cambia inmediatamente la cantidad aprobada en el cadena de bloques. El mensaje firmado debe enviarse correctamente. En ese momento, su valor de secuencia (nonce), tiempo de vencimiento (deadline), y otras condiciones de validación aún deben ser válidas. Sólo entonces el permiso podrá surtir efecto. Una vez que el permiso entra en vigor, la cantidad aprobada no desaparece simplemente porque el mensaje original haya caducado.
Permisos de larga duración o ilimitado puede aumentar la exposición continua. Ver ¿Qué es Unlimited Approval?.
4. ¿Qué debo comprobar al revocar un permiso?
Confirme la red y la cuenta: Revocar un permiso en una red no cambia Permisos en otra red.
Confirme el ficha y la parte aprobada (
Spender): No te fíes sólo de nombres o iconos. Verifique la dirección del contrato y la parte aprobada.Elija la acción de revocación correcta: Para un permiso ERC-20 estándar, reduzca la cantidad aprobada o configúrela en cero, según corresponda. Siga el estándar contractual relevante y las instrucciones oficiales para otros tipos de permisos.
Prepare la tarifa de la red: Revocar un permiso ERC-20 normalmente requiere una transacción cadena de bloques. La cuenta que envía necesita el activo nativo de la red para pagar la tarifa.
Espere a que la ejecución sea exitosa y luego verifique nuevamente: La firma o difusión de la transacción no significa que la revocación haya surtido efecto. Consultar el monto aprobado en el cadena de bloques (
Allowance) nuevamente solo después de que la transacción se haya incluido en un bloque y se haya ejecutado exitosamente.
Algunos dispositivos de hardware no pueden decodificar completamente todos los parámetros de contrato o revocación. Verifique la red, el tipo de transacción, el contrato y los campos legibles que realmente se muestran en el dispositivo. Si falta información esencial, difiere de lo que esperaba o solo se puede firmar de forma ciega, detenga y verifique la solicitud nuevamente. Ver ¿Qué debo comprobar antes de confirmar una transacción en una billetera de hardware?.
5. Preguntas frecuentes
¿Cerrar el navegador o desinstalar la billetera elimina un permiso cadena de bloques existente?
No. Estas acciones no cambian el estado del contrato en el cadena de bloques.
Actualmente, mi cuenta no contiene este token criptográfico. ¿Debo revisar aun así un permiso antiguo?
Considere cómo podría utilizarse la cuenta más adelante. Si el mismo token criptográfico vuelve a enviarse a la dirección, una cantidad aprobada que siga siendo válida puede permitir que la parte aprobada originalmente use transferFrom para transferirlo.
¿Una revocación cubre todas las redes?
No. Los Permisos normalmente se registran por separado para cada red, cuenta, contrato ficha y parte aprobada. Revisa cada uno individualmente.
¿Por qué sigue apareciendo un permiso después de que lo revoqué?
Confirme que la transacción de revocación se ejecutó correctamente, que está viendo la red y la cuenta correctas y si el permiso mostrado es una cantidad aprobada por ERC-20, un permiso de operador para NFT (NFT Operator), u otro tipo de permiso.
Principio clave: Desconecte las conexiones locales que ya no estén en uso. Si ya no se necesita un permiso cadena de bloques, primero verifique la red, la cuenta, el contrato ficha y la parte aprobada. Luego elimine ese permiso de acuerdo con el estándar de permisos correspondiente.
