MSTR Cat

Blockchain/Nivel VII · Evolución/7.1 Ethereum: el ordenador mundial/Lección 2

Cuentas y estado global

De monedas discretas a un único estado global mutable

MaterialesEl Libro Amarillo de Ethereum (G. Wood)El libro blanco de Ethereum de Vitalik Buterin (2013/2014)Acceso a Etherscan u otro explorador de bloques de Ethereum

Curiosidad

  1. ¿Por qué hacer un seguimiento de la riqueza como una colección de resultados no utilizados dificulta la creación de programas de uso general?
  2. ¿Qué consecuencia mecánica se deriva de permitir que cualquier transacción lea y escriba en el almacenamiento completo de la red?
  3. ¿Cómo cambia un modelo basado en cuentas el costo de verificar el historial en comparación con un conjunto de UTXO?

Explorar

  1. Bitcoin registra el valor a través de los salidos de transacciones no gastadas, o UTXO. Cada transacción consume ciertos insumos y crea nuevos salidos; la validación solo verifica las monedas que se están gastando (lección 2.2.1). Este modelo es local y discreto. Ethereum, lanzado en julio de 2015 por Vitalik Buterin y cofundadores como Gavin Wood, adopta una máquina de estados basada en cuentas. Cada dirección posee un saldo que se actualiza directamente. Toda la historia de la red se comprime en un único objeto de estado global: los saldos actuales de todas las cuentas y los espacios de almacenamiento de todos los contratos desplegados.
  2. En este modelo existen dos tipos de cuentas: las cuentas de propiedad externa (EOA), controladas por claves privadas, y las cuentas de contrato, controladas por código. Una EOA inicia transacciones; un contrato ejecuta lógica solo cuando se le invoca. La función de transición de estado toma el estado global actual y una transacción, y luego genera un nuevo estado global. Dado que cada nodo calcula esta transición de manera determinística a partir del mismo punto de partida, surge el consenso sin necesidad de confianza. Esta estructura hace posible la computación de propósito general, ya que cualquier cuenta puede almacenar datos arbitrarios en su memoria.
  3. La expresividad del modelo de cuentas permite aplicaciones complejas como exchanges descentralizados y protocolos de préstamo. Un contrato puede tener un valor de miles de millones y ejecutar lógicas intrincadas basadas en condiciones globales. Sin embargo, este poder introduce fragilidad. Dado que el estado es mutable y compartido, un solo error en el código de un contrato puede agotar todo su saldo o dañar los contratos vinculados. La vulnerabilidad de re-entrancy explotada en el hackeo de The DAO (junio de 2016) demostró cómo un defecto local podía afectar al estado global, lo que llevó a una bifurcación impulsada por la comunidad.
  4. El crecimiento del estado es una consecuencia inherente de este diseño. El conjunto de UTXO de Bitcoin también crece, pero cada entrada es pequeña y se elimina al ser gastada; el almacenamiento de contratos en Ethereum se acumula. Cada operación `SSTORE` agrega datos que persisten indefinidamente a menos que se reinicien explícitamente a cero (lo cual aún requiere gasto de recursos). Este crecimiento ilimitado hace que el funcionamiento de un nodo completo sea cada vez más exigente en términos de espacio en disco y memoria. Los nodos deben mantener todo el estado global para validar transacciones, lo que genera un equilibrio entre la capacidad computacional y el costo de verificación.
  5. El White Paper de Ethereum formaliza esto como una función de transición de estado determinista. La EVM procesa instrucciones en una máquina de pila, donde operaciones como `ADD` o `SLOAD` modifican el contexto de ejecución local y, potencialmente, actualizan el almacenamiento global de las cuentas. Esta arquitectura permite la completitud de Turing, pero requiere gas para garantizar su terminación. Cada operación consume gas, lo que evita bucles infinitos y limita el costo computacional de cualquier transacción en relación con el límite de gas del bloque.
  6. Abra un explorador de bloques como Etherscan e inspeccione una interacción reciente con un contrato. Observe la pestaña “Storage” en la página del contrato; allí se listan los pares clave-valor que constituyen el estado persistente de la cuenta. Note cómo estos valores cambian después de cada transacción que involucra esa dirección. Esta vista revela la realidad concreta del estado global: el código no solo se ejecuta, sino que también se almacena, y sus datos persisten a través de las transacciones y crecen con el tiempo.

Datos clave

  • Ethereum utiliza un modelo basado en cuentas donde los saldos se actualizan en el lugar, a diferencia del sistema UTXO de Bitcoin.
  • El estado global incluye todos los saldos de cuenta y el almacenamiento de contratos, a los cuales cada transacción puede leer o escribir.
  • Las cuentas por contrato son controladas por código; las cuentas de propiedad externa son controladas por claves privadas.
  • El crecimiento del estado es ilimitado porque el almacenamiento por contrato persiste indefinidamente, lo que aumenta los requisitos de hardware de los nodos.
  • Un solo error en un contrato inteligente puede agotar todo su saldo debido a la naturaleza mutable del estado global.
  • La EVM se ejecuta de manera determinista en cada nodo, asegurando el consenso a través de transiciones de estado idénticas.

Ejercicio nueve, seis, tres, uno

9ReunirEnumere 9 diferencias específicas entre el modelo UTXO de Bitcoin y la máquina de estados basada en cuentas de Ethereum en cuanto a estructura de datos, alcance de validación y crecimiento del almacenamiento.
6AgruparAgrupe estos 9 elementos en 6 categorías: persistencia de datos, complejidad computacional, implicaciones de seguridad, consumo de recursos del nodo, mecánicas de consenso y experiencia del desarrollador.
3DestilarReduzca los 6 clústeres a 3 razones principales por las cuales el modelo de cuenta permite la computación de propósito general a costa de un aumento en el tamaño del estado.
1CristalizarEl estado global mutable permite interacciones complejas entre contratos que son difíciles de lograr en un sistema UTXO.

Verificación de hechos

Fechas, cifras y afirmaciones verificadas con las fuentes publicadas que se enumeran a continuación.

Abrir en la academia interactiva →

EN PT ZH JA KO RU DE FR MS