馃嚜馃嚫 Explora Cardano: 3. Red Cardano: c. Red de pares (P2P)

Explora Cardano: 3. Red Cardano: c. Red de pares (P2P)

Los nodos de Cardano y las interacciones entre ellos se combinan dentro de una capa de red, que distribuye la informaci贸n sobre las transacciones y la creaci贸n de bloques entre todos los nodos activos. De este modo, el sistema valida y a帽ade bloques a la cadena y tambi茅n verifica las transacciones. Una red distribuida de nodos debe mantener los retrasos en la comunicaci贸n al m铆nimo, y ser lo suficientemente resistente para hacer frente a los fallos o a las limitaciones de capacidad.

En el sistema federado Byron, los nodos estaban conectados por una configuraci贸n est谩tica que se defin铆a en un archivo de topolog铆a. Desde la introducci贸n de Shelley, el sistema funciona en modo h铆brido. Al pasar del estado federado de conectividad de la red al h铆brido, a帽adimos una red peer-to-peer (P2P) construida manualmente de nodos de retransmisi贸n de operadores de grupos de participaci贸n (SPO). Esto significa que los nodos centrales de SPO pueden conectarse tanto a los nodos de retransmisi贸n federados como a otros nodos de retransmisi贸n gestionados por SPO. Esta conectividad no est谩 automatizada, pero permite el intercambio de informaci贸n sobre bloques y transacciones sin depender de los nodos federados. Durante esta etapa, los nodos de retransmisi贸n federados se est谩n apagando gradualmente para que los SPO puedan conectarse a los rel茅s de los dem谩s.

explore-3c-1
explore-3c-2
explore-3c-3

Para garantizar una comunicaci贸n eficiente entre los nodos, es esencial habilitar las conexiones autom谩ticas de los rel茅s SPO entre s铆, de modo que se necesite menos configuraci贸n est谩tica. Esto se est谩 logrando actualmente mediante actualizaciones de la estructura de la red, que en 煤ltima instancia permitir谩n una topolog铆a P2P completa para todos los nodos de Cardano. La comunicaci贸n P2P mejorar谩 el flujo de informaci贸n entre los nodos, reduciendo as铆 (y en 煤ltima instancia eliminando) la dependencia de la red de los nodos federados, y permitiendo la completa descentralizaci贸n de la red Cardano.

Nota: El despliegue de P2P se encuentra actualmente en fase de pruebas. El equipo est谩 centrado en la entrega de las funciones finales para los SPO y en la preparaci贸n de las pruebas de simulaci贸n de QuickCheck. El despliegue completo de P2P tendr谩 lugar m谩s adelante en 2021. Esta documentaci贸n describe la funcionalidad P2P s贸lo con fines informativos antes de su lanzamiento.

Capacidades de P2P

La estructura de la red se somete a una serie de mejoras para lograr la resistencia deseada de la red. Estas mejoras no requieren un cambio de protocolo, sino que permiten la selecci贸n autom谩tica de pares y la comunicaci贸n entre pares y nodos.

La red P2P es posible gracias al uso de los siguientes componentes:

  • Gobernador P2P - gestiona el inicio autom谩tico de las conexiones entre pares.
  • Gestor de conexiones - se integra con el gobernador P2P para supervisar las nuevas conexiones y protocolos, lo que garantiza una comunicaci贸n eficaz y un mejor seguimiento de los fallos.
  • Server 鈥 acepta conexiones y limita las tasas din谩micas sincroniz谩ndolas con el gestor de conexiones.
  • Gobernador de protocolo de entrada - recibe datos del gestor de conexiones para iniciar o reiniciar miniprotocolos de respuesta en conexiones d煤plex de entrada y salida.

A continuaci贸n, veremos c贸mo funciona el gobernador P2P para garantizar la conectividad autom谩tica entre los nodos pares de la red.

Funcionalidad del gobernador P2P

La red Cardano est谩 formada por m煤ltiples nodos pares. Algunos nodos pares son m谩s activos que otros, algunos tienen conexiones establecidas y otros deben ser promovidos para asegurar el mejor rendimiento del sistema. Cada nodo productor de bloques mantiene un conjunto de pares asignados en tres categor铆as:

  • pares fr铆os: pares existentes sin una conexi贸n de red establecida
  • pares tibios - pares con una conexi贸n portadora establecida, que s贸lo se utiliza para las mediciones de la red sin implementar ninguno de los miniprotocolos de nodo a nodo.
  • pares calientes - pares que tienen una conexi贸n, que est谩 siendo utilizada por los tres miniprotocolos de nodo a nodo

