La Fundación Ethereum está en espera del evento más anticipado en el mundo para una cadena de bloques pública (Blockchain). Esto sucedio a pesar de la pandemia y del pánico resultante en los criptogramas. La transición de Etherea a la fase Serenity fue llamada Ethereum 2.0.

La llegada de Serenity/Ethereum 2.0 ya estabá anticipada. Disponible desde enero de este año, la red de prueba principal ha estado funcionando cerca de un año. Esto no significa que no se haya trabajado activamente en ella. Tampoco que sus planes para alcanzar un nivel superior se hayan terminado.

En marzo, la pandemia del coronavirus tuvo gran aumento. También, se realizó una auditoría completa para la especificación del protocolo ETH 2.0. Esto fué realizado por Least Authority (Informe de auditoría de la seguridad de las especificaciones de Ethereum 2.0). El examen preliminar resultó ser sorprendentemente bueno, a pesar de las diversas preocupaciones existentes. Se revelaron las debilidades y limitaciones de su diseño. Pero también se abrió el camino para su despliegue. La auditoría culpó a sus creadores por la parte del protocolo con red peer-to-peer. Especialmente a su sistema de mensajería P2P, el cual podría representar un nuevo vector de ataque. Del mismo modo, posee un sistema ENR (Ethereum Node Records). También tiene la coartada de la que nunca se ha realizado una prueba de participación. Tampoco la fragmentación a tal escala.

Prismatic Labs es un equipo técnico que trabaja en la infraestructura de Ethereum 2.0. El 16 de abril pusieron a disposición la red en su tercera versión desde la testnet (Topaz). Si no aparecen problemas importantes, podrémos esperar la fase Diamond muy pronto. Está no es más que un lanzamiento anticipado de la red principal Ethereum 2.0.

Por qué las expectativas de Ethereum 2.0 son tan altas

Ethereum se ve a sí mismo como una plataforma descentralizada de código abierto para alojar contratos inteligentes. Por otro lado, la cadena de bloques (blockchain) de Ethereum tiene muchas similitudes con la de bitcoin, aunque difiere en aspectos fundamentales. El diseño ejecuta un código de programa y aloja cualquier aplicación descentralizada. Gracias a su popularidad, la red blockchain alcanzó sus límites con bastante rapidez. Hoy en día, muchos de sus aspectos no funcionan, independientemente de la voluntad para pagar correctamente por su funcionamiento.

El actual Ethereum es la segunda cadena de bloques pública más grande, principalmente por la capitalización de mercado de su criptomoneda nativa. Tiene aproximadamente el doble de desarrolladores activos, comparado con Bitcoin. Además, cuatro veces más que la mayoría de los competidores restantes (consulte los informes de desarrollo del año pasado de Electric Capital).

No solo los pioneros de la criptoindustria han trabajado con Ethereum durante mucho tiempo. Cada vez más aplicaciones y extensiones para Ethereum se han formado por empresas del negocio tradicional. Por ejemplo, podemos mencionar las implementaciones independientes de Zero-Knowledge Proof para Ethereum. La primera de EY (parte del marco EY Ops Chain Public Edition). La segunda de ING Bank. Ambas abren las puertas a una plataforma masiva en el despliegue de corporaciones.

Etherea

Acronis, encargado de copias de seguridad y recuperación ante desastres, utiliza la cadena de bloques Etherea como capa de respaldo para su servicio Notary Cloud. Su uso es principalmente utilizado para notarización de datos, firma electrónica, y verificación de archivos a escala empresarial. Incluso existe un consorcio para la estandarización de las aplicaciones comerciales de ethereum (Enterprise Ethereum Alliance). Hoy en día, tiene cientos de miembros, como Microsoft, JPMorgan Chase, Santander, Accenture, ING, Intel y Cisco.

Todas las esperanzas en Etherea se basan en una suposición tácita. Ethereum resolverá su antiguo problema de escalado y seguridad. En principio, la seguridad de Etherea nunca será completamente perfecta, debido a la naturaleza de su lenguaje de programación Turing, el cual crea espacio para un mercado con auditorías de seguridad profesionales y seguros. El escalado de la red es un problema, pero no mientras se mantenga el blockchain actual. Aquí es donde se produce el primer cambio significativo esperado de Etherea 2.0, la fragmentación.

Soporte

