Qué es un permiso unlimited y por qué es peligroso

En criptomonedas, un permiso «unlimited» es una autorización que das a un contrato para mover una cantidad ilimitada de un token específico en tu nombre. Esta guía explica qué es, por qué puede ser útil, pero sobre todo por qué es peligroso si no se usa con criterio.

Un permiso unlimited no es lo mismo que una transferencia puntual. Cuando autorizas un permiso unlimited, le dices al contrato que puede mover cualquier cantidad de ese token, ahora o en el futuro, sin que necesites firmar cada movimiento por separado. Eso puede ser útil en algunos contextos, pero también es un riesgo importante si el contrato no es legítimo o si el permiso se mantiene activo cuando ya no lo necesitas.

Cuándo puede ser útil un permiso unlimited

En algunos casos, un permiso unlimited puede tener sentido:

  • Cuando interactúas con un contrato verificado de un proyecto en el que confías y cuyo comportamiento entiendes.
  • Cuando el contrato necesita mover tokens que tú has autorizado explícitamente para una operación específica.
  • Cuando aceptas expresamente la exposición adicional; verificar el código no garantiza seguridad.

Por qué es peligroso

El problema del permiso unlimited es que, si el contrato es malintencionado o se compromete, tiene permiso para mover una cantidad no limitada de tus tokens sin que tengas que firmar de nuevo. Eso puede llevar a una pérdida significativa si el permiso se mantiene activo después de que ya no debería.

Las situaciones de riesgo incluyen:

  • Autorizar un permiso unlimited a un contrato que no has verificado.
  • Mantener un permiso unlimited activo con un contrato que ya no usas o que ya no es legítimo.
  • Firmar un permiso unlimited desde una DApp o enlace que no has verificado previamente.
  • No revisar los permisos activos de tu wallet y, por tanto, no darte cuenta de que todavía hay permisos de movimiento de tokens activos.

Cómo reducir el riesgo con permisos unlimited

Para reducir el riesgo, considera:

  • Autorizar permisos limitados en lugar de unlimited cuando sea posible. Un permiso limitado solo permite mover la cantidad que especificas, lo que reduce el riesgo de pérdidas mayores.
  • Revisar los permisos activos de tu wallet periódicamente y revocar los que ya no necesitas.
  • Verificar la procedencia del contrato antes de autorizar cualquier permiso, especialmente si el permiso es unlimited.
  • No confiar en que desconectar de una DApp elimine una aprobación existente. Desconectar no revoca permisos.

Qué hacer si ya autorizaste un permiso unlimited sospechoso

Si ya autorizaste un permiso unlimited a un contrato que ahora te parece sospechoso:

  • Revisa el contrato desde tu wallet o desde una herramienta oficial que tu wallet permita.
  • Si el contrato es desconocido o no lo reconoces, revoca el permiso de inmediato.
  • Documenta la dirección del contrato y cualquier transacción relacionada por si necesitas reportar un incidente.
  • Si el contrato ya movió tokens, considera si necesitas tomar medidas adicionales, como mover los fondos restantes a una wallet nueva.

Guías relacionadas

Ejemplo ficticio: límite de 25 frente a ilimitado

Si una operación necesita 25 unidades de un token, una aprobación de 25 y una ilimitada exponen cantidades diferentes. La ilimitada puede alcanzar también futuros ingresos de ese token mientras siga vigente. Un límite reduce el alcance, pero no vuelve legítimo a un destinatario fraudulento: también podría perderse la cantidad limitada.

Comprueba la red, el contrato del token, quién recibe la autorización y el límite. No confundas una aprobación ERC-20 con permisos NFT para una colección, ni supongas que revocar una autorización invalida todas las firmas previas.