Los pares reci茅n descubiertos se a帽aden inicialmente al conjunto de pares fr铆os. El gobernador P2P es entonces responsable de la gesti贸n de la conexi贸n de los pares: define qu茅 pares son beneficiosos a efectos de conexi贸n, y cu谩les deben ser promovidos o degradados entre los conjuntos fr铆os, tibios o calientes.

El objetivo principal del gobernador P2P es mantener el n煤mero objetivo de pares fr铆os, tibios y calientes. Esto construye y mantiene un mapa de conectividad de toda la red, y simplifica el proceso de definiciones de conexi贸n manej谩ndolas autom谩ticamente.

Para establecer la conectividad entre los nodos, el gobernador P2P realiza las siguientes actividades:

  • el cotilleo aleatorio utilizado para descubrir un mayor n煤mero de pares fr铆os
  • promoci贸n de los pares fr铆os a los pares tibios
  • rebajar los pares tibios a los pares fr铆os
  • promoci贸n de los pares tibios a los pares calientes
  • rebajar los pares calientes a los pares tibios

El gobernador P2P necesita establecer y mantener:

  • un n煤mero deseado de pares fr铆os (por ejemplo, 100)
  • un n煤mero deseado de pares calientes (por ejemplo, entre 2-20)
  • un n煤mero deseado de pares tibios (por ejemplo, entre 10-50)
  • un conjunto de pares tibios que sean lo suficientemente diversos en t茅rminos de distancia de salto y ubicaciones geogr谩ficas
  • una frecuencia de cambio deseada para los cambios en caliente o en tibio
  • una frecuencia de cambio deseada para los cambios en tibio o en fr铆o
  • una frecuencia de cambio deseada para los cambios en fr铆o o desconocidos

explore-3c-4

El uso de 2-20 pares calientes es rentable, ya que los pares s贸lo intercambian sus cabeceras de bloque. El cuerpo del bloque, a su vez, suele solicitarse s贸lo una vez, y tiende a seguir el camino m谩s corto a trav茅s del gr谩fico de conectividad.

El prop贸sito de los pares tibios es proporcionar acceso a aquellos pares que pueden ser r谩pidamente promovidos a calientes (en caso de que alguno de los pares tibios falle), y tambi茅n proporcionar candidatos para el cambio de los pares calientes.

La pol铆tica de selecci贸n de los pares tibios que se promocionan a calientes se basa en las mediciones ascendentes. El prop贸sito de un grado de rotaci贸n entre pares fr铆os y tibios es, en parte, descubrir la distancia de la red entre m谩s pares y permitir que pares tibios potencialmente mejores tomen el relevo de los pares calientes existentes. Esto permite una mayor optimizaci贸n y ajustes. Mantener la diversidad en las distancias de salto contribuye a mejorar los tiempos de distribuci贸n de los bloques en la red distribuida globalmente.

En general, este enfoque sigue un patr贸n com煤n para la b煤squeda u optimizaci贸n probabil铆stica que utiliza un equilibrio de optimizaci贸n local con algunos elementos de perturbaci贸n de orden superior para evitar quedar atrapado en un 贸ptimo local pobre.

Los pares mantienen un conjunto limitado de informaci贸n, que se basa en sus interacciones directas anteriores. Los pares fr铆os, por ejemplo, pueden no mantener ning煤n dato, ya que a煤n no han establecido interacciones. Estos datos pueden ser comparados con la propiedad de 鈥渞eputaci贸n鈥, sin embargo, estos detalles son puramente locales y no se comparten entre otros nodos. La informaci贸n de reputaci贸n local de los pares tambi茅n se actualiza cuando las conexiones de los pares fallan. La red no mantiene la informaci贸n negativa de los pares durante largos periodos de tiempo: para limitar los recursos y debido a la simplicidad de los ataques Sybil.

La implementaci贸n clasifica las excepciones que causan fallos de conexi贸n en tres clases:

  • excepciones internas del nodo (por ejemplo, corrupci贸n del disco local)
  • fallos en la red (por ejemplo, interrupci贸n de las conexiones TCP)
  • comportamiento adverso (por ejemplo, una violaci贸n del protocolo detectada por la capa de protocolos tipificados o por la capa de consenso).

En caso de comportamiento adverso, el par puede ser reclasificado inmediatamente de los conjuntos caliente, tibio o fr铆o.


Encuentra una copia oficial de este documento aqu铆:

https://docs.cardano.org/explore-cardano/cardano-network/p2p-networking

M谩s traducciones de Cardano en: Cardano For The World