Skip to content

Smart Contracts

Un smart contract (contrato inteligente) es un programa que vive en la blockchain y se ejecuta automáticamente cuando se cumplen ciertas condiciones.

La analogía de la máquina expendedora

Piensa en una máquina expendedora:

  1. Insertas dinero
  2. Seleccionas un producto
  3. La máquina automáticamente te da el producto

No hay un empleado decidiendo si darte el producto o no. Las reglas están programadas y se ejecutan automáticamente.

Un smart contract funciona igual, pero en la blockchain:

┌─────────────────────────────────────────────────────────┐
│               SMART CONTRACT                             │
│                                                          │
│   SI recibes 1 ETH de la dirección 0xABC                │
│   ENTONCES envía 1000 USDC a la dirección 0xABC         │
│                                                          │
│   ───────────────────────────────────────────────────   │
│   Este código se ejecuta AUTOMÁTICAMENTE                │
│   No puede ser modificado ni detenido                   │
└─────────────────────────────────────────────────────────┘

¿Para qué sirven?

Los smart contracts son la base de casi todo lo interesante en crypto:

AplicaciónCómo usa smart contracts
Exchanges descentralizadosIntercambio automático de tokens
Préstamos (DeFi)Colateral y liquidaciones automáticas
NFTsPropiedad y transferencia de arte digital
DAOsVotaciones y gobernanza automática
StablecoinsMantener la paridad con el dólar

Ejemplo: Exchange descentralizado

Cuando intercambias ETH por USDC en Uniswap:

┌─────────────────────────────────────────────────────────┐
│                    UNISWAP (DEX)                         │
│                                                          │
│   Pool de liquidez:                                      │
│   ┌───────────────────────────────────┐                 │
│   │    1000 ETH  │  2,000,000 USDC    │                 │
│   └───────────────────────────────────┘                 │
│                      │                                   │
│   Tú envías ──▶     │     ──▶ Tú recibes               │
│   1 ETH             │         ~2000 USDC                │
│                      │                                   │
│   El smart contract calcula el precio                   │
│   y ejecuta el intercambio AUTOMÁTICAMENTE              │
└─────────────────────────────────────────────────────────┘

No hay nadie "aprobando" tu transacción. El código se ejecuta igual para todos.

Riesgos al interactuar con smart contracts

Los smart contracts tienen riesgos reales

Una vez que firmas una transacción, no hay vuelta atrás. Entender estos riesgos es crucial.

1. Bugs en el código

Los smart contracts son escritos por humanos y pueden tener errores. Estos bugs pueden ser explotados para robar fondos.

AñoProyectoPérdidaCausa
2016The DAO$60MBug en función de retiro
2023Euler Finance$197MVulnerabilidad en liquidaciones
2023Curve Finance$73MBug en lenguaje Vyper
2024Orbit Bridge$82MLlaves comprometidas

Esto sigue pasando. Incluso protocolos auditados pueden tener vulnerabilidades.

2. Aprobaciones infinitas

Cuando interactúas con un smart contract, a menudo debes "aprobar" que acceda a tus tokens. Muchas aplicaciones piden aprobación ilimitada por conveniencia.

┌─────────────────────────────────────────────────────────┐
│   ⚠️  PELIGRO: Aprobación Ilimitada                      │
│                                                          │
│   "Este contrato quiere acceso a TODO tu USDC"          │
│                                                          │
│   Si el contrato es malicioso o es hackeado,            │
│   puede vaciar todos tus USDC en cualquier momento      │
└─────────────────────────────────────────────────────────┘

Buena práctica

Revisa y revoca aprobaciones regularmente usando herramientas como revoke.cash

3. Contratos maliciosos

Existen contratos diseñados específicamente para robar:

  • Honeypots: Tokens que puedes comprar pero no vender
  • Drainers: Contratos que vacían tu wallet cuando interactúas
  • Rug pulls: El creador puede retirar toda la liquidez

4. Phishing

Sitios falsos que imitan aplicaciones legítimas. Te hacen firmar transacciones que vacían tu wallet.

✅ app.uniswap.org        (sitio oficial)
❌ app-uniswap.org        (phishing)
❌ uniswap-app.com        (phishing)
❌ app.unisvvap.org       (phishing - nota las "vv")

Cómo protegerte

Antes de firmar cualquier transacción:

  1. Verifica la URL del sitio (usa bookmarks para sitios importantes)
  2. Lee qué estás firmando - ¿Es una transferencia? ¿Una aprobación?
  3. Verifica el contrato - ¿Es el contrato oficial de la aplicación?
  4. Limita aprobaciones - Aprueba solo la cantidad necesaria, no ilimitada

Herramientas útiles

HerramientaUso
revoke.cashVer y revocar aprobaciones
etherscan.ioVerificar contratos
Wallet con simulaciónAlgunas wallets simulan la transacción antes de firmar

El código es ley (pero cuidado)

En crypto existe la frase "code is law" (el código es ley). Significa que lo que está programado en el smart contract es lo que sucederá, sin excepciones.

Esto tiene ventajas (nadie puede censurarte) pero también desventajas (si te roban, no hay "servicio al cliente" que te ayude).

Recuerda

  • No hay botón de "deshacer" en blockchain
  • No hay banco al que llamar para cancelar una transacción
  • Tu seguridad es 100% tu responsabilidad

Sign vs Approve

Para entender la diferencia crítica entre firmar un mensaje y aprobar un contrato (donde ocurren el 90% de los hacks), lee la sección Sign vs Approve en DeFi en 5 Minutos.

Resumen

  • Los smart contracts son programas automáticos en la blockchain
  • Permiten aplicaciones como exchanges, préstamos y NFTs
  • Tienen riesgos: bugs, aprobaciones excesivas, contratos maliciosos
  • Siempre verifica qué estás firmando antes de aprobar una transacción

Siguiente: On-ramp y Off-ramp - Aprende cómo convertir dinero tradicional a crypto