Los desarrolladores de Ethereum 1.x se centran en los "clientes sin estado" para frenar el bloat de la cadena

Mientras Ethereum continúa desarrollando la siguiente etapa de su evolución con el Ethereum 2.0 habilitado para sharding (particionamiento), un grupo de desarrolladores se centrará en la cadena existente para mantener su operatividad durante la transición. 

El proyecto denominado Ethereum 1.x, tiene como objetivo mantener la funcionalidad de Ethereum (ETH) mientras se trabaja en la actualización Serenity. Como se explica en una entrada en el blog del 10 de diciembre de la Fundación Ethereum (EF), a la nueva versión todavía le faltan años para su puesta en funcionamiento:

"Nuestra historia comienza con la constatación por parte de los desarrolladores principales de que 'Serenity', la fase final de la hoja de ruta de Ethereum, no estará lista tan pronto como se esperaba originalmente. Ante la posibilidad de que pasen muchos años antes de un lanzamiento completo de 'Ethereum 2.0', la cadena actual necesitará cambios para asegurar que problemas más grandes no impidan que Ethereum esté operativo antes de que se pueda entregar una actualización completa del protocolo".

Si bien no hay un solo problema insuperable, los desarrolladores señalan pequeñas degradaciones en el rendimiento debido al continuo crecimiento de la blockchain. Actualmente, los nodos completos necesitan descargar y procesar la totalidad de la historia de Ethereum, que actualmente pesa más de 200 gigabytes. 

Esta cifra crece entre 10 y 15 GB cada mes, y esto provoca problemas en el funcionamiento de los nodos y en la latencia de la red. El problema, ligeramente independiente del "bloat del estado" (state bloat), también haría más difícil la verificación de los bloques.

El estado es uno de los conceptos tecnológicos clave de Ethereum. Representa la memoria colectiva de todos los contratos inteligentes y de todos los balances actuales de los monederos.Cada transacción hace modificaciones en el estado general, lo que con el tiempo lleva al bloat.

Cómo Ethereum 1.x resuelve los problemas

Se han propuesto varias soluciones para mitigar parte de estos problemas. La poda (pruning), es decir, la eliminación de ciertos datos innecesarios de la blockchain, podría mitigar los requisitos de almacenamiento, pero su implementación es compleja.

La latencia de la red se puede arreglar con un "preanuncio" de bloque, en el que los mineros anuncian los nuevos bloques antes de que sean validados. Esto daría más tiempo a los nodos para distribuir la información de los bloques, asegurando el correcto funcionamiento de la blockchain. Esta optimización está "al alcance de la mano", según los desarrolladores.

Finalmente, la reducción del bloat del estado es la dirección central de la investigación. Una propuesta anterior sobre la introducción de la "renta de estado", en la que los contratos inteligentes tendrían que pagar cuotas por su parte del uso de estado, fue descartada por ser inviable. 

En lugar de ello, Ethereum 1.x está introduciendo el concepto de "clientes sin estado". En lugar de almacenar el estado completo, los clientes simplemente calcularán los cambios en éste desde un bloque anterior, usando "testigos de bloque" para asegurar su validez. Aunque algunos nodos todavía necesitarán mantener el estado completo, los beneficios parecen ser significativos.

La relación con Serenity

Ethereum 1.x se desarrolla bajo el patrocinio completo de la EF. Pero si bien ambas están bajo la misma cobertura, el código base de la 1.x permanecerá separado de la 2.0.

Cointelegraph contactó a James Hancock, el coordinador del equipo para el proyecto 1.x, para pedirle aclaraciones. Cuando se le preguntó sobre cómo interactuarán las distintas fases de Ethereum 2.0 con él, explicó lo siguiente:

"La fase 0 implementada aún tendrá Eth1.X como una base de código aparte. La fase 0 es un puente, y aunque la transición es gradual entre Eth1 y Eth2, hay que prestar atención al estado, así como al estado de contrato y almacenamiento de Ethereum. Adonde vaya eso, irá Ethereum".

Aunque la transición será gradual, existe la posibilidad de que se produzca una bifurcación dura conflictiva como la que dio lugar a la creación de Ethereum Classic. Pero aunque eso sigue siendo una posibilidad, el equipo 1.x no tiene intención de crear una cadena separada. Hancock añadió:

"La libertad para una bifurcación se mantiene a lo largo de todo el proceso. Es la misma que existe hoy en día, y como debería ser, en mi opinión. Es teóricamente posible, sí. ¿Está planeado por el equipo Eth1.X? No".

Puede haber un punto de no retorno en términos de la capacidad de bifurcar una cadena pura 1.x. Como Hancock explicó, tan pronto como el estado se mueva a la cadena 2.0, se convertirá en la versión primaria de Ethereum. Sin embargo, todavía no hay etapas específicas para ello.

No dejes de leer: