Smart Contracts: qué son, cómo funcionan, tipos, ejemplos y riesgos

Un smart contract no es necesariamente un contrato jurídico. Es un programa desplegado en una blockchain que puede ejecutar determinadas reglas cuando recibe una interacción válida. Entender esta diferencia es esencial para comprender tanto su potencial como sus riesgos.
Smart contract conectado a DeFi, pagos, tokens, DAO, inmuebles tokenizados y activos reales mediante blockchain
En 30 segundos

La idea esencial sobre los smart contracts

Un smart contract es código que vive en una blockchain y ejecuta reglas programadas. Puede mover activos, registrar estados, validar condiciones o coordinar otros contratos.

Su principal ventaja es la automatización verificable. Su principal riesgo es asumir que «estar en blockchain» equivale a ser seguro, inmutable, descentralizado o jurídicamente válido. No es así.

Los smart contracts, o contratos inteligentes, son una de las tecnologías más importantes surgidas alrededor de blockchain.

Sin ellos no existirían, al menos en su forma actual, buena parte de las aplicaciones que asociamos con Ethereum y otras redes programables: exchanges descentralizados, préstamos DeFi, stablecoins, tokenización de activos, NFT, DAO, sistemas de gobernanza, seguros paramétricos, mercados predictivos, pagos automáticos o activos del mundo real o RWA.

Sin embargo, alrededor del término smart contract existe bastante confusión.

La primera procede del propio nombre.

Un smart contract no tiene por qué ser un contrato en sentido jurídico, ni es necesariamente “inteligente”.

En esencia, es software que se ejecuta dentro de una blockchain siguiendo unas reglas previamente programadas.

¿Qué es exactamente un smart contract?

Un smart contract es un programa desplegado en una blockchain capaz de recibir información, mantener un estado y ejecutar determinadas acciones cuando se cumplen las condiciones establecidas en su código.

En Ethereum, por ejemplo, un contrato inteligente tiene una dirección propia y contiene código, datos o estado y funciones que pueden ser llamadas por usuarios u otros contratos.

La analogía clásica es una máquina expendedora.

Introduces dinero.
Seleccionas un producto.
La máquina comprueba que has pagado lo suficiente y que el producto existe.
Si las condiciones se cumplen, entrega automáticamente el producto.

No hace falta que un empleado revise manualmente la operación.

Un smart contract aplica un principio parecido, aunque puede ejecutar reglas muchísimo más sofisticadas.

Smart contract

Código ejecutable en blockchain.

Define reglas técnicas y puede ejecutar acciones automáticamente.

Contrato jurídico

Acuerdo sujeto a un marco legal.

Define derechos, obligaciones, jurisdicción y mecanismos de resolución de conflictos.

Blockchain puede ejecutar reglas digitales. No sustituye automáticamente al Derecho.

Cómo funciona un smart contract

1. Se escriben las reglas

El contrato se programa utilizando un lenguaje compatible con la blockchain elegida.

En Ethereum y otras redes compatibles con EVM, uno de los lenguajes predominantes es Solidity. Ethereum también admite otros lenguajes como Vyper.

En Solana el modelo es diferente: sus smart contracts suelen denominarse programas y pueden desarrollarse, por ejemplo, con Rust.

2. El código se compila

El código escrito por humanos se transforma en un formato que pueda ejecutar la máquina virtual de la blockchain.

En Ethereum se ejecuta sobre la Ethereum Virtual Machine o EVM.

3. El contrato se despliega

El desarrollador envía una transacción para publicar el contrato en blockchain. Una vez desplegado, recibe una dirección propia.

0xA4F2...93B7

Desplegar un contrato cuesta una comisión de red porque los nodos deben procesar y almacenar su código.

4. El usuario interactúa con él

Un contrato puede exponer funciones como:

depositar() retirar() pedirPrestado() votar() comprar()

El usuario envía una transacción solicitando ejecutar una de esas funciones. Su wallet firma la operación y la red procesa las reglas del contrato.

5. La red valida el resultado

Si la transacción es válida, el estado de la blockchain cambia.

Saldo anterior: 0 ETH depositados Transacción: depositar(1 ETH) Nuevo estado: 1 ETH depositado
La idea clave: el contrato recibe datos, comprueba reglas y ejecuta una consecuencia.

Leer y escribir no es lo mismo

Lectura

Consultar saldos, propietarios, parámetros, tasas o el estado de una operación.

Normalmente no modifica blockchain.

Escritura

