Ethereum y la EVM
Ethereum extendió la idea de Bitcoin con una máquina virtual Turing-completa capaz de ejecutar cualquier programa arbitrario. Esto abrió la puerta a los smart contracts, tokens, DeFi, NFTs y un ecosistema completo de aplicaciones descentralizadas.
De Bitcoin a Ethereum
Vitalik Buterin propuso Ethereum en 2013 después de reconocer las limitaciones de Bitcoin Script:
Bitcoin: "Puedo enviarte dinero con condiciones simples"
Ethereum: "Puedo ejecutar CUALQUIER programa en la blockchain"
Bitcoin Script → limitado, no Turing-completo
Solidity/EVM → Turing-completo, estado persistente
La Ethereum Virtual Machine (EVM)
La EVM es la computadora global descentralizada de Ethereum. Cada nodo ejecuta exactamente el mismo código y llega al mismo resultado:
Características de la EVM:
- Stack-based machine (pila de 256 bits)
- Determinista (mismo input → mismo output siempre)
- Aislada (sandbox: no accede al sistema del nodo)
- Gas-metered (cada operación tiene un costo)
- Estado global compartido
La EVM ejecuta bytecode:
Solidity → Compilador → Bytecode → EVM → Resultado
Opcodes principales
Opcode Gas Descripción
────────────────────────────────────────
ADD 3 Suma dos valores del stack
MUL 5 Multiplica
SLOAD 2100 Lee del storage
SSTORE 20000 Escribe al storage (nuevo)
CALL ~variable Llama a otro contrato
CREATE 32000 Despliega nuevo contrato
SELFDESTRUCT 5000 Destruye contrato
Cuentas en Ethereum
Ethereum tiene dos tipos de cuentas:
Externally Owned Accounts (EOA)
- Controladas por clave privada
- Pueden iniciar transacciones
- No tienen código
- Tienen balance y nonce
Ejemplo: tu cuenta de MetaMask
Address: 0x742d35Cc6634C0532925a3b844Bc9e7595f2bD09
Contract Accounts
- Controladas por su código (smart contract)
- NO pueden iniciar transacciones (solo responder)
- Tienen código inmutable y storage
- Tienen balance y nonce
Ejemplo: contrato de Uniswap
Address: 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Diferencias clave
EOA Contract Account
────────────────────────────────────────────────────
Controlada por Clave privada Código
Inicia tx Sí No
Tiene código No Sí
Storage No Sí
Costo de crear Gratis Gas
El Estado de Ethereum
Ethereum mantiene un estado global que se actualiza con cada bloque:
Estado Global = {
Account₁: { nonce, balance, storageRoot, codeHash },
Account₂: { nonce, balance, storageRoot, codeHash },
...
}
Cada transacción transforma el estado:
Estado_N + Transacción → Estado_N+1
Se almacena en un Modified Merkle Patricia Trie
Transacciones en Ethereum
Transferencia simple (EOA → EOA):
{
from: "0xAlice...",
to: "0xBob...",
value: 1 ether,
gas: 21000,
data: "" (vacío)
}
Llamada a contrato (EOA → Contract):
{
from: "0xAlice...",
to: "0xContrato...",
value: 0,
gas: 100000,
data: "0xa9059cbb..." (function selector + params)
}
Deploy de contrato (EOA → null):
{
from: "0xAlice...",
to: null,
value: 0,
gas: 3000000,
data: "0x608060...bytecode..."
}
Ethereum 2.0: The Merge
En septiembre de 2022, Ethereum migró de Proof of Work a Proof of Stake:
Antes (PoW): Después (PoS):
- Mineros con GPUs - Validadores con 32 ETH
- ~15 TPS - ~15 TPS (misma L1, la escalabilidad viene con sharding)
- ~13 seg/bloque - ~12 seg/bloque
- Alto consumo - 99.95% menos energía
- Recompensa variable - ~5% APR staking
Redes de Ethereum
Red Tipo ChainId Uso
──────────────────────────────────────────────────
Mainnet Producción 1 Fondos reales
Sepolia Testnet 11155111 Testing
Holesky Testnet 17000 Testing de staking
Localhost Desarrollo 1337 Hardhat/Ganache
Layer 2 Solutions
Para escalar Ethereum sin sacrificar seguridad:
Rollups Optimistas (Optimism, Arbitrum):
- Asumen que las transacciones son válidas
- Periodo de disputa para fraude (~7 días)
- Compatible con EVM existente
ZK Rollups (zkSync, StarkNet, Polygon zkEVM):
- Generan pruebas criptográficas de validez
- Finalidad más rápida
- Más eficientes a largo plazo
Comparación:
L1 Ethereum Optimistic L2 ZK L2
Costo tx $1-50 $0.01-0.5 $0.01-0.3
TPS 15 2,000+ 2,000+
Finalidad 12 min ~7 días* Minutos
Resumen
Ethereum transformó blockchain de un simple registro de transacciones a una plataforma de computación universal. La EVM ejecuta smart contracts de forma determinista, y el ecosistema Layer 2 escala la capacidad sin sacrificar la seguridad de la capa base. Comprender la EVM es esencial antes de escribir smart contracts en Solidity.