Ethereum: de historia a labs

Artículo 6 de 48

13%

completado al llegar aquí

Sistemas distribuidosNota de investigación13 min de lectura

Por qué Ethereum necesitaba The Merge

Por qué Ethereum dejó proof-of-work: bomba de dificultad, energía, emisión y finalidad; cómo ocurrió la transición en el bloque 15,537,394 y qué no cambió.

Ruta Ethereum: 0/48

Si una red funciona y sus contratos custodian dinero real, ¿por qué cambiarle el motor de consenso en marcha? El 15 de septiembre de 2022 Ethereum lo hizo: el último bloque minado con proof-of-work fue el 15,537,393 y el siguiente lo propuso un validador de proof-of-stake. Saldos, contratos e historial siguieron intactos. Este capítulo explica por qué valía la pena el riesgo y cómo se ejecutó.

La documentación oficial define The Merge como la unión de la capa de ejecución original con su nueva capa de consenso, la Beacon Chain. Dejó de hacer falta la minería y la red pasó a asegurarse con ETH en stake.

Línea de tiempo

Del contrato de depósito al primer bloque proof-of-stake

Fechas, bloques y épocas del registro oficial de forks. Los forks de la Beacon Chain se activan por época; los de ejecución, por bloque o por dificultad total.
  1. 14 oct. 2020 · bloque 11,052,984

    Contrato de depósito

    Se despliega el contrato donde los futuros validadores depositan 32 ETH.

  2. 1 dic. 2020

    Génesis de la Beacon Chain

    Arranca con 16,384 depósitos de 32 ETH, en paralelo a la red principal y sin sus transacciones.

  3. 27 oct. 2021 · época 74,240

    Altair

    Primer upgrade de la Beacon Chain: sync committees para clientes ligeros.

  4. 9 dic. 2021 y 30 jun. 2022

    Arrow Glacier y Gray Glacier

    Dos forks de ejecución que solo retrasan la bomba de dificultad.

  5. 6 sep. 2022 · época 144,896

    Bellatrix

    La Beacon Chain se prepara para recibir bloques de ejecución.

  6. 15 sep. 2022 · bloque 15,537,394

    Paris (The Merge)

    Primer bloque de ejecución decidido por proof-of-stake.

Brújula de lectura

Actor, evidencia y estado

El Merge cambió quién decide el siguiente bloque, no lo que el bloque hace con el estado.

Actor

Validadores

Cuentas con 32 ETH depositados que proponen bloques y votan; reemplazan a los mineros.

Evidencia

Votos y checkpoints

Attestations firmadas y checkpoints finalizados con al menos dos tercios del stake.

Estado

El mismo de siempre

Cuentas, saldos, contratos y storage siguen en la capa de ejecución, sin migración.

Preguntas guía

  • ¿Qué es la bomba de dificultad y por qué se retrasó tantas veces?
  • ¿Qué problemas de proof-of-work resolvía proof-of-stake y cuáles no?
  • ¿Cómo supo cada nodo en qué bloque exacto dejar de aceptar proof-of-work?
  • Después del Merge, ¿qué software tiene que correr un operador y cómo se comunican sus piezas?

Conexiones dentro de la serie

Historia de una migración anunciada: la bomba de dificultad

Proof-of-stake no fue una idea tardía. Desde el fork Frontier thawing de 2015, la fórmula de dificultad incluyó una bomba: un término que crece de forma exponencial con el número de bloque, con el fin declarado de forzar un futuro hard fork hacia proof-of-stake. Cuanto más avanza la cadena, más difícil es minar y más lentos son los bloques.

La bomba se retrasó una y otra vez porque proof-of-stake no estaba listo. Los EIPs de Byzantium y Constantinople lo dicen en su motivación: el desarrollo de Casper y el cambio a proof-of-stake se habían demorado. Muir Glacier, Arrow Glacier y Gray Glacier fueron forks cuyo único contenido era otro retraso.

El plan original también cambió de forma. Durante años se habló de "Eth1" y "Eth2" como dos cadenas, y de migrar usuarios a una cadena nueva. Lo que se hizo al final fue conservar la cadena existente y cambiarle el consenso. Por eso hoy se habla de capa de ejecución y capa de consenso, no de Eth2.

Cuello de botella de proof-of-work: energía, emisión y finalidad

ethereum.org resume la motivación en tres palabras: proof-of-stake es más seguro, consume menos energía y facilita soluciones de escalado. Conviene ver cada una como un cuello de botella concreto.

Energía. En proof-of-work, la seguridad depende de gastar electricidad en hardware dedicado. La documentación oficial estima que el Merge redujo el consumo energético de Ethereum en un 99,95 % aproximadamente.

