03 · Ethereum
¿Y si una red pudiera hacer más que registrar pagos, y también ejecutar reglas?
Bitcoin muestra cómo muchas computadoras independientes pueden ponerse de acuerdo sobre un registro compartido de transacciones sin que una empresa lo controle.
Ethereum agrega otra idea:
La red también puede guardar un programa con reglas.
Una transacción puede activar ese programa. Las computadoras que comprueban la red ejecutan las mismas reglas y verifican que llegan al mismo resultado.
Así que la red puede hacer más que recordar lo que pasó: también puede calcular qué debería pasar a causa de eso.
Una regla puede decidir qué pasa con el dinero
Imagina que un proyecto quiere reunir 10 ETH.
Se puede escribir una regla por adelantado:
Si el total llega a 10 ETH, los fondos pueden ir al proyecto.
Si llega la fecha límite antes de alcanzar la meta, quienes aportaron pueden recuperar su dinero.
La regla no vive con un administrador que tenga que acordarse de aplicarla.
Vive en un programa de la red.
Ese tipo de programa se llama contrato inteligente.
«Inteligente» no significa inteligencia artificial, y no significa que el programa sea automáticamente seguro o que esté bien diseñado.
Es simplemente el nombre que se usa para un programa que aplica reglas en la red.
Una transacción puede activar el programa
Supón que el proyecto ya reunió 7 ETH.
Olivia le envía otros 3 ETH al programa.
Su transacción activa la regla.
Las computadoras que comprueban la red hacen el mismo cálculo:
Estado anterior: 7 ETH Sumado: 3 ETH Estado nuevo: 10 ETH
Ahora se cumple la condición.
Un punto importante:
Ninguna de esas computadoras está moviendo su propio dinero.
Todas están calculando y comprobando el mismo cambio en el registro compartido.

El resultado se guarda, y la siguiente acción parte de ahí
Antes de la transacción, el programa registraba 7 ETH.
Después, el programa registra 10 ETH.
La información actual que guarda un programa se llama su estado.
Una forma simple de pensarlo:
La historia nos dice qué pasó.
El estado nos dice cómo están las cosas ahora, después de todo lo que pasó.
La siguiente acción parte de ese estado nuevo.
Como el estado cambia, el orden sigue importando
Dos transacciones pueden afectar al mismo contrato inteligente.
Si se ejecutan en un orden distinto, el resultado también puede ser distinto.
Por eso Ethereum sigue necesitando una historia compartida de transacciones y un orden acordado.
Las computadoras comprueban las mismas transacciones ordenadas, ejecutan el mismo programa y pueden llegar al mismo estado.
Ejecutar programas usa recursos
Un pago simple exige algo de trabajo de las computadoras que lo comprueban.
Un contrato inteligente puede hacer más cálculos y cambiar más datos.
Ethereum mide el trabajo que exige una operación usando gas.
El gas es una forma de medir el cómputo y los recursos que una operación exige según las reglas de Ethereum.
La comisión se paga en ETH.
El gas no es simplemente un «precio por transacción» fijo.
Acciones distintas pueden exigir cantidades distintas de trabajo.
¿Y la creación de los bloques?
Esa es una pregunta distinta de lo que hace un contrato inteligente.
Bitcoin usa la prueba de trabajo para crear bloques y ponerse de acuerdo sobre la historia.
Ethereum hoy usa la prueba de participación.
Participantes llamados validadores aportan ETH como participación y toman parte en la producción de bloques y en el acuerdo sobre la historia.
Ayuda separar dos preguntas:
¿Qué hace el programa?
y
¿Cómo se pone de acuerdo la red sobre la historia en la que se ejecutó el programa?
Esta página trata sobre todo de la primera pregunta.
Entonces, ¿qué agregó Ethereum?
Ethereum permite que una red se ponga de acuerdo no solo sobre las transacciones y su orden, sino también sobre programas, reglas y datos que cambian con el tiempo.
Una transacción puede activar un programa.
Las computadoras ejecutan y verifican las mismas reglas.
El resultado se convierte en el estado nuevo para la siguiente acción.
Eso significa que la red puede responder más que:
«¿Quién le pagó a quién?»
También puede responder:
«¿Qué se suponía que debía hacer el programa a causa de esta transacción?»
¿Qué pasa cuando muchas más personas quieren hacer esto?
Cada transacción tiene que viajar por la red y ser comprobada.
Cada ejecución de un programa exige cómputo.
Y el estado puede crecer con el tiempo.
Ahora imagina a millones de personas que quieren enviar pagos, ejecutar programas y obtener respuestas rápido.
¿Qué pasa a medida que crece el uso, mientras seguimos queriendo que las computadoras independientes puedan seguir el ritmo?