Transferir, depositar, retirar, votar, acuñar o pedir prestado.

Modifica el estado y normalmente requiere una transacción.

Principales tipos de smart contracts

No existe una clasificación universal única, pero funcionalmente podemos distinguir varias familias.

Tokens fungiblesERC-20, stablecoins, utility tokens, gobernanza.
NFTERC-721 y activos digitales únicos.
SemifungiblesERC-1155 y modelos mixtos.
DeFiPréstamos, depósitos, swaps, derivados y liquidez.
EscrowBloqueo de fondos hasta que se cumple una condición.
MultisigOperaciones que requieren varias autorizaciones.
GobernanzaPropuestas, votaciones y gestión de tesorerías.
SegurosPagos automáticos basados en condiciones externas.
RWARepresentación digital de determinados derechos sobre activos reales.

Smart contracts financieros o DeFi

Son contratos encargados de depósitos, préstamos, intercambios, derivados, provisión de liquidez, colateral y liquidaciones.

Un ejemplo real es Aave, donde una colección de smart contracts permite aportar activos como liquidez y solicitar préstamos sobrecolateralizados.

El sistema comprueba matemáticamente el valor del colateral, la deuda, los ratios y el riesgo de liquidación.

Contratos de intercambio

Son la base de muchos exchanges descentralizados.

ETH → USDC USDC → WBTC TOKEN A → TOKEN B

Contratos de escrow

Un escrow mantiene activos bloqueados hasta que se cumplen determinadas condiciones.

Por ejemplo, un comprador deposita 10.000 USDC. El vendedor no los recibe inmediatamente. El contrato los mantiene y los libera cuando se cumple la condición programada.

Contratos multisig

Exigen múltiples autorizaciones antes de ejecutar una operación.

Por ejemplo, una tesorería puede tener cinco responsables y exigir 3 firmas de 5 para mover fondos.

Contratos de gobernanza

Permiten presentar propuestas, votar, delegar votos y modificar determinados parámetros de un protocolo.

Gobernanza on-chain no significa automáticamente descentralización. Hay que analizar concentración del token, quorum, delegaciones, claves administrativas y quién controla realmente la tesorería.

¿Qué es un oráculo blockchain (oracle)?

Un smart contract no puede acceder directamente a Internet como lo haría un navegador.

Si necesita conocer información externa, puede utilizar un oráculo blockchain (oracle).

  • Precio de Bitcoin
  • Tipo EUR/USD
  • Temperatura
  • Resultados deportivos
  • Tipos de interés
  • Valoración de determinados activos
SI BTC < 50.000 $ → liquidar posición

El contrato puede estar perfectamente programado, pero si el dato externo es incorrecto, ejecutará correctamente una información incorrecta.

Un smart contract puede ser tan fiable como los datos de los que depende.
Fuente técnica: Ethereum documenta que los contratos inteligentes no pueden obtener directamente información del mundo exterior y necesitan mecanismos externos para incorporar esos datos.

Cómo se crea un smart contract

Definir la lógica. Objetivo, actores, permisos, estados, excepciones e incentivos.
Diseñar la arquitectura. Contratos, almacenamiento, roles, oráculos y mecanismos de actualización.
Programar. Solidity, Vyper, Rust u otros lenguajes según el ecosistema.
Utilizar componentes probados. Bibliotecas como OpenZeppelin Contracts reducen la necesidad de reinventar funciones comunes.
Realizar tests. Casos normales, límites, entradas maliciosas, permisos y dependencias.
Desplegar en testnet. Probar antes de poner capital real en riesgo.
Auditar. Revisar el código mediante especialistas independientes.
Desplegar en mainnet. Publicar la versión definitiva o la arquitectura actualizable.
Una auditoría reduce riesgo. No garantiza seguridad.

Smart contracts inmutables vs actualizables

Inmutable

Su lógica no puede sustituirse fácilmente después del despliegue.

Ventaja: mayor previsibilidad.

Riesgo: un bug puede ser muy difícil de corregir.

Actualizable

Puede utilizar proxies u otras arquitecturas actualizables que permiten cambiar la implementación.

Ventaja: permite corregir errores.

Riesgo: alguien debe controlar la actualización.

La pregunta no es solo si el contrato puede actualizarse. La pregunta importante es: ¿quién tiene el poder de actualizarlo?

Trampas y vulnerabilidades en smart contracts

Un contrato puede estar públicamente visible y seguir teniendo riesgos importantes.

