Análisis en profundidad

Modularidad: ventajas sobre la cadena de bloques monolítica

La modularidad de las cadenas de bloques representa un nuevo paradigma que ofrece varias ventajas en comparación con las soluciones monolíticas tradicionales.

Publicado el 30 Jul 2024

Modularidad

Uno de los mayores retos para los desarrolladores en blockchain es el de la escalabilidad. El número de monederos activos en la cadena de bloques sigue creciendo y, a medida que aumenta el número de usuarios, también lo hacen los problemas relacionados con el rendimiento, los cuellos de botella y el aumento de las tasas de ejecución.

Inicialmente, algunos ingenieros habían abordado el problema de la escalabilidad proponiendo soluciones basadas en la fragmentación (es decir, considerando la blockchain como una especie de base de datos sobre la que aplicar particiones horizontales), una idea abandonada posteriormente por la mayoría de los desarrolladores en favor de las implementaciones de capa 2. Estas, de hecho, tenían la ventaja de optimizar los procesos de la blockchain al separarlos en varios niveles de ejecución, lo que ofrecía un enfoque estructurado abierto a mayores evoluciones.

La separación de procesos en distintos niveles de ejecución demostró que la funcionalidad de blockchain no tenía por qué ejecutarse en un único contexto, sino que podía separarse en múltiples procesos: este enfoque allanó el camino para la adopción del concepto de modularidad. La modularidad es un patrón de diseño que organiza un proceso complejo y que lo separa en muchos subprocesos más sencillos de gestionar. Estos subprocesos también pueden sustituirse entre sí o reemplazarse por otro subproceso sin que todo el sistema pierda coherencia.

El patrón del diseño de modularidad

El diseño actual de modularidad de una cadena de bloques separa las principales funcionalidades gestionadas por una clásica en varios contextos de ejecución:

  • Ejecución: gestión de la transacción
  • Finalización: resolución de la transacción
  • Consenso: gestión de los nodos de la red
  • Disponibilidad de los datos: garantizar que los datos estén siempre accesibles

La separación de los contextos de ejecución ofrece varias ventajas:

  • Reducción de los requisitos de hardware del servidor, ya que la separación de contextos optimiza el número de operaciones necesarias para completar una solicitud (por ejemplo, utilizando mecanismos de roll up) aligerando así la carga de CPU y RAM necesaria para ejecutar un nodo.
  • Simplificación de la gestión del consenso de la red (por ejemplo, gestión de la alineación de estados de todos los nodos participantes).
  • Mayor potencial para los desarrolladores, que no están atados a diseños o entornos de desarrollo predefinidos, sino que disfrutan de una mayor flexibilidad a la hora de estructurar sus DAPPs (Aplicaciones Descentralizadas).
  • Reducción de las comisiones por transacción.
Modularidad

Mayor escalabilidad del diseño de modularidad

Las innovaciones introducidas por el diseño de modularidad son especialmente relevantes para el problema del trilema de la cadena de bloques. El diseño de una blockchain pretende diseñar una arquitectura basada en la descentralización, la seguridad y la escalabilidad, pero el conocido trilema de la blockchain establece que, en realidad, es posible conseguir como máximo dos de estas tres cualidades posibles, pero nunca las tres al mismo tiempo.

Optimizar ciertas cualidades (escalabilidad) conlleva compromisos en otras áreas (seguridad y descentralización) y esta es una de las razones por las que escalar blockchain es tan difícil. Sin embargo, el principal cuello de botella de la escalabilidad se produce cuando una cadena de bloques intenta gestionar todas las actividades (ejecución, finalización, consenso, disponibilidad de datos) en un único contexto. Separar estas actividades entre diferentes capas garantiza una mejor escalabilidad sin alterar la confianza del consenso entre nodos.

Al especializar las operaciones en diferentes capas, uno se beneficia de una asincronía de procesos que evita que las ralentizaciones en una capa específica actúen como cuellos de botella para toda la blockchain. La existencia de varias capas permite entonces centrarse en la escritura de código optimizado para una capa específica, y lograr así mejoras de rendimiento que serían difíciles de replicar con un único controlador responsable de todas las funcionalidades simultáneamente.

Gestión de capas en una cadena de bloques modular

Como se mencionó anteriormente, una cadena de bloques modular separa las funcionalidades de una cadena de bloques clásica en varias capas. La arquitectura de una cadena de bloques modular puede variar en función del número de capas que decida emplear: una capa por funcionalidad o, si se considera más apropiado en la fase de diseño, varias funcionalidades fusionadas en una sola capa.

Por ejemplo, una cadena de bloques podría unificar las funcionalidades de finalización y consenso en una sola capa, o estructurar su arquitectura en dos capas: una dedicada a la ejecución y finalización (quizás con soluciones roll-up), y una segunda capa donde se unifican el consenso y la disponibilidad de datos.

Modularidad

Este diseño hace que las actualizaciones de las blockchains modulares sean más fáciles que las de las blockchains monolíticas, ya que las actualizaciones pueden organizarse de forma granular mitigando la suspensión de servicios.

Blockchain modular y seguridad

En comparación con la solución monolítica, la cadena de bloques modular también presenta desventajas o, mejor dicho, mayores retos en determinadas áreas. Uno de estos retos es el de la seguridad. En efecto, una blockchain modular, al presentar la separación en múltiples protocolos y funcionalidades, ofrece una mayor superficie de ataque que la solución tradicional, e incluso el compromiso de un protocolo en un único nivel podría comprometer la estabilidad de toda la blockchain.

La arquitectura modular está, de momento, menos probada que las tradicionales, por lo que los equipos de desarrollo realizan pruebas y auditorías constantes para poder detectar cualquier vulnerabilidad antes que los posibles piratas informáticos.

Fuente: Zerouno

¿Qué te ha parecido este artículo?

¡Su opinión es importante para nosotros!

I
Redacción InnovaciónDigital360

Artículos relacionados

Artículo 1 de 3