Gracias a él, y los cambios relacionados con otras capas, Ethereum debería poder soportar una magnitud de tráfico más significativa, y más usuarios durante los próximos años. El Ethereum actual logra procesar entre 7 y 25 transacciones por segundo. Esto se debe a que no es un sistema para transferir transacciones sin gastar, como Bitcoin. Fué concebida desde el principio como una plataforma. Especialmente para el alojamiento de contratos inteligentes y la ejecución de aplicaciones descentralizadas (computadora global descentralizada). A largo plazo, es claramente lamentable e insostenible.

El principal cambio que trae Ethereum 2.0 es la fragmentación. Debería mejorar enormemente la escalabilidad de la cadena de bloques de Ether. Además de la transición a un algoritmo de consenso distribuido llamado Casper. Se basa en una prueba de participación. Pero esto es una cosa por otra. ¿De qué se trata? ¿Como funciona? ¿Por qué existe tanta controversia a su alrededor?

Un giro hacia la prueba de participación

Todo aquel que trabaja en torno a las cadenas de bloques públicas y a las criptomonedas tiene curiosidad acerca de la transición de la red etérea a un consenso de prueba de participación (PoS) que aún no se ha implementado en tal medida (y en una cadena de bloques tan grande y activa). Es un prerrequisito necesario para lo demás. No es el principal cambio en sí mismo (incluso si la economía PoS del sistema ETH 2.0 publica un artículo separado). Aquí solo lo discutiremos brevemente.

Los sistemas PoS a menudo son criticados. Especialmente por personas de la comunidad Bitcoin. Esto por no comprar el poder de decidir los costos en los que tuvo que incurrir fuera del sistema. Aún así, para el depósito que es parte del sistema desde el principio (generalmente un token nativo), el sistema es menos seguro. Sin embargo, la realidad es que, por ejemplo, las cadenas de bloques pequeñas de PoS y PoW también resultan ser peligrosas. PoS aún no ha probado la medida en que planea implementar Ethereum 2.0.

La diferencia fundamental entre PoW y PoS es que PoW recompensa a los usuarios de la red de votación por hacer lo correcto, mientras que PoS se basa más en castigarlo si hace algo incorrecto. Con un sistema PoW, debe incurrir en altos costos (cuanto más alto, más segura es la red) para obtener la recompensa deseada dentro del sistema. Con PoS, el costo de obtener un bono es bajo, pero el sistema lo castiga severamente por intento de fraude.

Diseño de fragmentación Ethereum 2.0

Como sugiere el nombre, el cual proviene de la base de datos, el propósito principal de la fragmentación es romper una cadena de bloques de rápido crecimiento, la cual se ha estrechado en varias partes más pequeñas (fragmentos), pero ¿qué se obtiene exactamente? Cuando se fragmenta una base de datos normal, una base de datos extensa se divide en muchas fracciones más pequeñas que luego se administran fácilmente, aumentando la velocidad de acceso a los elementos individuales.

Sin embargo, con Blockchain, no es tan simple. Aunque a menudo se le denomina base de datos, tiene una estructura concreta y funciona de forma un poco diferente. Se pueden fragmentar dos cosas para una cadena de bloques, el procesamiento de transacciones o el estado de la cadena de bloques. Ethereum 2.0 se esfuerza en ambos, lo que resulta en la capacidad de realizar más de 10,000 transacciones por segundo (con la ayuda de capas adicionales), sin el riesgo de aumentar la centralización de los nodos.

En pocas palabras, hoy, cada nodo debe validar cada transacción por turno. Esto es parte del diseño de seguridad de la cadena de bloques, lo cual garantiza suficiente redundancia para que la red funcione, incluso si una gran parte de la red falla. Sin embargo, esto conduce a un considerable desperdicio de recursos (intencional), y crea una condición previa para crear bottlenecks (lugares donde las transacciones se reúnen antes de la extracción). La fragmentación trabaja con la idea de que los nodos son más eficientes.

Red

La red está dividida en un número óptimo de fragmentos, lo cual representa un compromiso razonable entre eficiencia y seguridad (hasta el momento se prevé una propuesta de 1024 fragmentos), y cada uno de ellos verificará una parte diferente de las transacciones pendientes. Debido a que nada cambia en el orden real de las ventas pendientes en un bloque, está paralelización aumenta el rendimiento de la red más de mil veces. Además, con el despliegue de capas adicionales, como zk-rollups o plasma, el rendimiento general de las transacciones aumentará aún más.

Hasta ahora, es al menos una teoría muy simplificada en la que todo funciona a la perfección. Desafortunadamente, fragmentar una cadena de bloques no es nada simple. El problema es, por ejemplo, asegurar que el procesamiento simultáneo de subconjuntos de transacciones dé como resultado la actualización correcta del estado de la red, y al mismo tiempo, aseguré que el estado de la red obtenido sea válido (es importante recordar las maniobras del Blockchain) y definitivo (problema que, generalmente, resuelve la costosa prueba acumulativa de trabajo, la cual falta por completo en ETH 2.0).