Referencia de seguridad: OWASP clasifica entre los principales riesgos de smart contracts el control de acceso, la manipulación de oráculos, los errores de lógica, la reentrancy, las llamadas externas no comprobadas y los ataques con flash loans. Consultar OWASP Smart Contract Top 10.
1. Owner con demasiado poderEl administrador puede tener permisos para acuñar tokens, congelar cuentas, retirar fondos, modificar parámetros o pausar el protocolo. El control de acceso determina precisamente quién puede ejecutar estas funciones críticas.
2. Mint ilimitadoUn token aparentemente escaso puede permitir al administrador crear nuevas unidades sin un límite real.
3. BlacklistEl contrato puede permitir bloquear determinadas direcciones. Puede existir por motivos regulatorios, pero significa que no es completamente permissionless.
4. Pausa administrativaFunciones como pause() permiten detener transferencias u operaciones.
5. Comisiones modificablesUn contrato puede empezar con una comisión pequeña y permitir que el administrador la incremente posteriormente.
6. HoneypotEl usuario puede comprar un token pero tiene dificultades o directamente no puede venderlo.
7. Restricciones ocultas de transferenciaEl comportamiento puede cambiar dependiendo de la dirección, cantidad, bloque, origen o destinatario.
8. Upgradeability peligrosaUn contrato seguro hoy puede cambiar mañana si alguien controla el mecanismo de actualización.
9. Proxy que oculta la lógica realLa dirección visible puede ser solo un proxy. La lógica efectiva reside en otro contrato.
10. ReentrancyUn atacante vuelve a entrar en una función antes de que el contrato haya actualizado correctamente su estado.
Contrato: “Te envío tu ETH” Atacante: “Antes de que actualices mi saldo, vuelvo a retirar” Contrato: “Te envío ETH otra vez”
11. Manipulación de preciosSi un protocolo utiliza precios manipulables para calcular colateral, deuda o liquidaciones, puede ejecutar operaciones económicamente incorrectas.
12. Flash loansUn préstamo flash no es un ataque por sí mismo, pero puede proporcionar al atacante capital temporal suficiente para explotar una vulnerabilidad económica.
13. Errores de lógicaEl código puede funcionar exactamente como fue escrito y, aun así, el diseño económico ser defectuoso.
14. Permisos mal configuradosFunciones críticas pueden quedar públicas o accesibles para roles que no deberían tenerlas.
15. Claves administrativas comprometidasSi un atacante obtiene la clave del administrador, hereda sus permisos aunque el contrato no tenga ningún bug.

The DAO: el caso que cambió Ethereum

En 2016, The DAO sufrió un ataque relacionado con llamadas recursivas que permitió extraer más de 3,6 millones de ETH del contrato afectado.

El incidente tuvo una consecuencia histórica: la comunidad de Ethereum decidió ejecutar un hard fork para modificar el resultado.

Parte de la comunidad rechazó esa decisión y continuó utilizando la cadena original, dando lugar a Ethereum Classic.

Ethereum no fue hackeado. El smart contract era vulnerable.

Este caso resume una idea esencial: la blockchain puede funcionar correctamente y una aplicación construida sobre ella puede contener un fallo crítico.

Cómo analizar un smart contract antes de utilizarlo

  • ¿Está verificado el código?
  • ¿Es un proxy?
  • ¿Quién es el owner?
  • ¿Qué puede hacer el administrador?
  • ¿Existe multisig?
  • ¿Existe timelock?
  • ¿Está auditado?
  • ¿Qué dependencias externas tiene?
  • ¿Tiene liquidez real?
  • ¿De dónde procede la rentabilidad?
Si la única explicación de una rentabilidad es la emisión continua de nuevos tokens, hay que analizar con especial atención la sostenibilidad del modelo.

Smart contracts y tokenización de activos reales

En la tokenización de activos del mundo real, los contratos inteligentes pueden utilizarse para emitir tokens, controlar transferencias, aplicar restricciones, gestionar listas blancas, distribuir determinados flujos o registrar participaciones.

INMUEBLE REAL ↓ SPV / SOCIEDAD ↓ DERECHOS ↓ TOKEN ↓ SMART CONTRACT ↓ INVERSORES

Pero aquí aparece una distinción fundamental:

El smart contract controla la capa digital. No necesariamente controla jurídicamente el activo real.

Si un token está relacionado con un inmueble, debe existir una estructura jurídica que conecte el token con los derechos reales o económicos que se pretenden representar.

Por eso, en RWA no basta con preguntar:

“¿Está en blockchain?”

