Ethereum y los contratos inteligentes
Qué es Ethereum, cómo se ejecutan en él los contratos inteligentes, para qué sirve el ether y cuáles son los riesgos de un código difícil de cambiar.
Bitcoin demostró que se puede enviar valor por internet sin un banco de por medio. Ethereum llevó la idea más lejos: ¿y si una blockchain pudiera ejecutar no solo pagos, sino cualquier programa? Ethereum se lanzó en 2015 y se convirtió en la plataforma más conocida de contratos inteligentes (smart contracts), programas que viven en una blockchain y se ejecutan exactamente tal como están escritos.
Qué es Ethereum
Ethereum es una blockchain pública que mantienen muchas computadoras independientes de todo el mundo. Como Bitcoin, lleva un registro compartido de saldos y transacciones. A diferencia de Bitcoin, también guarda el código y los datos de programas, y cada nodo puede ejecutar ese código y llegar al mismo resultado.
La moneda nativa de Ethereum es el ether (ETH). Tiene dos funciones principales:
- pagar las comisiones de las transacciones y de la ejecución de contratos inteligentes, lo que se conoce como gas
- proteger la red mediante el staking, ya que Ethereum usa prueba de participación
Qué es un contrato inteligente
Un contrato inteligente es un programa desplegado en la blockchain en su propia dirección. Una vez desplegado, cualquiera puede enviarle una transacción para llamar a una de sus funciones. El contrato sigue entonces su código: puede guardar fondos, enviarlos, registrar datos o llamar a otros contratos.
Una forma sencilla de imaginarlo es una máquina expendedora. Introduces lo que corresponde y la máquina te da el resultado definido de antemano, sin que un dependiente decida si te atiende o no. La palabra «contrato» confunde un poco: un contrato inteligente no es un acuerdo legal, sino simplemente código con un comportamiento predecible.
Cómo se ejecutan
Los contratos inteligentes de Ethereum se ejecutan dentro de la Máquina Virtual de Ethereum (EVM), un entorno estándar que implementa cada nodo. Los desarrolladores suelen escribir los contratos en un lenguaje como Solidity y los compilan a código de la EVM. Como todos los nodos ejecutan el mismo código con las mismas entradas, todos llegan al mismo estado nuevo.
Cada operación en la EVM tiene un costo en gas. Esto protege a la red de programas que se ejecuten sin fin o la sobrecarguen: quien inicia una transacción paga por el cálculo que consume.
Qué los diferencia de los programas normales
- Transparencia: el código del contrato y su actividad son visibles en la blockchain.
- Inmutabilidad: por lo general, el código desplegado no se puede editar. Algunos contratos se diseñan para ser actualizables, lo que significa que alguien tiene el poder de cambiarlos.
- Sin operador central: una vez desplegado, un contrato sigue funcionando mientras la red esté en marcha.
- Componibilidad: los contratos pueden llamarse entre sí, de modo que los desarrolladores construyen servicios nuevos sobre los que ya existen.
Qué se construye con contratos inteligentes
- Tokens: muchas criptomonedas y stablecoins son contratos inteligentes que siguen estándares comunes, como ERC-20 para tokens intercambiables.
- Exchanges descentralizados y protocolos de préstamo, que suelen agruparse bajo el nombre de DeFi.
- NFT: tokens únicos que representan la propiedad de un objeto concreto, según estándares como ERC-721.
- DAO: organizaciones en las que los miembros votan, mediante contratos, cómo se usan los fondos comunes.
Hitos clave
Ethereum cambia mediante actualizaciones de la red que adoptan los operadores de nodos. Algunas de las más importantes:
- 2015: se lanza la red principal de Ethereum, con prueba de trabajo.
- Agosto de 2021: la actualización London introduce EIP-1559, que cambió el funcionamiento de las comisiones y empezó a quemar parte de cada comisión.
- Septiembre de 2022: The Merge pasa Ethereum de la prueba de trabajo a la prueba de participación.
Las actualizaciones posteriores siguen cambiando detalles de la red, y las próximas aparecen en el calendario de eventos.
Riesgos que conviene entender
Que el código se ejecute exactamente como está escrito es a la vez una fortaleza y un peligro.
- Errores: si un contrato contiene un fallo, los atacantes pueden aprovecharlo, y los fondos robados normalmente no se pueden recuperar.
- Claves de actualización: si un equipo puede cambiar un contrato, los usuarios dependen de que ese equipo actúe con honestidad y mantenga sus claves a salvo.
- Contratos maliciosos: los estafadores despliegan contratos que parecen legítimos, pero que vacían las billeteras de quien los aprueba.
- Irreversibilidad: una transacción enviada a la dirección equivocada o a un contrato dañino no se puede deshacer.
Una auditoría de una empresa de seguridad reduce el riesgo, pero no lo elimina. También se han explotado contratos auditados.
Escalabilidad y Layer 2
Como cada nodo ejecuta cada transacción, la red principal de Ethereum tiene una capacidad limitada, y las comisiones suben cuando hay mucha demanda. Para gestionar más actividad, muchos proyectos usan redes Layer 2 (de segunda capa), que procesan las transacciones por separado y luego publican los resultados en Ethereum.
Puntos clave
- Ethereum es una blockchain que ejecuta programas llamados contratos inteligentes.
- El ether paga el gas y protege la red mediante el staking.
- Los contratos inteligentes son transparentes y difíciles de cambiar, lo que favorece la confianza pero hace que los errores salgan caros.
- Los tokens, DeFi, los NFT y las DAO se construyen sobre contratos inteligentes.