¿Qué es un contrato inteligente?
¿Qué es un contrato inteligente? Aprende cómo funcionan los programas autoejecutables en la blockchain, qué impulsan, sus límites y riesgos, y cómo revisar uno antes de usarlo.
Un contrato inteligente es un programa almacenado en una blockchain que se ejecuta automáticamente cuando se cumplen unas condiciones predefinidas. Puede guardar y mover fondos según su código, sin que un banco, un bróker u otro intermediario decida si se lleva a cabo cada paso.
Los contratos inteligentes impulsan casi todo lo que va más allá de los pagos simples en cripto: tokens, exchanges descentralizados, protocolos de préstamo, NFT y DAO. Entender lo que pueden y no pueden hacer te ayuda a valorar tanto las oportunidades como los riesgos de usarlos.
Cómo funcionan los contratos inteligentes
La idea de contratos aplicados mediante código la describió el informático Nick Szabo en los años noventa, usando como analogía una máquina expendedora: introduces las monedas correctas, eliges un producto y la máquina te lo entrega sin necesidad de un dependiente.
En una blockchain, el proceso es así:
- 1Un desarrollador escribe el código, por ejemplo en Solidity para Ethereum o en Rust para otras redes.
- 2El código se despliega en una transacción y recibe su propia dirección.
- 3Los usuarios llaman al contrato enviando transacciones a esa dirección, a menudo con tokens adjuntos.
- 4Cada nodo ejecuta el código y se pone de acuerdo con los demás en el resultado, de modo que es el mismo para todos.
- 5El estado del contrato se actualiza: los saldos, los registros de propiedad o los ajustes cambian en la cadena.
Cada paso cuesta una comisión de red. En Ethereum esa comisión se llama gas; consulta qué es el gas en Ethereum para ver cómo funciona.
Para qué se usan los contratos inteligentes
| Uso | Qué hace el contrato | Ejemplo |
|---|---|---|
| Tokens | Lleva el registro de saldos y transferencias | Un contrato de token ERC-20 |
| Exchanges descentralizados | Guarda fondos comunes de tokens y fija precios con una fórmula | Un creador de mercado automatizado |
| Préstamos | Acepta garantías, concede préstamos, liquida posiciones de riesgo | Un mercado monetario DeFi |
| NFT | Registra la propiedad de artículos únicos | El contrato NFT de una colección |
| DAO | Cuenta votos y ejecuta las propuestas aprobadas | Un contrato de gobernanza en cadena |
| Billeteras multifirma | Exige varias aprobaciones para mover fondos | La tesorería de un proyecto |
Muchos de estos contratos se llaman entre sí, por eso a veces se describe DeFi como «legos de dinero». Nuestra guía sobre DeFi muestra cómo encajan estas piezas.
Contratos inteligentes vs. contratos tradicionales
Ayuda compararlos con los acuerdos en papel que casi todo el mundo conoce.
| Contrato tradicional | Contrato inteligente | |
|---|---|---|
| Escrito en | Lenguaje humano | Código de programación |
| Lo hace cumplir | Tribunales, instituciones, la buena fe de las partes | La red blockchain que ejecuta el código |
| Flexibilidad | Se puede renegociar o interpretar | Se ejecuta tal cual, salvo que esté diseñado para actualizarse |
| Transparencia | Normalmente privado | El código y la actividad suelen ser públicos en la cadena |
| Resolución de disputas | Jueces, árbitros, abogados | No hay forma integrada de gestionar disputas más allá del código |
| Velocidad | De días a meses para liquidar | De segundos a minutos, según la red |
Sus puntos fuertes son la rapidez, la transparencia y la eliminación de intermediarios. Su debilidad es la rigidez: el código no puede ponderar la justicia ni el contexto. Si ocurre algo inesperado que los desarrolladores no previeron, el contrato simplemente sigue sus reglas, aunque el resultado claramente no sea lo que nadie pretendía. Lo tratamos con más detalle en ¿Qué son la testnet y la mainnet?
Quién escribe y controla los contratos inteligentes
Cualquiera puede desplegar un contrato inteligente; en las blockchains públicas no hay proceso de aprobación. Esa apertura permite innovar rápido, pero también significa que los contratos fraudulentos son tan fáciles de desplegar como los legítimos. Una vez desplegado, el control depende de cómo se escribió el contrato: algunos no tienen propietario, otros los controla una sola billetera y otros una multifirma o una votación de una DAO con un retraso temporal. Saber qué modelo se aplica es clave para valorar el riesgo de cualquier app. Lectura relacionada: Exploits de contratos inteligentes.
Lo que los contratos inteligentes no pueden hacer
Los contratos inteligentes son potentes, pero limitados.
- Solo conocen datos de la cadena. Para usar información del mundo real, como precios o resultados deportivos, dependen de oráculos, que llevan datos externos a la cadena y pueden fallar o ser manipulados.
- No entienden la intención. Si envías fondos a la función equivocada o firmas una aprobación maliciosa, el contrato hace lo que dice el código.
- No son automáticamente contratos legales. La ejecución del código y la validez legal son cuestiones distintas.
- No pueden deshacer errores. Una transacción completada normalmente se queda así.
Riesgos de usar contratos inteligentes
Errores y exploits
El código lo escriben personas, y los errores ocurren. Los atacantes buscan fallos y pueden vaciar fondos en una sola transacción. Las auditorías ayudan, pero no garantizan la seguridad; consulta cómo evaluar un informe de auditoría de un contrato inteligente.
Claves de administración y actualizaciones
Muchos contratos son actualizables o tienen funciones de propietario que pueden pausar el comercio, cambiar comisiones o acuñar tokens. Eso puede proteger a los usuarios en una emergencia, pero también abre la puerta al abuso o al robo de una clave de administración. Lectura relacionada: Account abstraction explicada.
Contratos maliciosos
Los tokens fraudulentos pueden incluir reglas ocultas, como bloquear las ventas o cobrar enormes impuestos por transferencia. Un contrato puede parecer normal en la página de un token y comportarse de forma muy distinta en la práctica. Ver también: ICO vs. IEO vs. IDO.
Aprobaciones
Usar DeFi suele requerir aprobar que un contrato gaste tus tokens. Las aprobaciones ilimitadas a un contrato con errores o malicioso pueden usarse después para llevarse esos tokens. Si quieres ir más allá, lee ¿Qué es la mempool?
Cómo revisar un contrato inteligente antes de usarlo
- 1Confirma la dirección en el sitio oficial del proyecto y en una fuente independiente.
- 2Búscala en un explorador de bloques para ver su fecha de creación, su actividad y si su código fuente está verificado.
- 3Busca auditorías de empresas conocidas y comprueba si los problemas encontrados se corrigieron.
- 4Averigua quién controla las funciones de administración: una multifirma, un timelock o una sola billetera.
- 5Empieza con poco y limita las aprobaciones de tokens a la cantidad que necesites.
Nuestra guía sobre cómo verificar la dirección de contrato oficial de un token explica en detalle los dos primeros pasos.
Conclusión
Un contrato inteligente es código autoejecutable en una blockchain que puede guardar y mover valor sin intermediarios. Eso hace posibles las finanzas abiertas y programables, pero también significa que los errores, los poderes de administración ocultos y el código malicioso actúan al instante y de forma irreversible. Verifica la dirección, entiende quién controla el contrato y aprueba solo lo que necesites.
Preguntas frecuentes
¿Los contratos inteligentes son legalmente vinculantes?
No de forma automática. Un contrato inteligente es software que se ejecuta en una blockchain, no un acuerdo legal en sí mismo. Algunos sistemas jurídicos pueden reconocer acuerdos registrados o ejecutados mediante código, pero depende del país y de las circunstancias. Si la validez legal importa, consulta la ley local o a un profesional cualificado.
¿Se puede cambiar un contrato inteligente después de desplegarlo?
El código desplegado normalmente no se puede editar. Sin embargo, muchos proyectos usan diseños actualizables, como los contratos proxy, que permiten a un administrador redirigir a los usuarios a código nuevo. Esa flexibilidad ayuda a corregir errores, pero también significa que alguien tiene poder para cambiar las reglas. Comprueba quién controla las claves de actualización o de administración.
¿Qué blockchains admiten contratos inteligentes?
Ethereum popularizó los contratos inteligentes de uso general, y muchas otras redes los admiten, como BNB Chain, Solana, Avalanche, Cardano y las redes de capa 2 de Ethereum. Bitcoin, por diseño, solo admite un scripting limitado. Cada plataforma usa sus propios lenguajes y herramientas, así que los contratos no se pueden trasladar automáticamente entre ellas.
¿Qué pasa si un contrato inteligente tiene un error?
El código se ejecuta exactamente como está escrito, error incluido. Los atacantes pueden aprovecharlo para vaciar los fondos, y las transacciones normalmente no se pueden revertir. Algunos proyectos pueden pausar o actualizar los contratos para limitar el daño, mientras que los contratos inmutables no se pueden corregir. Las auditorías y los programas de recompensas reducen el riesgo, pero no lo eliminan.
