🇪🇸 Impulsando la descentralización de la red con P2P

Traducción al español de “Boosting network decentralization with P2P”, escrito por Olga Hryniuk, Escritora Técnica de Marketing y Comunicación en IOG [IOHK]


La comunicación entre pares [P2P, per to per] de stake pools permitirá que Cardano sea más dinámico y eficiente a medida que la red crezca.

frfgere

Al descentralizarse Cardano, la responsabilidad del funcionamiento de la blockchain está en manos de los stake pools. Un elemento vital para ello son las conexiones fiables y efectivas entre todos los nodos distribuidos y la seguridad de que la red es resistente a los fallos.

Con la versión Byron, la más sencilla de la blockchain, los nodos federados (OBFT) controlados por la Fundación Cardano, Emurgo e IOHK eran los únicos responsables de gestionar la producción de bloques y las conexiones de la red. Así se mantenía esta, al tiempo que se construía un sistema de miles de nodos distribuidos, operados por stake pools. Para alcanzar la descentralización, Cardano ahora ha puesto fin a la prevalencia de los nodos federados que han apoyado el sistema desde su creación en 2017.

El 6 de diciembre de 2020, establecimos el parámetro k a 500 para ampliar el número de pools ‘viables’ y promover todavía más la descentralización. Del mismo modo, hemos ido reduciendo gradualmente d con el fin de poner el poder de la producción de bloques enteramente en manos de la comunidad. Ahora el 100% de los bloques son producidos por la comunidad de operadores de stake pool (SPO), significando que la producción de bloques en Cardano se encuentra completamente descentralizada. La modificación de estos parámetros favorece la sostenibilidad de la cadena a largo plazo, fomenta la distribución de la participación y las posibles recompensas de forma más uniforme entre los stake pools.

En apenas seis meses, hemos avanzado desde un sistema que dependía de un pequeño número de nodos federados hasta un sistema de proof-of-stake [PoS, prueba de participación] gestionado por la comunidad, con millares de bloques producidos cada época por más de 2.000 stake pools.

La red

La capa de red de Cardano es una infraestructura física que combina los nodos y su interacción en un sistema unificado. La red distribuye la información sobre las transacciones y la creación de bloques entre todos los nodos activos. Esto permite que el sistema valide y añada bloques a la cadena y verifique las transacciones. En consecuencia, una red distribuida de nodos ha de mantener al mínimo los retardos en la comunicación y ser lo suficientemente resiliente¹ como para hacer frente a fallos, limitaciones de capacidad o piratas informáticos.

Durante el antiguo sistema federado, la conexión de los nodos se establecía mediante una configuración estática determinada en un archivo de topología. Tras la introducción de Shelley, el sistema funciona en un modo híbrido, en el cual los nodos se conectan a los relés federados y a los relés de otros SPO. Aunque esta conectividad se construye parcialmente de forma manual, los SPO pueden intercambiar información sobre bloques y transacciones sin recurrir a los nodos federados.

Marcin Szamotulski, en su artículo El camino de Cardano hacia la descentralización, analizó el diseño de la red y explicó el enfoque de Cardano hacia la descentralización de la red con la llegada de Shelley. Dado que hemos alcanzado la plena descentralización en términos de producción de bloques, también es esencial que la conectividad de la red esté descentralizada. Cardano lo logrará a través de un cambio hacia la conectividad entre pares (P2P).

La red entre pares (P2P)

En este punto, hemos de hablar sobre la ‘‘pila’’ [stack, pila no de batería sino de agrupación] de la red. Se trata de un conjunto de herramientas de software recientemente mejoradas por nuestro equipo de ingenieros a fin de hacer frente a una red más grande, dinámica y compleja.

La comunicación P2P potenciará el flujo de información entre los nodos, lo que reduce (y en última instancia elimina) la dependencia de la red de los nodos federados y permite la descentralización de Cardano. Para alcanzar la resiliencia deseada, el equipo de redes de IOHK ha estado ocupado mejorando la pila de la red con capacidades P2P avanzadas. Las mejoras no necesitan un cambio de protocolo, sino que permiten la selección y comunicación automatizada de los pares.

La red P2P está habilitada gracias al uso de los siguientes componentes:

asddd
Figura 1. Arquitectura entre pares (P2P)

Veamos con más detalle el proceso de establecimiento de las conexiones entre nodos y cómo los últimos avances agilizan el intercambio de datos entre ellos.

Miniprotocolos

Un conjunto de miniprotocolos permite la comunicación entre nodos. Cada protocolo implementa un requisito básico de intercambio de información, como informar a los compañeros [a sus pares] del último bloque, compartir bloques o procesar transacciones. Los protocolos Chain-sync, block-fetch y tx-submission han sido utilizados para distribuir cadenas de bloques y transacciones para la comunicación de nodo a nodo [de par a par] en la red:

  • block-fetch extrae información de la base de datos de la cadena.

  • chain-sync sincroniza los datos obtenidos en la red.

  • tx-submission2 consume las transacciones de los mempools ² de los pares y las añade al mempool local, lo que permite a los pares enviar sus transacciones al nodo. Se trata de una modificación del actual protocolo tx-submission.

Estos miniprotocolos son compatibles con el protocolo de consenso Ouroboros. Con el fin de garantizar un servicio de red óptimo, el equipo ha implementado protocolos adicionales:

  • keep-alive: asegura la conexión continua entre nodos y minimiza los fallos de rendimiento.

  • tip-sample: provee información sobre qué pares ofrecen mejor conectividad en términos de rendimiento.