Emisión. Los mineros tienen costos reales y hay que pagarles con ETH nuevo. Según la estimación de ethereum.org, antes del Merge la emisión anual era de un 4,61 %, y cerca del 88,7 % iba a los mineros. Desde el Merge, la emisión en la capa de ejecución es cero; queda la de la capa de consenso, mucho menor. Esos porcentajes son una estimación de la página, calculada con el stake de ese momento.

Finalidad. En proof-of-work, un bloque nunca es definitivo; solo se vuelve más improbable revertirlo con cada bloque nuevo encima. Proof-of-stake introdujo un concepto que antes no existía: un checkpoint finalizado con votos de al menos dos tercios del stake no puede revertirse sin que una gran cantidad de ETH sea destruida por penalización (slashing). Para un backend que acredita depósitos, la diferencia es enorme: hay un punto a partir del cual el orden no cambia.

Comparación de mecanismos

Qué asegura cada modelo y cuánto cuesta

Resumen basado en la documentación oficial de ethereum.org.

Proof-of-work (hasta sep. 2022)

Los mineros compiten gastando cómputo; gana la cadena con más trabajo acumulado.

Recurso
electricidad y hardware
Finalidad
probabilística
  • Recompensa de 2 ETH por bloque desde Constantinople.
  • Revertir exige rehacer el trabajo acumulado.
  • La bomba de dificultad presiona la salida.

Proof-of-stake (desde sep. 2022)

Validadores con 32 ETH proponen y votan; el fork choice sigue los votos.

Recurso
ETH en stake
Finalidad
checkpoints con 2/3 del stake
  • Slots de 12 segundos y épocas de 32 slots.
  • Mala conducta probada se castiga con slashing.
  • Un tercio del stake puede impedir la finalidad.

Traza de la transición: del bloque 15,537,393 al 15,537,394

La transición tenía un problema de coordinación: ¿cómo saben miles de nodos cuándo dejar de aceptar bloques minados, si los tiempos de bloque en proof-of-work varían? La respuesta de EIP-3675 fue usar la dificultad total acumulada, no un número de bloque. El primer bloque minado cuya dificultad total alcanzara TERMINAL_TOTAL_DIFFICULTY (58750000000000000000000 en la red principal) sería el último de proof-of-work.

La transición tuvo dos fases, como explicó el anuncio oficial. Primero Bellatrix, en la capa de consenso, activada en la época 144,896 el 6 de septiembre de 2022. Después Paris, en la capa de ejecución, disparada al alcanzar la dificultad total terminal. El registro de forks indica que la dificultad terminal se alcanzó en el bloque 15,537,393 y que Paris se activó en el siguiente.

Figura 1

Antes y después del Merge

Fuentes:

[7][1]
Antes y después del Merge
Cómo leer esta figura

Diagrama en dos columnas separadas por una línea discontinua vertical rotulada TTD alcanzado en el bloque 15,537,393. A la izquierda, antes: dos cadenas en paralelo. Arriba, Mainnet proof-of-work, con transacciones, estado y EVM, donde los mineros eligen el bloque. Abajo, Beacon Chain desde diciembre de 2020, con validadores con stake y sin transacciones de usuarios. A la derecha, después: un nodo, dos clientes. Arriba, el cliente de ejecución, con la misma EVM y el mismo estado, que ya no decide el bloque. Abajo, el cliente de consenso, que propone, vota, finaliza y ordena al de ejecución. Una flecha doble entre ambos está rotulada Engine API con JWT. Flechas discontinuas unen la red proof-of-work con el cliente de ejecución y la Beacon Chain con el cliente de consenso.

Visual original de TrautsLab basado en EIP-3675 y en la página oficial del Merge. Antes, dos cadenas en paralelo; después, un nodo con dos clientes que se coordinan por Engine API.

Desde el bloque de transición, varios campos del encabezado que solo tenían sentido con minería se fijaron como constantes: difficulty vale 0, nonce vale 0x0000000000000000 y la lista de ommers (bloques "tío") queda vacía. Las recompensas por producir bloques en la capa de ejecución se eliminaron.

Un detalle afecta a contratos existentes. El opcode DIFFICULTY (0x44) pasó a llamarse PREVRANDAO y a devolver la salida del generador de aleatoriedad de la Beacon Chain. Un contrato que usaba la dificultad como fuente de aleatoriedad siguió funcionando, pero con otra semántica.

Riesgo operativo: lo que el Merge no cambió

Para un operador, el cambio más visible fue el software. Desde el Merge, un nodo necesita un cliente de ejecución y uno de consenso. Se comunican por la Engine API, autenticada con un secreto JWT que ambos comparten. Si falta uno, el nodo no sigue la cadena.

