El problema de la UX en Web3 hoy
En Web3 hoy, la experiencia del usuario suele verse interrumpida. Cada swap, cada listado, cada acción menor requiere una ventana emergente del wallet, obligándole a “firmar” y aprobar. Esto genera fricción y hace que las aplicaciones se sientan torpes en comparación con las apps fluidas que usamos a diario.
¿Qué son las Smart Sessions?
Smart Sessions es la solución a este problema.
Una Smart Session es un conjunto de permisos seguro, temporal y estrictamente limitado que usted otorga a una aplicación. En vez de aprobar cada transacción, usted aprueba una sesión una sola vez, permitiendo que la app realice una serie de acciones preacordadas en su nombre. Esto elimina las ventanas emergentes constantes y permite una experiencia fluida, tipo Web2, sin sacrificar la seguridad ni la autocustodia.
💡 Piénselo así: No es como entregar su llave maestra (el firmador principal de su wallet), sino como dar a una aplicación una tarjeta de acceso especial con reglas y límites muy claros.
Dos tipos de Smart Sessions
Sequence ofrece dos tipos distintos de Smart Sessions, cada uno diseñado para un propósito diferente:
- Sesiones implícitas: Para máxima comodidad dentro de una sola aplicación confiable.
- Explicit Sessions: Para control potente y granular sobre cualquier acción on-chain.
1. Implicit Sessions: El “Pase de Comodidad en la App”
Una Sesión Implícita es el tipo más simple y común de Smart Session. Su único propósito es hacer que su experiencia dentro de una sola aplicación sea lo más fluida posible.
🎯 La idea central
Cuando se conecta a una app en la que confía, está creando un “límite de confianza” alrededor del dominio web de esa app. Una Implicit Session le da a esa app un pase para operar libremente solo dentro de su propio entorno.
⚙️ Cómo funciona
- Conectar y confiar: Usted conecta su wallet a una app (por ejemplo,
app.my-defi-protocol.com
)
- Aprobación silenciosa: Se crea automáticamente y en silencio una sesión que está criptográficamente vinculada a ese dominio específico, sin que el usuario tenga que aprobarla.
- Experiencia fluida: Ahora puede realizar cualquier acción dentro de esa aplicación, realizando swaps, staking, listados, sin más ventanas emergentes. Simplemente funciona.
🔒 El resguardo de seguridad
Esta sesión no sirve en ningún otro lugar. Si la aplicación fuera maliciosa e intentara usar esta sesión para llamar a un contrato fuera de su dominio (como el contrato de USDC), la transacción sería rechazada automáticamente on-chain. La sesión solo es válida para los smart contracts propios de la aplicación.
La aplicación configurará los permisos en el Sequence Builder
Todas las transacciones deben ser patrocinadas por la propia DApp al usar Implicit Sessions, ya que el uso de cualquier otra moneda como opción de pago de comisiones se considera una interacción con un contrato externo y será bloqueada.
📊 Implicit Sessions en resumen
Aspecto | Detalles |
---|
Ideal para | Uso diario de una DApp con patrocinio total de gas, 0 ventanas emergentes, sin necesidad de interacciones con contratos externos. |
Característica clave | Máxima comodidad. Elimina todas las ventanas emergentes de firma dentro de un entorno confiable de la aplicación |
Analogía | Una tarjeta de acceso para un edificio específico. Le permite moverse libremente entre todas las habitaciones internas, pero no abrirá la puerta del edificio de al lado. |
Desventaja: | La DApp debe patrocinar las comisiones de gas para todas las transacciones y no puede interactuar con ningún contrato inteligente externo, quedando limitada a los contratos inteligentes propios de la app. |
2. Explicit Sessions: El “Permiso Programable”
Una Explicit Session es una herramienta más avanzada y poderosa. Está diseñada para cuando una app necesita realizar tareas muy específicas que interactúan con otros protocolos externos.
🎯 La idea central
En vez de confiar solo en una app y sus contratos inteligentes, usted aprueba una lista precisa de reglas para un firmante temporal que puede interactuar con cualquier contrato inteligente. Está creando un permiso personalizado que especifica exactamente qué se puede hacer, dónde, cuánto se puede gastar, por cuánto tiempo y para qué contratos.
⚙️ Cómo funciona
-
La propuesta de la app: La app presenta a su wallet una lista de permisos muy específicos que necesita. Por ejemplo:
- “Permíteme llamar a la función
transfer
en el USDC contract
.”
- “…solo con la dirección de
recipient
0x...
”
- “…por un total acumulado no mayor a
100
USDC.”
- “…por una duración de
24 horas
.”
-
Usted aprueba explícitamente las reglas: Su wallet muestra estas reglas en un formato legible. Usted revisa y aprueba este conjunto exacto de condiciones.
-
La app ejecuta: Ahora la app puede realizar esas acciones automáticamente, sin ventanas emergentes.
🔒 El resguardo de seguridad
El poder de las Sesiones Explícitas proviene de su nivel de detalle. Cada regla se valida en la blockchain. Si la app intenta hacer algo fuera del alcance aprobado, como gastar 101 USDC en vez de 100, o llamar a la función approve
en vez de transfer
, la transacción fallará.
📊 Explicit Sessions en resumen
Aspecto | Detalles |
---|
Ideal para | Control granular sobre cualquier acción, sin estar limitado solo a los contratos inteligentes de su app. |
Característica clave | Control granular y programable. Usted define el alcance exacto de lo que la app puede hacer, sin restricciones. |
Analogía | Una tarjeta de acceso que puede funcionar para muchos edificios, pero primero debe firmar un contrato que defina las reglas exactas para cada edificio; solo entonces podrá usarla. |
Desventaja: | El usuario debe revisar cuidadosamente y aprobar los permisos de la DApp, lo que añade un paso extra en la experiencia de usuario. |
Integraciones versátiles
Lo mejor es que puede combinar ambos tipos de sesiones para obtener lo mejor de ambos mundos. Cuando salga del alcance de una Implicit Session, los SDKs de Sequence cambiarán automáticamente a un estado de aprobación por transacción, funcionando como un EOA. Para acciones repetidas fuera de una Implicit Session, puede solicitar una Explicit Session para una integración fluida.