Skip to content
Beta
Research · Aprende Cripto

¿Qué es un contrato inteligente?

Ethereum y Contratos Inteligentes · 7 October 2026 · 12 min de lectura · By admin

Un contrato inteligente es un programa almacenado en una blockchain que se ejecuta exactamente como fue escrito cuando alguien le envía una transacción. Esta guía explica su origen, cómo funciona, un ejemplo de depósito en garantía y el papel del gas.

What Is a Smart Contract? — OTCN Research cover

Un contrato inteligente es un programa almacenado en una blockchain en su propia dirección, que se ejecuta exactamente como fue escrito cada vez que alguien le envía una transacción. Como cada nodo ejecuta el mismo código y registra el resultado, ninguna parte puede cambiar el desenlace. Los contratos inteligentes impulsan tokens, exchanges descentralizados y mercados de préstamos, pero no pueden corregir sus propios errores.

De dónde surgió la idea

El término «contrato inteligente» fue acuñado por el informático Nick Szabo en la década de 1990 para describir acuerdos ejecutados mediante código en lugar de por los tribunales. La idea se volvió práctica cuando Ethereum se lanzó en julio de 2015, con un entorno de programación integrado en la propia blockchain. Hoy, la mayoría de los contratos inteligentes se ejecutan en Ethereum y en redes que copiaron su diseño.

Una máquina expendedora, y dónde termina la analogía

La ilustración favorita de Szabo era la máquina expendedora. Se introduce el dinero correcto, se elige un artículo y la máquina lo entrega; ningún comerciante tiene que aprobar la venta, y las reglas están integradas en la máquina. Un contrato inteligente funciona de la misma manera: se envía la transacción correcta, se cumplen las condiciones del código y el resultado se produce automáticamente.

La analogía falla en dos puntos. El dueño de una máquina expendedora puede abrirla, repararla o retirarla; muchos contratos inteligentes no pueden ser modificados por nadie una vez desplegados. Además, una máquina expendedora contiene unos pocos dólares en productos, mientras que un solo contrato inteligente puede manejar miles de millones de dólares de dinero ajeno, lo que hace que cada fallo en sus reglas tenga consecuencias mucho mayores.

Cómo funciona un contrato inteligente

  1. Un desarrollador escribe el código, normalmente en un lenguaje como Solidity, y lo compila para la Máquina Virtual de Ethereum (EVM).
  2. El código se despliega mediante una transacción. Recibe su propia dirección, como una billetera, y puede almacenar fondos.
  3. Los usuarios llaman a sus funciones enviando transacciones a esa dirección, por ejemplo, «intercambiar este token» o «pagar este préstamo».
  4. Cada nodo ejecuta el mismo código y debe llegar al mismo resultado. Si alguna condición del código falla, toda la transacción se revierte.
  5. Quien hace la llamada paga el cómputo en gas. Cada operación tiene un costo establecido, lo que impide que los programas se ejecuten indefinidamente. Consulte el límite de gas.

Ciclo de vida de un contrato inteligente: el código se escribe y se despliega en su propia dirección, los usuarios lo llaman mediante transacciones, todos los nodos ejecutan el mismo código y el resultado se registra o la transacción se revierte, pagándose el gas en cualquiera de los dos casos. Figura: Qué ocurre cuando se llama a un contrato inteligente en Ethereum.

Un ejemplo sencillo: un contrato de depósito en garantía

Imagine a dos desconocidos que intercambian una laptop usada por 1 ETH. Ninguno quiere ir primero. Un contrato de depósito en garantía puede situarse entre ellos:

  1. El comprador envía 1 ETH al contrato, que lo registra y lo bloquea.
  2. El vendedor ve el pago bloqueado en la blockchain y envía la laptop.
  3. Cuando llega, el comprador llama a la función «confirmar» del contrato, y este libera 1 ETH al vendedor.
  4. Si el comprador nunca confirma ni presenta una disputa, una regla de tiempo límite en el código puede liberar los fondos al vendedor después de un periodo establecido; si el vendedor nunca envía el producto, otra regla puede reembolsar al comprador.

Ninguna empresa retiene el dinero, y ninguna de las partes puede retirarlo fuera de las reglas. Pero el contrato no puede ver si la laptop fue realmente entregada o si llegó dañada. Todo lo que ocurre fuera de la blockchain debe ser informado al contrato por alguien, y ahí es donde intervienen las disputas, los árbitros o los oráculos.

Gas: por qué ejecutar código cuesta dinero