Encontrará más información con respecto a la arquitectura de la red y ejemplos sobre los miniprotocolos en el sitio web de la Documentación de Cardano..

La gestión de las conexiones

El servicio de red es compatible con Linux, Windows y macOS, sin embargo, el número de conexiones que admite cada sistema operativo varía.

Con el fin de prevenir la sobrecarga del sistema, un multiplexor combina varios canales en un único canal de conexión del Protocolo de Control de Transmisión (TCP). Esta solución ofrece dos ventajas: la comunicación bidireccional entre pares (por lo que cualquier par puede iniciar la comunicación sin restricciones, ya que ambas partes tienen permisos de lectura y escritura dentro del mismo canal), y una comunicación mejorada de nodo a nodo sin afectar al rendimiento.

Nuestro equipo de redes ha implementado un “gestor de conexiones” bidireccional integrado en el gobernador entre pares (P2P), que actualmente está en fase de pruebas finales antes de su despliegue. Adicionalmente, se han actualizado las API del multiplexor para controlar nuevas conexiones y protocolos. Con esta mejora se consigue una gestión más eficaz de las conexiones y un mejor seguimiento de los problemas.

La funcionalidad del gobernador de los pares (P2P)

Son múltiples nodos pares los que incluye la red Cardano. Unos más activos que otros, algunos tienen conexiones establecidas y otros deben ser promovidos para asegurar el mejor rendimiento del sistema. Como se explica en El camino de Cardano hacia la descentralización, los pares [peers] se clasifican en tres categorías:

  • pares fríos

  • pares cálidos

  • pares calientes

A fin de establecer conexiones bidireccionales entre ellos, es crucial que sepamos qué conexiones están activas.

asds
Figura 2. Descubrimiento de pares en Cardano

El Gobernador P2P gestiona las conexiones y ofrece información sobre qué pares están activos y tienen un buen rendimiento. Esta característica promueve las conexiones entre pares para mejorar el rendimiento del sistema y también proporciona una excelente visibilidad al construir y mantener un mapa de conectividad de toda la red. El Gobernador simplificará el proceso de definiciones de conexión al manejarlas automáticamente para que algunos grupos de interés central ya no tengan que configurarlas manualmente. Tambien promueve o degrada a los pares entre los estados frío, cálido y caliente, e interactúa con el administrador de conexiones para abrir nuevas conexiones o reutilizar las existentes.

Hoja de ruta del despliegue P2P

El equipo de redes de IOHK se encuentra inmerso en las últimas fases de pruebas de calidad de la integración del gobernador P2P con el nodo. Posteriormente, el equipo ampliará la pila [stack] de red con más protocolos, en particular el de divulgación [gossip], que garantizará un intercambio de datos sin fisuras entre pares y ayudará a construir un mapa de comunicación descentralizado.

Estas actualizaciones técnicas nos permiten simplificar las interfaces de los nodos de Cardano y mejorar la configuración del sistema. Una vez finalizadas las pruebas, todos los SPO podrán actualizar y simplificar sus preferencias de configuración para mejorar la conectividad.

Esto supone las siguientes etapas antes del despliegue completo del P2P:

descarga
Figura 3. Hoja de ruta del despliegue P2P

Si desea conocer el plan de la mano del arquitecto jefe Duncan Coutts, consulte este vídeo del programa Cardano360 de marzo.

“Aunque la gobernanza ha desempeñado un papel relevante en el establecimiento, el mantenimiento y el apoyo de la red, sólo con la descentralización podemos lograr una verdadera sostenibilidad de la red que garantice la igualdad de oportunidades para todos los grupos de interés. Así pues, el objetivo de las mejoras de la pila [stack] es permitir que todos los stake pools ejecuten las mismas configuraciones, lo que establece la igualdad de capacidades dentro de un entorno descentralizado.”

Continuaremos proveyendo más actualizaciones de desarrollo en este blog, también puede seguir las actualizaciones de estado de Cardano para conocer las mejoras y desarrollos recientes.


Notas del Traductor

¹ resiliente: capacidad de un material, mecanismo o sistema para recuperar su estado inicial cuando ha cesado la perturbación a la que había estado sometido.

² mempools: es una memoria temporal intermedia en donde se almacenan de forma momentánea las transacciones de los usuarios.
Cuando un usuario de criptomonedas realiza una transacción, el primer lugar donde se anota esta es en lo que se conoce como mempool. Una vez que la transacción llega a este lugar, los mineros (en el caso de Bitcoin) van seleccionando las mismas para procesarlas. Es en este último punto, cuando la transacción realmente se hace efectiva y pasa a integrarse en la blockchain.

Lecturas recomendadas:

:es: No queda mucho para llegar al día “D = 0”
:es: Parámetros y descentralización: el camino a seguir
:es: El camino de Cardano hacia la descentralización

3 Likes

Si bien es un tema técnico, no es de menor importancia, ya que simplifica y agiliza la comunicación entre nodos, a mi entender le da menor latencia.

2 Likes

Si, y ya está demostrado lo importante que eso hoy en día. La situación creada por la venta de NTF casi toma por sorpresa a todo a los servers detras de Yoroi. El incremente del tráfico fue inmenso…

De ahí la importancia de estos cambios que mejoran signicativamente la red, desde el nivel de nodo. Y apneas se comenza. Estan por llegar grandes sistemas que hará un uso intensivo de la red, como AI.

2 Likes