Definición sencilla
Un smart contract o contrato inteligente es un programa informático que se guarda y se ejecuta en una blockchain. Contiene unas reglas del tipo «si ocurre A, entonces haz B» y, una vez desplegado, se ejecuta automáticamente cuando se cumplen las condiciones, sin que ninguna de las partes pueda impedirlo ni modificarlo.
El concepto lo propuso el criptógrafo Nick Szabo en los años 90, pero se hizo realidad con Ethereum, lanzada en 2015, la primera blockchain diseñada para ejecutar este tipo de programas de forma general.
Una analogía: la máquina de vending
Una máquina expendedora es un «contrato» automático: si introduces el importe y eliges un producto, la máquina te lo entrega. No hace falta un dependiente ni confiar en nadie. Un smart contract funciona igual, pero con dinero digital, datos o activos registrados en la blockchain, y con reglas mucho más complejas.
Cómo funciona
- Se escribe el código, normalmente en Solidity si es para Ethereum o redes compatibles como Polygon.
- Se despliega en la blockchain. A partir de ahí tiene una dirección propia y su código es público y no se puede cambiar.
- Los usuarios interactúan con él mediante transacciones, pagando una pequeña comisión (gas).
- Todos los nodos de la red ejecutan el código y llegan al mismo resultado, que queda registrado de forma permanente.
Ejemplos de uso reales
- Tokens: la mayoría de criptomonedas que no son Bitcoin son, en realidad, smart contracts sobre otra blockchain.
- Finanzas descentralizadas (DeFi): préstamos, intercambios de monedas o depósitos que funcionan sin banco, con reglas en el código.
- Trazabilidad: registrar cada etapa de un producto, desde el origen hasta el cliente, de forma verificable. Lo cuento con un caso real en blockchain para trazabilidad alimentaria.
- Certificados y títulos: diplomas o certificaciones cuya autenticidad cualquiera puede comprobar.
- Pagos condicionados: liberar un pago automáticamente cuando un dato externo confirma una entrega.
El problema de los datos externos: los oráculos
Una blockchain no sabe lo que pasa fuera de ella: no conoce el precio del euro, si ha llovido o si un paquete ha llegado. Para eso se usan oráculos, servicios que introducen datos del mundo real en la cadena. El smart contract es tan fiable como el oráculo del que depende: si el dato de entrada es falso, el resultado será incorrecto, pero quedará registrado igual.
Riesgos de seguridad
Como hacker ético, aquí es donde más insisto. Un smart contract mueve dinero y su código es público, así que es un objetivo muy atractivo.
- El código es la ley: si hay un fallo, el contrato lo ejecutará igual. No hay botón de deshacer.
- Vulnerabilidades típicas: reentrada (el caso histórico de The DAO en 2016), errores de control de acceso, manipulación de oráculos o cálculos mal hechos.
- Claves privadas: quien controla la clave del administrador controla el contrato. Su custodia es crítica.
Por eso, antes de desplegar un smart contract que gestione valor, es imprescindible una auditoría de seguridad del código, pruebas exhaustivas en una red de pruebas y, si procede, mecanismos de pausa o de actualización controlada.
¿Tiene validez legal en España?
Un smart contract no sustituye por sí solo a un contrato legal. En España, un contrato requiere consentimiento, objeto y causa, y el código puede ser una forma de ejecutarlo o de probar que se ha cumplido, pero conviene que exista un acuerdo en lenguaje natural que lo respalde. A nivel europeo, el Reglamento MiCA regula los criptoactivos y sus proveedores. Si tu proyecto mueve dinero o tokens, consulta con un abogado especializado.
¿Lo necesita tu empresa?
Tiene sentido cuando varias partes que no confían plenamente entre sí necesitan ejecutar reglas automáticas y verificables. Si todo depende de una sola empresa, probablemente una aplicación tradicional sea más barata y sencilla. Para ver qué modelo de red encaja, consulta los tipos de blockchain.
Preguntas frecuentes
¿Qué es un smart contract?
Es un programa que se guarda y se ejecuta en una blockchain y que cumple automáticamente unas reglas cuando se dan ciertas condiciones, sin intermediarios y sin que pueda modificarse una vez desplegado.
¿Un smart contract tiene validez legal?
Por sí solo no sustituye a un contrato legal. Puede servir para ejecutarlo o probar su cumplimiento, pero lo recomendable es que exista un acuerdo escrito que lo respalde y consultar con un abogado.
¿Son seguros los smart contracts?
Lo son tanto como su código. Como no se pueden modificar y suelen gestionar dinero, un error puede ser explotado. Por eso es imprescindible auditarlos antes de desplegarlos.
Manuel Marco Sánchez
Arquitecto de ciberseguridad con más de 15 años de experiencia en hacking ético, redes, blockchain e IA. Ponente en el Congreso Internacional Blockchain (CIBTC).