🇪🇸 Presentando la canalización [pipelining]: solución de escalado de la capa de consenso de Cardano


Traducción al español de “Introducing pipelining: Cardano’s consensus layer scaling solution”, escrito por John Woods, Director de Cardano Arquitectura en IOG, el 31 de enero de 2022.


La canalización [pipelining en inglés] constituye uno de los principales avances en materia de escalado que se desplegarán en 2022. A continuación se explica cómo funciona y por qué es importante

Introducing pipelining: Cardano's consensus layer scaling solution

Es posible que usted esté pensando en la instalación de tuberías pues “canalización” suena como un procedimiento de remodelación que podría emplear un plomero [el autor alude al significado de la palabra “canalización”, pipelining en inglés, que también puede ser traducida como “entubar”]. Y en cierto modo, no está muy lejos de la realidad. La canalización es, en efecto, una evolución de la “plomería” de Cardano. Se trata de un elemento clave en nuestro plan de escalado para este año, uno de la serie de pasos publicados que abarcan nuestra estrategia metódica para flexibilizar la capacidad de Cardano a medida que crece el ecosistema.

La escalabilidad y el rendimiento son aspectos esenciales para cualquier blockchain, para mantener el crecimiento y la competitividad. Mientras Cardano entra en la fase de desarrollo de Basho, nos enfocamos en asegurar que se adapte a las necesidades crecientes del ecosistema. Es decir, es necesario garantizar que el protocolo subyacente -Ouroboros Praos- opere con la suficiente rapidez para la gran cantidad de aplicaciones descentralizadas que ahora se están desplegando o que están haciendo cola para lanzarse en Cardano.

La optimización de Cardano continuará en una secuencia de medidos pasos, escalando cuidadosa y metódicamente para su futuro crecimiento a medida que la demanda aumente. A principios de enero, las modificaciones introducidas por el lanzamiento del nodo 1.33.0 nos proporcionaron un espacio adicional para modificar algunos parámetros de la red, tales como el tamaño de los bloques y las unidades de memoria. Estos ajustes tienen una relación directa con la forma en que Cardano gestiona el tráfico de red en volumen y seguimos vigilando de cerca el rendimiento de la red.

La observación minuciosa y continua del rendimiento de la red en el mundo real y lo que es más importante, del impacto acumulativo de los cambios de los parámetros, resultará crucial a lo largo de este proceso. Luego de toda actualización, supervisamos y evaluamos cuidadosamente durante al menos una época (5 días) antes de continuar con nuevos ajustes. A pesar de la gran labor de investigación e ingeniería que se ha llevado a cabo en el diseño y el despliegue del sistema, una arquitectura de red descentralizada tiene que ajustarse a las necesidades de los usuarios en el mundo real.

Introducción a la canalización [pipelining]

La canalización, o más exactamente, la canalización de difusión, es una mejora de la capa de consenso que facilita que se propaguen los bloques más rápidamente. Posibilita un aumento aún mayor del margen de maniobra, con lo que el rendimiento y la competitividad de Cardano aumentarán aún más.

A fin de entender cómo esta técnica logra su objetivo, recordemos cómo se propagan los bloques en la actualidad.

Hoy en día, un bloque recorre seis pasos a lo largo de la cadena:

  1. Transmisión de la cabecera del bloque
  2. Validación de la cabecera del bloque
  3. Solicitud y transmisión del cuerpo del bloque
  4. Validación del cuerpo del bloque y extensión de la cadena local
  5. Transmisión de la cabecera del bloque a los nodos descendentes
  6. Transmisión del cuerpo del bloque a los nodos posteriores

El recorrido de un bloque está muy serializado. Todos los pasos siguen la misma secuencia cada vez, en todos los nodos. Considerando el volumen de nodos y el creciente número de bloques, la transmisión de éstos requiere una cantidad de tiempo considerable.

La canalización de difusión superpone algunos de esos pasos para que se realicen de forma simultánea. Así se ahorra tiempo y se aumenta el rendimiento.

El ahorro de tiempo conseguido con esta técnica permitirá un mayor margen de maniobra para seguir escalando Cardano, incluyendo cambios en:

  • Tamaño del bloque: a mayor tamaño del bloque, mayor número de transacciones y de secuencias de comandos que puede llevar.
  • Límites de memoria de Plutus - la cantidad de memoria disponible para ejecutar las secuencias de comandos [script] de Plutus
  • Límites de la CPU de Plutus: se pueden asignar más recursos computacionales para que las secuencias se ejecuten de manera más eficiente.

Aplicación de la canalización

En el diseño de la canalización de la difusión, uno de los principios era conseguir una propagación más rápida de los bloques, al tiempo que se evitaban los cambios “destructivos” en la cadena. No quisimos eliminar ninguno de los protocolos, primitivas o interacciones que ya ocurren en Cardano, porque los nodos dependen de estos mecanismos establecidos. Quisimos que la compatibilidad fuera total, así que en lugar de cambiar el funcionamiento actual, añadimos un nuevo miniprotocolo cuyo trabajo es notificar previamente a las entidades suscritas cuando se ve un nuevo bloque deseable, antes de la validación completa.

El principal cambio introducido por la canalización es la capacidad de notificar previamente a los pares [otros nodos en la red] y darles un bloque antes de que este sea validado, lo cual posibilita que el par posterior obtenga previamente el cuerpo del nuevo bloque. Así se ahorra mucho tiempo, puesto que se reduce drásticamente el tiempo que se tarda en validar un bloque a través de los múltiples saltos.

Resumiendo

La canalización solo es uno de los soportes de la escalada de Cardano este año. Todos estos cambios juntos conducirán a Cardano a una posición en la que será más rápido que sus competidores y a ser una plataforma altamente competitiva para las finanzas descentralizadas (DeFi) este año.

Principales aspectos a tener en cuenta

[Traducción del texto de la imagen:

  • Considerando el volumen de nodos y el creciente número de bloques, la transmisión de éstos requiere una cantidad de tiempo considerable.

  • La canalización de difusión acelera la propagación de los bloques al dar a los nodos la capacidad de notificar previamente de un bloque entrante a sus pares [demás nodos] descendentes, lo que les permite a estos últimos obtener de antemano el cuerpo del nuevo bloque.

  • Esto ahorra tiempo que puede utilizarse para transmitir bloques más grandes o ejecutar las secuencias de comandos de Plutus que puedan necesitar más recursos informáticos debido al tamaño, etc.

  • La canalización puede ser desplegada con un cambio habitual de nodo, no requiere un hard fork.]

Fernando Sánchez ha contribuido a la redacción de este artículo.


Notas del traductor:

  • Corchetes del traductor.
3 Likes