Para todo lo demás, la página oficial desmiente tres creencias habituales. El Merge fue un cambio de mecanismo de consenso, no una ampliación de capacidad, y nunca pretendió bajar las fees. No cambió de forma significativa los parámetros que determinan el throughput. Y no habilitó los retiros de stake, que llegaron después con Shanghai/Capella.

Lectura crítica

Qué cambió y qué no cambió

Recomendado

Cambió: quién decide el bloque

Validadores, slots, attestations y finalidad reemplazan a la minería.

Ideal para
Explicar la seguridad actual y los tiempos de confirmación.
Ojo con
La finalidad tarda más que la inclusión en un bloque; no son lo mismo.
Precaución

No cambió: capacidad ni fees

Gas, límites por bloque y EVM siguieron con las mismas reglas.

Ideal para
Revisar mensajes que atribuyen al Merge transacciones más baratas.
Ojo con
Confunde consenso con espacio de bloque; el escalado vino por otras vías.
Separar objetivos evita prometer rendimiento que el Merge no entregó.

La lección de arquitectura es la que abre la serie: ejecución y consenso son capas distintas. El Merge pudo cambiar una sin tocar la otra porque la frontera entre ambas quedó definida por una interfaz. Los capítulos siguientes empiezan por la capa de ejecución, la que tu código toca directamente.

Referencias

Bibliografía académica

Formato IEEENumerado para ingeniería, sistemas y protocolos.
  1. [1]

    ethereum.org, "The Merge."

    official docsID: ETH-MERGE-2022Abrir fuente (abre en otra pestaña)

    Definición del Merge, reducción de energía, Engine API y malentendidos frecuentes.

  2. [2]

    ethereum.org, "Timeline of all Ethereum forks (2014 to present)."

    official docsID: ETH-HISTORY-FORKSAbrir fuente (abre en otra pestaña)

    Fechas, bloques y épocas del contrato de depósito, Beacon Chain, Altair, Arrow Glacier, Gray Glacier, Bellatrix y Paris.

  3. [3]

    A. Schoedon, "EIP-1234: Constantinople Difficulty Bomb Delay and Block Reward Adjustment," Ethereum Improvement Proposals, no. 1234, Jul. 2018.

    Retraso de la bomba porque el cambio a proof-of-stake se demoró; recompensa base de 2 ETH.

  4. [4]

    Ethereum Foundation, "The great renaming: what happened to Eth2?," Ethereum Foundation Blog, Jan. 24, 2022.

    foundation blogID: ETH-ETH2-RENAMING-2022Abrir fuente (abre en otra pestaña)

    Abandono de los términos Eth1 y Eth2 en favor de capa de ejecución y capa de consenso.

  5. [5]

    ethereum.org, "Proof-of-stake (PoS)."

    official docsID: ETH-POS-DOCSAbrir fuente (abre en otra pestaña)

    Motivación del cambio, validadores de 32 ETH, slots, épocas, checkpoints y finalidad.

  6. [6]

    ethereum.org, "How The Merge impacted ETH supply."

    official docsID: ETH-MERGE-ISSUANCEAbrir fuente (abre en otra pestaña)

    Emisión antes y después del Merge; 2 ETH por bloque desde Constantinople; emisión de ejecución cero.

  7. [7]

    M. Kalinin, D. Ryan, and V. Buterin, "EIP-3675: Upgrade consensus to Proof-of-Stake," Ethereum Improvement Proposals, no. 3675, Jul. 2021.

    Terminal total difficulty, campos de bloque fijados como constantes y fin de las recompensas de bloque.

  8. [8]

    Protocol Support Team, "Mainnet Merge Announcement," Ethereum Foundation Blog, Aug. 24, 2022.

    foundation blogID: EF-MERGE-ANNOUNCEMENT-2022Abrir fuente (abre en otra pestaña)

    Transición en dos fases: Bellatrix por época y Paris por terminal total difficulty.

  9. [9]

    M. Kalinin and D. Ryan, "EIP-4399: Supplant DIFFICULTY opcode with PREVRANDAO," Ethereum Improvement Proposals, no. 4399, Oct. 2021.

    DIFFICULTY (0x44) pasa a PREVRANDAO y devuelve la aleatoriedad de la Beacon Chain.

Fuentes primarias, papers seminales y especificaciones técnicas citadas en esta investigación.

Rutas vecinas

Si este tema te abrió hambre, sigue por aquí.

Series y labs que comparten área o dependen de esta ruta. Pocas opciones, para no convertir la curiosidad en menú infinito.

Sigue leyendo

Ideas conectadas con este artículo

Una ruta corta para continuar sin abrir veinte pestañas y perder el hilo.

Los comentarios se cargan al final de la lectura para no meter peso antes de tiempo.