¿Qué hacer antes de firmar una transacción?
Cada vez que tu wallet te pide "firmar" algo, estás autorizando una acción en la blockchain. Una firma incorrecta puede vaciarte la wallet.
¿Qué significa "firmar"?
Cuando firmas:
- Autorizas una acción específica
- La acción es irreversible
- El smart contract ejecutará exactamente lo que firmaste
┌─────────────────────────────────────────────────────────┐
│ │
│ Tu wallet Smart Contract │
│ │ │ │
│ │──── "Quiero hacer X" ────▶│ │
│ │ │ │
│ │◀─── "Firma para X" ───────│ │
│ │ │ │
│ │──── [Tu firma] ──────────▶│ │
│ │ │ │
│ │ X se ejecuta (irreversible) │
│ │
└─────────────────────────────────────────────────────────┘Tipos de firmas
1. Transacciones simples
Enviar ETH/tokens de tu wallet a otra dirección.
┌─────────────────────────────────────────────────────────┐
│ Enviar │
│ │
│ 0.5 ETH │
│ A: 0x71C7656EC7ab88b098defB751B7401B5f6d8976F │
│ │
│ Gas: 0.001 ETH (~$2) │
│ │
│ [Rechazar] [Confirmar] │
└─────────────────────────────────────────────────────────┘Verificar:
- Dirección correcta (compara varios caracteres)
- Cantidad correcta
- Red correcta
2. Aprobaciones (Approve)
Permiten que un contrato mueva tus tokens.
┌─────────────────────────────────────────────────────────┐
│ ⚠️ Aprobar acceso a USDC │
│ │
│ Este sitio quiere: │
│ Gastar tus USDC │
│ │
│ Cantidad: ILIMITADA ← 🚨 PELIGRO │
│ │
│ [Rechazar] [Aprobar] │
└─────────────────────────────────────────────────────────┘Aprobaciones ilimitadas
Muchas dApps piden aprobación ilimitada por conveniencia. Esto significa que el contrato puede mover TODOS tus tokens de ese tipo, en cualquier momento.
Si el contrato es hackeado o es malicioso, pierdes todo.
Mejor práctica:
- Aprueba solo la cantidad que vas a usar
- Revoca aprobaciones regularmente en revoke.cash
3. Firmas de mensajes (Sign)
No gastan gas pero pueden autorizar acciones peligrosas.
┌─────────────────────────────────────────────────────────┐
│ Firmar mensaje │
│ │
│ Mensaje: │
│ "Login to OpenSea" │
│ │
│ [Rechazar] [Firmar] │
└─────────────────────────────────────────────────────────┘Firmas de mensaje pueden ser para:
- ✅ Login a un sitio (inofensivo)
- ⚠️ Listar NFT para venta (cuidado con precio)
- ❌ Autorizar transferencia de tokens (peligroso)
Problema: El formato de firma no siempre es claro. Un mensaje que parece inofensivo puede autorizar transferencias.
4. Interacción con contratos
Llamadas a funciones de smart contracts.
┌─────────────────────────────────────────────────────────┐
│ Interactuar con contrato │
│ │
│ Contrato: 0xABC...DEF │
│ Función: swap │
│ Parámetros: │
│ - tokenIn: USDC │
│ - tokenOut: ETH │
│ - amountIn: 1000 │
│ │
│ [Rechazar] [Confirmar] │
└─────────────────────────────────────────────────────────┘Verificar:
- ¿El contrato es el oficial de la dApp?
- ¿La función hace lo que esperas?
- ¿Los parámetros son correctos?
Checklist antes de firmar
□ ¿Estoy en el sitio correcto? (verifica URL)
□ ¿Reconozco este contrato/dApp?
□ ¿La acción es lo que quiero hacer?
□ ¿La cantidad es correcta?
□ ¿La dirección destino es correcta?
□ ¿El gas fee es razonable?
□ Si es aprobación, ¿es por cantidad limitada?Herramientas de protección
Wallets con simulación
Algunas wallets simulan la transacción y te muestran qué pasará:
| Wallet | Simulación |
|---|---|
| Rabby | ✅ Muestra cambios en balance |
| Phantom | ✅ Simulación básica |
| MetaMask | ⚠️ Limitada |
Rabby, por ejemplo, te muestra:
┌─────────────────────────────────────────────────────────┐
│ Simulación de transacción │
│ │
│ Tu balance cambiará: │
│ - USDC: -1000 │
│ + ETH: +0.5 │
│ │
│ ✅ Cambios esperados para un swap │
└─────────────────────────────────────────────────────────┘Extensiones de seguridad
| Extensión | Función |
|---|---|
| Wallet Guard | Alerta sobre sitios maliciosos |
| Pocket Universe | Simula transacciones |
| Fire | Analiza qué estás firmando |
Verificación de contratos
Antes de interactuar con un contrato nuevo:
- Busca la dirección en el block explorer (Etherscan, etc.)
- ¿Está verificado? (código visible)
- ¿Es el contrato oficial del proyecto?
- ¿Cuántas transacciones tiene? (contratos nuevos = más riesgo)
Banderas rojas 🚩
No firmes si:
- El sitio te apura ("firma rápido o pierdes la oportunidad")
- La URL es sospechosa
- Te llegó por DM no solicitado
- Pide aprobar cantidad ilimitada sin razón
- No entiendes qué estás firmando
- El contrato es muy nuevo sin historial
- Tu wallet te advierte de peligro
Si firmaste algo malo
Actúa rápido:
- Revoca permisos en revoke.cash
- Mueve fondos a wallet nueva si es necesario
- No interactúes más con el sitio malicioso
Si es demasiado tarde:
- Las transacciones en blockchain son irreversibles
- Documenta lo sucedido
- Reporta la estafa
- Aprende para el futuro
Resumen
- Cada firma es potencialmente irreversible
- Verifica URL, contrato, cantidad, y dirección
- Evita aprobaciones ilimitadas
- Usa wallets con simulación (Rabby)
- Si algo se siente mal, no firmes
- En caso de error, revoca permisos inmediatamente
Siguiente: Errores Comunes