Cada paso que realiza un contrato, desde sumar dos números hasta almacenar un valor, tiene un costo fijo en unidades de gas. Quien hace la llamada establece una cantidad máxima de gas y paga un precio por unidad, de modo que la tarifa total es el gas utilizado multiplicado por el precio. Almacenar datos de forma permanente es una de las operaciones más costosas, por eso los desarrolladores se esfuerzan en mantener los contratos ligeros.

Dos consecuencias sorprenden a los recién llegados. Una transacción que falla a mitad de camino sigue pagando el gas utilizado antes del fallo, porque la red ya realizó el trabajo. Y la misma acción puede costar cantidades muy diferentes según la congestión de la red, ya que el precio por unidad de gas aumenta con la demanda.

Para qué se usan los contratos inteligentes

  • Tokens: la mayoría de los tokens, incluidas las principales stablecoins, son contratos inteligentes que registran saldos y gestionan las transferencias.
  • Exchanges descentralizados: grupos de tokens que fijan precios y ejecutan intercambios de forma automática.
  • Préstamos: contratos que aceptan colateral, emiten préstamos y liquidan posiciones cuando el colateral cae demasiado.
  • Billeteras multifirma: fondos que solo se mueven cuando firman varias claves aprobadas.
  • Puentes: contratos que bloquean activos en una cadena para que puedan representarse en otra; véase qué es un puente entre cadenas.
  • Staking y gobernanza: contratos que retienen monedas en staking, distribuyen recompensas y cuentan los votos sobre cambios en el protocolo.

Estándares: por qué los tokens funcionan en todas partes

Gran parte de lo que los usuarios dan por sentado depende de estándares compartidos, es decir, conjuntos acordados de funciones que los contratos implementan de la misma manera. El estándar ERC-20 define cómo los tokens fungibles informan sus saldos, gestionan las transferencias y las aprobaciones, por lo que una billetera o un exchange puede admitir un token nuevo sin trabajo personalizado. ERC-721 hace lo mismo con los tokens no fungibles, asignando a cada token un ID único y un propietario. Como los contratos siguen estas plantillas, una sola billetera puede mostrar miles de tokens distintos y un único contrato de exchange puede negociar cualquiera de ellos. Los estándares también concentran riesgos: la función “approve”, que permite a un contrato gastar sus tokens, forma parte de ERC-20, y es precisamente la función que explotan los drainers.

En qué se diferencian del software normal

Una aplicación normal funciona en servidores controlados por una empresa, que puede cambiar las reglas o cerrarla. Un contrato inteligente se ejecuta en una red pública: su código es visible, su ejecución es verificada por miles de nodos y, a menos que se haya diseñado para ser actualizable, nadie puede alterarlo después de su despliegue. De ahí proceden tanto su confianza como su riesgo.

Los contratos también pueden llamarse entre sí. Un contrato de préstamos puede leer precios de un contrato oráculo, aceptar un token emitido por otro contrato y enviar el colateral liquidado a un contrato de exchange, todo en una misma transacción. Esta composabilidad permite a los desarrolladores construir sobre el trabajo de otros, pero también implica que un fallo en un contrato puede propagarse a todos los contratos que dependen de él.

Contratos actualizables y claves de administrador

Como el código desplegado no puede cambiar, muchos equipos utilizan un diseño actualizable. Los usuarios interactúan con un contrato “proxy” fijo que reenvía las llamadas a un contrato de lógica separado, y el equipo puede apuntar el proxy a una nueva lógica para corregir errores o añadir funciones. Esto es práctico, pero reintroduce la confianza: quien controla la actualización puede cambiar las reglas, incluida la forma en que se gestionan los fondos.

Los proyectos bien gestionados limitan ese poder. Las salvaguardas habituales incluyen exigir varias firmas independientes para cualquier actualización, imponer un timelock para que los cambios se anuncien con días de antelación antes de entrar en vigor y, con el tiempo, eliminar por completo los derechos de actualización cuando el código madura. Comprobar cuáles de estas medidas están implementadas es una de las cosas más útiles que puede hacer un usuario.

Dónde fallan los contratos inteligentes

Los errores son permanentes. Un fallo en código desplegado puede ser explotado por cualquiera que lo encuentre, y la red ejecutará el exploit fielmente. El hackeo de The DAO en 2016, en el que un atacante explotó un fallo en uno de los primeros contratos grandes de Ethereum, fue tan grave que llevó a una bifurcación dura (hard fork) de la red. Véase qué ocurrió en el hackeo de The DAO.

Solo conocen lo que hay en la cadena. Un contrato no puede comprobar por sí mismo el precio de una acción ni el clima. Depende de oráculos de blockchain para obtener datos externos, y los datos incorrectos producen resultados erróneos.