Por lo tanto, el sistema debe incluir un mecanismo que, por un lado, comparta responsabilidades y, por el otro, garantice que todos los datos sigan siendo válidos en su estado final, como en el caso de la actual Blockchain de Ethereum. Al mismo tiempo, no debe convertirse en un vector más de ataque, y un punto centralizado de la posible falla de todo el sistema.

Seguridad

En principio, esto debería funcionar de tal manera que todas las cuentas de usuario estarán siempre asignadas a un fragmento específico. Todo se ejecutará dentro de ellas de la misma manera que antes (la red se dividirá en varias mini-blockchains de Ethernet). Sin embargo, esto se complica cuando se crea el estado final. Para poder componerlo, las transacciones deberán agruparse inicialmente en algunos paquetes de transacciones. Esto de acuerdo con el proceso de optimización automática. Luego, pasan por un proceso de doble validación, y solo entonces pueden conectarse a la red líder.

Debido a que la prueba de trabajo no funciona aquí (es decir, la verificación no la realiza el minero que adivinó el nonce), el principio de validación de transacciones mediante la votación de los validadores asignados sí funciona. La seguridad e imparcialidad durante este proceso se realiza por varios medios adicionales.

Procesos

En primer lugar, los validadores de las asignaciones de fragmentos son aleatorios y cambian con regularidad. Si el bloqueador de coberturas aprueba el bloqueo de transacciones, debe ser aprobado por separado. Esto está en la cadena central (llamada baliza). Debería suceder antes de su inclusión en la cadena de bloques principal. Por otra votación, es posible hacerlo mediante el uso de un contrato inteligente con el nombre de ‘administrador de fragmentación’. Solo si se aprueba este voto, se establecerá el vínculo cruzado entre el fragmento y la cadena principal. Por lo tanto, el bloque de transacciones se convierte en una parte permanente de la cadena de bloques pública. Una vez que el mecanismo de verificación detecta que uno de los enlaces no es válido, toda la cadena de bloques deja de ser válida. Al igual que la línea hash de una cadena de bloques sin compartir.

Si un atacante no sabe dónde designar, no puede coordinar un ataque a tiempo con otros atacantes. Esa es la lógica de asignar validadores aleatoriamente a un fragmento. En teoría, debería imponer suficiente seguridad. En el futuro, la propia cadena de balizas debería tener más funciones. Más que gestionar todo el proceso y garantizar la aleatoriedad en la verificación y la finalidad transaccional. Sin embargo, esto sigue siendo el sonido de un futuro lejano.

Por qué la fragmentación es controvertida

Como parte de la descripción de la fragmentación, nos hemos centrado principalmente en la división de cadena de bloques pública sólo por fragmentos. También, en su comunicación con la cadena principal (cadena de balizas). Aún así, es posible realizar transacciones de forma relativamente rápida y segura. Al menos para que el sistema funcione tan rápido y eficientemente como está previsto. También, para poder hacer referencia a los datos de los demás entre fragmentos. Todo esto manteniendo la perfecta integridad de la red. Hay varios enfoques para este problema, pero ninguno es completamente universal y práctico en todos los escenarios de la vida real. Sin embargo, el tema de la comunicación activa y segura entre fragmentos, mientras se mantiene la integridad de toda la red, es tan complejo que no encaja en un solo artículo. Tendría que ser al menos el doble de largo que este.

La fragmentación también trae otros problemas. Uno de ellos es el desafío de, por ejemplo, proporcionar información precisa sobre el estado de toda la red blockchain. Esto sólo para algunos clientes en un momento dado. También para la detección oportuna de fraudes. La fragmentación aporta un grado de complejidad mucho mayor al sistema. Ya no tenemos que lidiar con una cadena de bloques, sino con todo el sistema de cadenas. Desde el punto de vista de la seguridad, nunca ha sido una buena noticia. También en términos de predictibilidad del comportamiento.

Conclusión

Es una paradoja interesante. El objetivo oficial de la transición de la actual Etherea a Ethereum 2.0 era lograr una mayor descentralización. Pero también resiliencia, seguridad, sostenibilidad, y simplicidad a largo plazo. Por encima de cada uno de estos puntos, el advenimiento de la fragmentación señala a un signo de interrogación.

Si deseas leer más sobre cómo funciona la red de blockchain, ve justo aquí.