Muchas cadenas de bloques usan la propagación Gossip para transmitir transacciones: después de que un nodo recibe un mensaje, lo reenvía aleatoriamente a los nodos cercanos. El método es sencillo, pero cuando el tamaño de la red crece, también aumentan los datos duplicados, el consumo de ancho de banda y la latencia de propagación.
Después de revisar la documentación de la red de @Dusk , descubrí que el Kadcast usado por Dusk no es una difusión completamente aleatoria; en su lugar, organiza la propagación de mensajes entre nodos mediante una red de cobertura estructurada. Su objetivo no es que cada nodo notifique ciegamente a todos sus vecinos, sino llegar a que los bloques y los mensajes de consenso se reciban en tiempos más predecibles, controlando al mismo tiempo el ancho de banda.
Esto se parece a la logística de entregas en una ciudad. El Gossip aleatorio es como que cada almacén, al ver un paquete, notifique a todos los almacenes cercanos; Kadcast intenta diseñar rutas de reenvío con antelación, reduciendo las veces que un mismo paquete se transporta repetidamente. Para los consensos que requieren Proposal, Validation y Ratification rápidas, cuanto más estable sea la latencia de propagación, menos probable será que los nodos se pierdan la ventana de responsabilidades debido a mensajes que lleguen tarde.
Pero las redes estructuradas tampoco están libres de costos. Cuando hay problemas en los puertos del nodo, NAT, firewall o la configuración de conexiones con los vecinos, el proceso puede seguir ejecutándose, pero aun así no poder participar correctamente en la propagación. Los nodos de Dusk exigen que Kadcast use 9000/UDP, y este tipo de fallos de conexiones UDP no necesariamente se detecta tan fácilmente como en servicios web comunes.
Por eso no solo miraré el tiempo promedio de generación de bloques, sino que también prestaré atención al número de Peers de los nodos, a la latencia en la cola de propagación de mensajes, a la tasa de omisión de firmas en el consenso y a la distribución de nodos en distintas regiones. El rendimiento de la red no teme a que sea un poco más lento en promedio; lo que realmente le preocupa es que, ocasionalmente, unos pocos mensajes lleguen tan tarde que se pierda la ventana de consenso. #dusk $DUSK
Después de revisar la documentación de la red de @Dusk , descubrí que el Kadcast usado por Dusk no es una difusión completamente aleatoria; en su lugar, organiza la propagación de mensajes entre nodos mediante una red de cobertura estructurada. Su objetivo no es que cada nodo notifique ciegamente a todos sus vecinos, sino llegar a que los bloques y los mensajes de consenso se reciban en tiempos más predecibles, controlando al mismo tiempo el ancho de banda.
Esto se parece a la logística de entregas en una ciudad. El Gossip aleatorio es como que cada almacén, al ver un paquete, notifique a todos los almacenes cercanos; Kadcast intenta diseñar rutas de reenvío con antelación, reduciendo las veces que un mismo paquete se transporta repetidamente. Para los consensos que requieren Proposal, Validation y Ratification rápidas, cuanto más estable sea la latencia de propagación, menos probable será que los nodos se pierdan la ventana de responsabilidades debido a mensajes que lleguen tarde.
Pero las redes estructuradas tampoco están libres de costos. Cuando hay problemas en los puertos del nodo, NAT, firewall o la configuración de conexiones con los vecinos, el proceso puede seguir ejecutándose, pero aun así no poder participar correctamente en la propagación. Los nodos de Dusk exigen que Kadcast use 9000/UDP, y este tipo de fallos de conexiones UDP no necesariamente se detecta tan fácilmente como en servicios web comunes.
Por eso no solo miraré el tiempo promedio de generación de bloques, sino que también prestaré atención al número de Peers de los nodos, a la latencia en la cola de propagación de mensajes, a la tasa de omisión de firmas en el consenso y a la distribución de nodos en distintas regiones. El rendimiento de la red no teme a que sea un poco más lento en promedio; lo que realmente le preocupa es que, ocasionalmente, unos pocos mensajes lleguen tan tarde que se pierda la ventana de consenso. #dusk $DUSK