La idea que quiero que entiendas
Un smart contract es, básicamente, una serie de instrucciones del tipo “si ocurre X, haz Y” ejecutadas por una blockchain.
Pero para mí hay una idea todavía más importante:
Los smart contracts no eliminan mágicamente la necesidad de confianza. La cambian de sitio.
En vez de confiar únicamente en una empresa, un banco o una persona para que cumpla lo acordado, pasas a depender del código, de la blockchain donde se ejecuta, de los datos que recibe y, en muchos casos, de las personas que pueden modificar determinados componentes del protocolo.
Entender esto evita pasar del “tengo que confiar en todo el mundo” al otro extremo de “es blockchain, así que no tengo que confiar en nadie”.
No funciona así.
Si todavía no tienes clara la base sobre la que se construye todo esto, volvería primero a qué es blockchain y cómo funciona. Una vez entiendes qué hace una blockchain, los contratos inteligentes son bastante más fáciles de visualizar.
Qué es exactamente un smart contract
Piensa en una especie de caja fuerte programable.
La caja puede guardar activos digitales y tiene unas reglas escritas en código. Nadie tiene que estar sentado delante decidiendo manualmente qué hacer cada vez.
Imagina una regla extremadamente sencilla:
Si Ana deposita 1.000 USDC y recibe el activo digital acordado, libera los 1.000 USDC al vendedor.
El programa comprueba aquello que puede comprobar dentro de la blockchain y ejecuta la acción correspondiente.
No negocia.
No interpreta intenciones.
No piensa si el trato sigue pareciendo justo.
Ejecuta código.
Ethereum fue diseñado precisamente para permitir que los desarrolladores desplieguen este tipo de programas y que después otras cuentas puedan interactuar con ellos enviando transacciones.
Por eso entender qué es Ethereum y para qué sirve ayuda bastante: Ethereum no es simplemente una criptomoneda llamada ETH. Es también una infraestructura donde pueden ejecutarse aplicaciones construidas mediante contratos inteligentes.
Un smart contract no es necesariamente un contrato jurídico
Aquí el nombre juega una mala pasada.
Un contrato tradicional puede incluir frases como “actuar de buena fe”, “entregar el producto en condiciones adecuadas” o “realizar el trabajo satisfactoriamente”.
Eso exige interpretación.
El código no funciona así.
| Contrato tradicional | Smart contract | |
|---|---|---|
| Dónde están las reglas | Texto y acuerdos entre las partes | Código |
| Quién ejecuta lo acordado | Las partes y, si hay conflicto, terceros o tribunales | La blockchain siguiendo el programa |
| Puede interpretar contexto | Sí, mediante personas | No |
| Puede usar datos del mundo real directamente | Sí | Normalmente necesita una fuente externa |
| Cambiar las condiciones | Las partes pueden pactar modificaciones | Depende del diseño; el código desplegado no se edita simplemente como un documento |
Puede existir un contrato legal que utilice smart contracts, claro. Pero “smart contract” y “contrato legal” no son sinónimos.
Y esta diferencia me parece bastante importante.
Cómo funciona un smart contract paso a paso
Vamos a quitarle misterio.
Primero, un desarrollador escribe el programa. En Ethereum es muy habitual utilizar Solidity, aunque como usuario normal no necesitas aprender a programar para interactuar con un contrato.
Después, ese código se despliega en la blockchain. El contrato pasa a tener una dirección que permite identificarlo, igual que otros elementos de la red.
A partir de ahí, un usuario puede interactuar con él. Normalmente lo hará a través de una aplicación que simplifica el proceso: pulsas “intercambiar”, “depositar”, “pedir prestado” o “hacer staking”, y por debajo estás solicitando ejecutar una determinada función.
Tu wallet de criptomonedas firma la operación para demostrar que eres tú quien la autoriza.
La red procesa la transacción, ejecuta las reglas del contrato y, si todo es válido, actualiza el estado de la blockchain.
Por ejemplo, puede ocurrir que antes tengas 1 ETH en tu dirección y 0 unidades de otro token y, después de una operación, el contrato haya enviado tu ETH a un pool y te haya entregado los tokens correspondientes.
El resultado queda registrado en la blockchain.
Aquí aparece una diferencia interesante frente a utilizar una plataforma centralizada. Cuando operas dentro de un exchange, muchas operaciones pueden gestionarse en los propios sistemas de la empresa. Cuando interactúas directamente con un protocolo descentralizado, puedes estar firmando una transacción que llama a un smart contract.
Si esa distinción todavía te lía, la explico con más calma en exchange vs wallet: qué cambia realmente.
Hay otro detalle que suele explicarse mal: el contrato no está sentado esperando eventos del universo como si tuviera vida propia.
En Ethereum, las cuentas llaman a sus funciones mediante transacciones. Que llegue una determinada hora no hace que un contrato se despierte mágicamente y actúe. Para ejecutar determinada lógica debe producirse una interacción en la red, directamente por un usuario o mediante algún sistema de automatización.
Un ejemplo sencillo para verlo claro
Imagina un mercado de entradas digitales.
Existe una entrada representada mediante un activo en blockchain y quieres comprársela a otra persona por 200 USDC.
Sin smart contract tienes un problema bastante clásico.
¿Quién envía primero?
Si tú mandas los 200 USDC, dependes de que la otra persona entregue la entrada. Si la otra persona entrega primero la entrada, depende de que tú pagues.
Un contrato inteligente podría hacer de intermediario programable.
Tú depositas los 200 USDC. El vendedor deposita la entrada. El contrato comprueba que están ambos activos y ejecuta el intercambio: la entrada va a tu dirección y los 200 USDC a la del vendedor.
Si las condiciones están correctamente programadas, ninguna de las partes necesita confiar en que la otra cumpla voluntariamente después.
Esto es potente.
Pero fíjate en una cosa: el smart contract funciona especialmente bien porque toda la información relevante está dentro de la blockchain.
Sabe si existen los 200 USDC.
Sabe quién posee el activo digital.
Sabe a qué direcciones debe enviarlos.
Ahora cambia la entrada digital por un coche físico y aparece un problema mucho más interesante.
¿Cómo sabe la blockchain que realmente te han entregado el coche?
No lo sabe.
Para qué sirven los smart contracts en criptomonedas
Aquí es donde se entiende por qué los contratos inteligentes han terminado siendo una pieza tan importante de cripto.
Sirven para crear tokens, realizar intercambios descentralizados, gestionar préstamos y depósitos, repartir recompensas, ejecutar determinados sistemas de gobernanza, construir videojuegos blockchain, emitir NFTs o crear productos financieros que pueden combinarse unos con otros.
En la práctica, muchas aplicaciones descentralizadas utilizan smart contracts como su parte lógica. Ethereum los describe como uno de los bloques fundamentales de su capa de aplicaciones.
Cuando utilizas un protocolo DeFi, por ejemplo, puedes estar interactuando con varios contratos sin siquiera verlos.
Y ocurre algo parecido con el staking de criptomonedas cuando se realiza mediante determinados protocolos: lo que tú ves como un botón sencillo puede esconder por debajo varias interacciones entre wallets y contratos.
Eso es precisamente lo interesante.
Los smart contracts permiten convertir reglas financieras o digitales en código que otros programas pueden reutilizar.
Un contrato puede llamar a otro.
Ese segundo contrato puede utilizar un tercero.
Y así se construyen aplicaciones mucho más complejas.
Pero esa capacidad de combinar piezas también crea riesgos. Un protocolo puede tener su propio código perfectamente escrito y aun así verse afectado si depende de otro contrato vulnerable.
Lo que un smart contract no puede hacer solo
Esta es probablemente la parte que más me interesa de toda la explicación.
La frase “el contrato se ejecuta automáticamente cuando se cumple una condición” es correcta, pero puede dar una impresión demasiado mágica.
¿Quién le dice que se ha cumplido la condición?
Si todo ocurre dentro de la blockchain, resulta relativamente sencillo. El contrato puede consultar saldos, direcciones, bloques u otra información disponible en la propia red.
El problema aparece con el mundo exterior.
Supongamos que creamos un seguro que paga automáticamente 500 € si un vuelo llega con más de tres horas de retraso.
La blockchain no sabe si tu vuelo ha aterrizado tarde.
Necesitamos introducir esa información desde fuera.
Aquí aparecen los oráculos, sistemas que llevan determinados datos externos hasta los contratos inteligentes. Ethereum señala precisamente esta limitación: los contratos no pueden obtener por sí mismos información del mundo exterior y necesitan mecanismos externos cuando esa información es necesaria para ejecutar su lógica.
Y aquí vuelve la confianza.
Si tu contrato es perfecto pero recibe un precio incorrecto de un oráculo, puede ejecutar perfectamente una decisión incorrecta.
Esto resume bastante bien cómo yo miraría los smart contracts:
automatizar una regla no garantiza que esa regla sea buena ni que los datos utilizados sean correctos.
Tampoco significa que todos los contratos sean completamente inmutables para siempre.
En Ethereum, el código desplegado en una dirección es inmutable por diseño, pero existen arquitecturas con contratos proxy y otros patrones que permiten cambiar la lógica con la que interactúa el usuario.
Así que cuando alguien te diga “nadie puede cambiar este smart contract”, yo no me quedaría únicamente con esa frase.
Preguntaría quién tiene permisos, si existe un mecanismo de actualización y qué controla realmente esa dirección.
El gran riesgo: el código ejecuta también los errores
A veces se presenta la automatización como si eliminase los errores humanos.
No exactamente.
Puede evitar que una persona cambie arbitrariamente de opinión durante la ejecución, pero el código lo han escrito personas.
Y un error programado puede ejecutarse con la misma precisión que una regla correcta.
Ethereum dedica una parte importante de su propia documentación a vulnerabilidades de contratos inteligentes y a técnicas para reducir riesgos. Entre ellas están fallos como la reentrada, problemas de control de acceso y errores relacionados con contratos actualizables.
Por eso yo separaría siempre cuatro riesgos.
El primero es el riesgo del propio código. Puede contener un fallo que permita comportamientos que sus desarrolladores no habían previsto.
El segundo es el riesgo de administración. Si alguien conserva permisos especiales para actualizar, pausar o modificar partes del sistema, necesitas entender qué puede hacer exactamente.
El tercero es el riesgo de dependencias. Oráculos, bridges y otros contratos pueden convertirse en puntos débiles aunque el contrato principal funcione bien.
Y el cuarto eres tú.
Puedes tener delante un protocolo perfectamente legítimo y firmar una operación que no entiendes, conceder permisos demasiado amplios o entrar en una web falsa.
Por eso aprender cómo funciona una seed phrase y por qué debes protegerla y seguir unas buenas prácticas de seguridad con criptomonedas no es un tema separado de los smart contracts. Es parte de utilizarlos con cabeza.
Y si estás empezando, echaría también un vistazo a la lección sobre los principales riesgos de invertir en criptomonedas.
Entonces, ¿por qué son tan importantes?
Porque permiten hacer algo que antes era mucho más difícil: crear aplicaciones capaces de gestionar activos digitales mediante reglas públicas y programables.
Eso abre posibilidades enormes.
Pero lo que más me gusta del concepto no es la palabra “automático”. Es la posibilidad de comprobar qué reglas está siguiendo un sistema en lugar de depender únicamente de lo que una empresa dice que hará.
Eso no convierte cada smart contract en algo seguro.
Ni siquiera convierte cada proyecto descentralizado en realmente descentralizado.
Lo que hace es darnos una herramienta nueva para construir sistemas digitales.
Y a partir de aquí empiezas a entender mucho mejor por qué existen Ethereum, DeFi, los exchanges descentralizados, determinados stablecoins, NFTs, DAOs y una parte enorme del ecosistema cripto.
¿Necesitas smart contracts para comprar criptomonedas?
No.
Y me parece importante decirlo porque estamos entrando en conceptos cada vez más técnicos dentro del curso.
Si simplemente quieres comprar Bitcoin, Ethereum u otras criptomonedas, no necesitas aprender Solidity ni conectarte directamente a un protocolo DeFi.
Puedes utilizar un exchange.
Si todavía no tienes claro qué papel cumple, tienes la lección sobre qué es un exchange de criptomonedas y la guía de cómo comprar criptomonedas paso a paso.
Para comprar criptomonedas desde euros, la opción que recomendamos dentro del curso es Bitvavo.
Abrir una cuenta en Bitvavo con la promoción de bienvenida vigente
Prefiero no darte aquí una cifra concreta de la promoción porque puede cambiar. Las propias condiciones de Bitvavo contemplan que los beneficios y términos del programa de referidos pueden modificarse y que la recompensa aplicable se muestra durante el proceso de registro. Compruébala antes de terminar el alta.
Invertir en cripto sigue teniendo riesgo aunque utilices un exchange regulado o una plataforma que me parezca buena. Una cosa es elegir dónde comprar y otra completamente distinta decidir qué comprar y cuánto riesgo asumir.
La idea con la que me quedaría
Si solo recuerdas una cosa de esta lección, que sea esta:
Un smart contract no es un contrato que piensa. Es código que ejecuta reglas sobre una blockchain.
Su ventaja es que permite automatizar operaciones y manejar activos sin depender de que una persona las ejecute una a una.
Su límite es exactamente el mismo que hace interesante al concepto: hace lo que está programado para hacer.
Si el código tiene un error, ejecutará el error.
Si depende de un dato externo incorrecto, utilizará ese dato.
Si existen permisos de administración, esos permisos importan.
Y si tú firmas una operación equivocada, que el contrato sea descentralizado no va a salvarte automáticamente.
Entender esto ya te pone bastante por delante de quedarse únicamente con la frase de que “los smart contracts eliminan intermediarios”.
La siguiente pieza del puzzle es muy práctica. Cada vez que llamas a uno de estos contratos en redes como Ethereum, ejecutar código consume recursos de la red. Y esos recursos se pagan.
Seguimos con la lección 26: qué son las gas fees y por qué tienes que pagarlas.
Preguntas frecuentes sobre smart contracts
¿Un smart contract puede funcionar sin blockchain?
El término se utiliza normalmente para programas desplegados sobre redes blockchain o sistemas de registros distribuidos. Puedes automatizar reglas con software tradicional, por supuesto, pero la particularidad del smart contract es que su ejecución y estado se integran dentro de esa infraestructura blockchain.
¿Se puede modificar un smart contract después de crearlo?
El código desplegado directamente en Ethereum es inmutable por diseño. Sin embargo, un proyecto puede utilizar arquitecturas actualizables —por ejemplo, contratos proxy— que permiten sustituir la lógica utilizada por la aplicación sin modificar directamente el código original.
Por eso “el contrato es inmutable” no debería ser el final del análisis.
¿Tengo que saber programar para utilizar smart contracts?
No. La mayoría de usuarios interactúan con ellos mediante wallets y aplicaciones que presentan una interfaz mucho más sencilla. Lo importante como usuario no es saber escribir Solidity, sino entender qué estás autorizando, con qué contrato estás interactuando y qué riesgos estás aceptando.











