Aunque el 2020 es un año clave para la evolución de Ethereum 2.0 como veremos a continuación,  las mejoras y conceptos que introduce esta nueva fase en el protocolo de Ethereum no son nuevos ni mucho menos. Ya en el 2014 Vitalik dijo de Ethereum 2.0 que «resolveremos los problemas de escalabilidad y consenso o moriremos en el intento».

¿Qué es Ethereum 2.0?

Ethereum 2.0, también llamado Eth2, o Serenity, es la siguiente etapa de actualizaciones en la cadena de bloques de Ethereum. El desarrollo de Ethereum, desde que se lanzó en el 2015, ha pasado por las siguientes 4 etapas: Frontier (20 de julio de 2015), Homestead (14 de marzo de 2016), Metropolis (16 de octubre de 2017), y Serenity (2020). Cada una de estas etapas incluye uno a varios lanzamientos de nuevas funcionalidades (previstos o no), llamados hard fork, cuyos cambios no son compatibles con las versiones anteriores. Desde el nacimiento de Ethereum se han producido los siguientes hard fork: Ice Age, DAO, Tangerine Whistle, Spurius Dragon, Byzantium, Constantinople e Istanbul (Figura 1).

The Road To Serenity Master Blockchain Online

Figura 1: el camino hacia Serenity. Fuente: Consensys 

Objetivos de diseño de Ethereum 2.0

Ethereum 2.0 tienen los siguientes objetivos de diseño:

  • Descentralización: para permitir que una computadora portátil pueda realizar cualquier validación a nivel del sistema, como la Beacon Chain.
  • Resiliencia: para permanecer vivo a través de las principales particiones de red y cuando partes muy grandes de los nodos se desconectan.
  • Seguridad: para utilizar técnicas criptográficas y de diseño que permitan una gran participación de validadores en total y por unidad de tiempo.
  • Longevidad: para seleccionar todos los componentes de modo que sean seguros cuánticos o se puedan intercambiar fácilmente por contrapartes seguros cuánticos cuando estén disponibles.
  • Escalabilidad: aumentar el número de transaciones por segundo para que Ethereum sea ampliamente adoptado por los sistemas sociales, económicos y burocráticos.
  • Eficiencia: reducir el gasto energético de la PoW.
  • Usabilidad/Simplicidad: para minimizar la complejidad para usuarios finales y desarrolladores, incluso a costa de algunas pérdidas en la eficiencia.

Fases de Ethereum 2.0

El desarrollo de Ethereum 2.0 está planificado para llevarse a cabo en al menos 3 fases, aunque es posible que se alargue a alguna fase más para incluir más mejoras en el protocolo (Figura 2):

  • Fase 0: los objetivos de esta primera fase son implementar la Beacon Chain y el protocolo de consenso de prueba de participación (PoS) Casper FFG. La Beacon Chain es la columna vertebral que soporta la totalidad del nuevo sistema Ethereum 2.0, y tiene como misión gestionar el protocolo Casper para sí misma y todas las Shard Chains que serán implementadas en la fase 1. La cadena original Ethereum PoW continuará funcionando junto con la nueva cadena Ethereum PoS, asegurando que no haya interrupción en la continuidad de los datos. La previsión es que a lo largo del 2020 esta primera fase esté terminada.
  • Fase 1: el objetivo de la segunda fase de Ethereum 2.0 es implementar las Shard Chains. Con este desarrollo se pretende conseguir una mayor escalabilidad en el protocolo dividiendo la cadena de Ethereum en 64 cadenas diferentes, lo que permite transacciones, almacenamiento y procesamiento de información paralelos. En su estimación más conservadora, permitirá un rendimiento 64 veces mayor que Ethereum 1.0, pero está diseñado para poder manejar cientos de veces más datos que Ethereum 1.0. La previsión es que a lo largo del 2021 esta segunda fase esté terminada.
  • Fase 2: el objetivo de la tercera fase de Ethereum 2.0 es introducir una nueva máquina virtual Ethereum-flavored Web Assembly (eWASM). Esta máquina virtual está basada en Web Assembly y definida por el World Wide Web Consortium (W3C) como un estándar de código abierto. Debido a que WASM admite varios lenguajes de codificación, eWASM podría permitir la ejecución de contratos inteligentes escritos en cualquier idioma en Ethereum, en lugar de solo los escritos en Solidity, como ocurre la EVM actual. Las Shard Chains, las cuales tienen una funcionalidad limitada en la fase 1, se transforman a cadenas transaccionales completamente funcionales, capaces de escalar la red Ethereum. La previsión es que a lo largo del 2022 esta tercera fase esté terminada.
  • Fase 3: más allá de la fase 2, la línea de tiempo para Ethereum comienza a ser menos específica. Una cosa es segura, los desarrolladores continuarán trabajando en asuntos urgentes y mejorando el protocolo para satisfacer las crecientes demandas de la tecnología blockchain. Entre las mejoras continuas que se contemplan en la actualidad más allá de la fase 2 destacan: el protocolo de estado de cliente ligero, el acoplamiento con seguridad de la cadena principal y la fragmentación súper cuadrática o exponencial. 

Fases Ethereum 2.0 Master Blockchain

Figura 2: fases de Ethereum 2.0. Fuente: Hsiao-Wei Wang and the Ethereum Team.

 

Diferencias entre Ethereum 1.0 y Ethereum 2.0

Aunque las diferencias entre Ethereum 1.0 y Ethereum 2.0 con muchas, podemos destacar dos mejoras muy importantes que vienen de la mando de Ethereum 2.0: la creación de la Beacon Chain junto con el protocolo de consenso  de prueba de participación (PoS) Casper FFG, y la creación de las Shard Chains.

En la etapa actual en la que nos encontramos en la mainnet de Ethereum (Ethereum 1.0), el algoritmo de consenso que se ejecuta es Ethash. Dicho algorítmo es del tipo PoW (Proof of Work). Dichos algoritmos PoW se basan en el poder de computación de los nodos mineros y la electricidad (trabajo) para generar nuevos bloques, por lo que tienen algunos problemas de seguridad y de eficiencia energética pendientes de resolver. Ethereum 2.0, a través de la creación de la Beacon Chain implementa el protocolo Casper FFG. Dicho protocolo de consenso es del tipo PoS (Proof of Stake), el cual permite mejorar la seguridad, la escalabilidad y la eficiencia energética con respecto a los protocoles PoW. En lugar de depender de mineros físicos y electricidad, PoS se basa en validadores (mineros virtuales) y depósitos de ETH (Ether).

Por otro lado, en la etapa actual, Ethereum 1.0, se tiene una sola cadena mainnet compuesta por bloques consecutivos. Esto hace que la mainnet sea muy segura y que la información sea fácil de verificar. Sin embargo, requerir que cada nodo completo procese y valide cada transacción en bloques consecutivos puede afectar la capacidad de procesar transacciones rápidamente, especialmente en tiempos de alta actividad de la mainnet. Ethereum 2.0 introduce el concepto de Shard Chains, las cuales son un mecanismo de escalabilidad que mejora drásticamente el rendimiento de la cadena de bloques Ethereum 1.0. Mediante las Shard Chains, la cadena de bloques Ethereum se divide, dividiendo así la responsabilidad del procesamiento de datos entre muchos nodos. Esto permite que las transacciones se procesen en paralelo en lugar de consecutivamente. Cada cadena de fragmentos es como agregar otro carril para actualizar Ethereum de una carretera de un solo carril a una carretera de múltiples carriles. Más carriles y procesamiento paralelo conduce a un rendimiento mucho mayor. 

El plan actual es que la cadena Ethereum 1.0 se convierta en el primer fragmento de Ethereum 2.0 cuando se inicie la fase 1. Hasta entonces, la cadena Ethereum 1.0 continuará como está ahora y se someterá a mejoras para que eventualmente sea un fragmento de Ethereum 2.0.

En conclusión

El lanzamiento de Ethereum 2.0 traerá mejoras que afectarán muy positivamente a la escalabilidad, el rendimiento y la seguridad de la mainnet de Ethereum. Ethereum 2.0 no eliminará el historial, ni los registros de transacciones, ni la propiedad de los activos que contiene la mainnet de Ethereum 1.0. La Beacon Chain, junto con las Shard Chains, serán los pilares en los que se basarán están mejoras, haciendo que convivan junto con la mainnet actual hasta que está última se pueda integrar con un fragmento de las Shard Chains, asegurando la continuidad del protocolo Ethereum sin que tenga que realizarse ninguna parada en el proceso.