La pregunta correcta es:

“¿Qué derecho jurídico o económico representa realmente ese token?”

Ventajas reales y límites de los smart contracts

Pueden aportarNo garantizan
AutomatizaciónRentabilidad
TrazabilidadLiquidez
ProgramabilidadSolvencia del proyecto
InteroperabilidadValidez jurídica automática
Reducción de determinados intermediariosAusencia de riesgo humano
ComposabilidadQue un oráculo proporcione datos correctos

“Code is law”: una frase que necesita matices

El código determina lo que una aplicación blockchain puede ejecutar técnicamente.

No determina automáticamente qué es legal, quién tiene razón en una disputa, qué derechos reconoce un tribunal o si existió fraude.

Code executes rules. Law determines rights.

Usar smart contracts no significa ser descentralizado

Antes de aceptar la etiqueta “descentralizado”, conviene preguntar:

  • ¿Quién puede actualizar el contrato?
  • ¿Quién controla las claves?
  • ¿Quién controla el frontend?
  • ¿Quién controla el oráculo?
  • ¿Quién controla la tesorería?
  • ¿Quién puede pausar el protocolo?

Si todas las respuestas apuntan a la misma empresa, puede existir infraestructura blockchain y, al mismo tiempo, un control altamente centralizado.

El futuro: activos programables

Una de las consecuencias más relevantes de los smart contracts es la posibilidad de convertir determinados derechos y activos en elementos digitales programables.

Un activo puede incorporar reglas sobre:

  • Propiedad
  • Transferencia
  • Acceso
  • Pagos
  • Gobernanza
  • Garantías
  • Financiación
  • Cumplimiento normativo

El verdadero cambio no consiste simplemente en poner activos “en blockchain”.

Consiste en convertir determinados derechos económicos y digitales en activos programables capaces de interactuar entre sí.

Preguntas frecuentes sobre smart contracts

¿Un smart contract es un contrato legal?

No necesariamente. Un smart contract es código ejecutable en blockchain. Puede formar parte de una relación jurídica, pero el código por sí solo no sustituye automáticamente a un contrato reconocido por la legislación aplicable.

¿Se puede modificar un smart contract?

Los contratos de Ethereum son inmutables por defecto, pero existen arquitecturas actualizables mediante proxies. En esos casos hay que analizar quién controla la capacidad de actualización y bajo qué condiciones.

¿Un smart contract auditado es seguro?

No existe una garantía absoluta. Una auditoría puede reducir el riesgo y detectar vulnerabilidades conocidas, pero no elimina errores de lógica, dependencias externas, fallos económicos, problemas de gobernanza ni vulnerabilidades futuras.

¿Qué lenguaje se utiliza para crear smart contracts?

Depende de la blockchain. En Ethereum y redes EVM se utiliza principalmente Solidity; también existe Vyper. En otros ecosistemas, como Solana, se emplean modelos y lenguajes diferentes, entre ellos Rust.

¿Un smart contract significa que un proyecto es descentralizado?

No. Un protocolo puede utilizar contratos inteligentes y seguir dependiendo de administradores, claves privadas, proxies actualizables, oráculos, servidores o frontends centralizados.

¿Qué relación tienen los smart contracts con los RWA?

Pueden gestionar la representación digital de determinados derechos, restricciones de transferencia, pagos o gobernanza. Sin embargo, la conexión entre el token y el activo real depende también de la estructura jurídica y económica fuera de la blockchain.

Es infraestructura, no garantía

Los smart contracts son una de las piezas fundamentales de blockchain porque permiten pasar de una red que simplemente registra transacciones a una infraestructura capaz de ejecutar lógica económica.

Pero conviene separar claramente tecnología de narrativa.

Un smart contract puede aportar automatización, trazabilidad, programabilidad, interoperabilidad y reducción de determinados intermediarios.

Pero no elimina el riesgo económico, de código, de liquidez, jurídico, administrativo, de oráculos ni humano.

Por eso, ante cualquier proyecto basado en smart contracts, las preguntas importantes no deberían ser solo:

  • ¿Qué hace realmente el contrato?
  • ¿Qué puede modificar el administrador?
  • ¿De qué sistemas externos depende?
  • ¿Qué ocurre si algo falla?
  • ¿Qué derecho existe detrás del token?
  • ¿De dónde procede realmente el valor?
Entender un smart contract no consiste simplemente en saber que está en blockchain. Consiste en comprender qué reglas ejecuta, quién conserva el control y qué riesgos permanecen fuera del código.