Las claves de administrador pueden anularlos. Los poderes de actualización que permiten corregir errores también permiten abusos, y las claves robadas dan a los atacantes esos mismos poderes. El hackeo del puente de Ronin mostró hasta qué punto puede depender todo de un puñado de claves.

Los usuarios pueden ser engañados para aprobarlos. Muchos robos no rompen ningún código. Un sitio malicioso pide al usuario que apruebe un contrato para gastar sus tokens, y el contrato hace exactamente lo que se le permitió hacer. Véase qué es un wallet drainer.

El código no es un contrato legal. Un contrato inteligente ejecuta instrucciones; si crea derechos legales depende de la ley del lugar donde se encuentran las partes. Véase mitos de blockchain.

Auditorías, programas de recompensas por errores y verificación formal

Debido a que los errores son muy costosos, los proyectos serios combinan varias defensas. Las auditorías de seguridad independientes revisan el código antes del lanzamiento, aunque una auditoría es una instantánea de una sola versión y no puede garantizar que no queden errores. Los programas de recompensas por errores (bug bounty) pagan a los investigadores que encuentran y reportan de forma responsable fallos, lo que ofrece a personas talentosas una alternativa legítima a explotarlos. Para el código más crítico, la verificación formal utiliza métodos matemáticos para demostrar que un contrato se comporta según su especificación. Cada método reduce el riesgo; ninguno lo elimina, y el código que ha custodiado de forma segura grandes cantidades durante años sigue siendo la evidencia más sólida.

Leer un contrato en un explorador de bloques

No necesitas escribir código para aprender mucho sobre un contrato. En un explorador de bloques, la página de un contrato suele mostrar su saldo, su historial de transacciones y, si los desarrolladores lo publicaron, una pestaña de código fuente “verificado” que permite a cualquiera comparar el código con lo que está desplegado. Los exploradores suelen enumerar las funciones de lectura del contrato, que muestran su configuración actual, y sus funciones de escritura, que muestran lo que puede hacer. El código no verificado, un despliegue muy reciente o un gran saldo controlado por una dirección desconocida son motivos para extremar la precaución. Consulta qué es un explorador de blockchain.

Contratos inteligentes más allá de Ethereum

Muchas otras redes ejecutan contratos inteligentes. Algunas son compatibles con la Ethereum Virtual Machine, por lo que el mismo código y las mismas herramientas funcionan en ellas con cambios menores. Otras usan máquinas virtuales y lenguajes de programación diferentes, lo que puede ofrecer ventajas de velocidad o de costo, pero significa que los contratos y las auditorías no se transfieren directamente. Las mismas preguntas sobre la calidad del código, los poderes de actualización y las dependencias se aplican en todas las redes.

Cómo evaluar un contrato inteligente antes de usarlo

  • ¿Se ha auditado el código, por quién y con qué recencia?
  • ¿Es el contrato actualizable, quién controla las claves de actualización y existe un timelock?
  • ¿Cuánto tiempo lleva en funcionamiento y cuánto valor ha custodiado de forma segura?
  • ¿Depende de oráculos o puentes, y de cuáles?
  • ¿Qué exactamente te pide aprobar tu billetera cuando lo usas?

Ninguna respuesta hace que un contrato esté libre de riesgo, pero cada una te indica dónde se encuentra el riesgo.

Preguntas frecuentes

¿Se puede cambiar un contrato inteligente después de desplegarlo?

Solo si fue diseñado para ello. Los contratos inmutables se ejecutan sin cambios para siempre; los actualizables pueden modificarse por quien controle el mecanismo de actualización, por eso ese control importa tanto.

¿Los contratos inteligentes son legalmente vinculantes?

No automáticamente. Un contrato inteligente hace cumplir su propio código, pero si crea obligaciones legales exigibles depende de la ley que se aplique a las personas involucradas y de cualquier acuerdo que lo rodee.

¿Necesito saber programar para usar contratos inteligentes?

No. La mayoría de las personas los usan a través de billeteras y sitios web sin ver ningún código. Saber qué estás aprobando y dónde están los riesgos del contrato importa mucho más que leerlo línea por línea.

Para la red en la que se ejecutan la mayoría de los contratos inteligentes, lee qué es Ethereum.

Este artículo es contenido educativo y no constituye asesoramiento financiero, de inversión, legal ni fiscal. Los activos digitales son volátiles y puedes perder el monto que inviertas.

Fuentes

Leave a Reply

Your email address will not be published. Required fields are marked *