¿Qué es exactamente Ethereum?

Diego Dorado
Boske
Published in
3 min readMar 22, 2021

Definición

La siguiente es una definición precisa de Ethereum, elaborada a partir del capítulo What is Ethereum? del libro Mastering Ethereum.

Ethereum es una infraestructura de cómputo descentralizada de código libre que utiliza una blockchain para almacenar el estado del sistema, junto con una criptomoneda llamada ether para medir y limitar los costos de recursos en la ejecución de smart contracts.

El resto del artículo pretende explicar el significado de esa definición tan densa.

La blockchain de Ethereum

Debería comenzar con el hecho de que es una infraestructura de cómputo, descentralizada, y de código libre. Prometo volver sobre eso luego de tocar el tema blockchain que puede resultar más familiar, sobre todo a quienes han seguido el desarrollo de Bitcoin.

Entonces, Ethereum utiliza una blockchain. ¿De qué se trata?

Una blockchain es una lista de registros (llamados bloques) que están vinculados criptográficamente. Es la base tecnológica de todas las criptomonedas y en términos sencillos es un registro público distribuido, descentralizado e inalterable.

La blockchain de Bitcoin se puede pensar como un gran libro contable. Pero la blockchain de Ethereum no se limita a transacciones de moneda digital sino que es programable y puede funcionar como una red de cómputo de propósito general. Ahí es donde se diferencia de Bitcoin.

Cada blockchain tiene sus particularidades, pero es usual, al menos en blockchains abiertas y públicas, que tengan los siguientes componentes:

  • Una red P2P que permita a los participantes obtener el estado de la blockchain y enviar mensajes en forma de transacciones.
  • Un esquema de incentivos económicos para quienes se ocupan de procesar las transacciones generando nuevos bloques.
  • Reglas de consenso sobre cómo se agregan nuevos bloques a la cadena.
  • Un algoritmo de consenso que fuerce a los participantes a colaborar en la aplicación de dichas reglas.

Y luego será cómodo contar con implementaciones de código abierto de lo anterior para poder operar en la red, del modo en que es cómodo contar con un navegador para utilizar la web.

Una infraestructura de cómputo descentralizada

Un smart contract se refiere a un programa que opera en la blockchain. La blockchain de Ethereum almacena tanto el código como el estado de un smart contract. Y Ethereum utiliza su máquina virtual (EVM) para cargar y ejecutar el código de un smart contract y almacenar el cambio de estado resultante nuevamente en la blockchain.

Ahora bien, cualquier programa que se ejecuta en un entorno dado consume recursos (CPU, RAM, etc). Por error o intencionadamente, cualquiera podría escribir un programa que nunca termine y provoque que la EVM que lo ejecuta deje de responder. ¿Cómo resuelve este problema Ethereum?

Con un ingenioso mecanismo llamado gas que limita los recursos que un programa puede consumir. Cada instrucción tiene un costo en cantidad de gas, y cuando una transacción requiere la ejecución de un smart contract, debe incluir una cantidad de gas suficiente para ser ejecutada. A medida que se ejecutan instrucciones, se consume ese gas hasta terminar la ejecución, y el gas remanente es devuelvo al originante de la transacción. Si el gas incluído fuera insuficiente, la EVM detiene la ejecución del smart contract.

En la transacción se incluye una cantidad de ETH máxima a pagar por este gas, junto con un precio de gas aceptable.

Como si uno subiera a un taxi sin poder anticipar el recorrido exacto, pagando cuadra por cuadra. Si se nos quedamos sin dinero antes de llegar a destino, el taxista ahí nos deja.

Las aplicaciones descentralizadas

Como dijimos antes, Ethereum no se limita a transacciones de moneda digital, sino que algunas transacciones pueden disparar la ejecución de un smart contract, lo cual permite implementar una gran variedad de aplicaciones descentralizadas.

La gran variedad de criptomonedas que existen hoy se debe en gran medida a que Ethereum provee toda la infraestructura necesaria para crearlas.

Sin embargo, las aplicaciones descentralizadas pueden ir más allá de la creación de nuevas monedas, como veremos en otra oportunidad con DeFi (Decentralized finance), NFTs (Non-fungible tokens) y DAOs (Decentralized autonomous organisations)

--

--