Así que entiendo totalmente $DUSK utiliza algo llamado Kadcast como su protocolo principal para difundir bloques, transacciones y votos de consenso a través de la red. No es algo construido desde cero; en realidad, toma mucha inspiración de la configuración de una tabla hash distribuida (DHT) de Kademlia, especialmente todo el concepto de distancia XOR. Básicamente, en lugar de solo volcar mensajes a cada vecino de inmediato como hacen los protocolos de chismes de estilo antiguo, es más inteligente: envía los datos a través de rutas específicas y estructuradas usando pares seleccionados.
Desglosándolo un poco:
Cada nodo tiene su propio identificador, y la distancia XOR entre nodos determina cómo se organizan los pares entre sí.
Los pares no están conectados al azar: se agrupan en lo que se llama buckets de enrutamiento, según qué tan lejos están entre sí respecto a un nodo.
Cuando se necesita difundir un mensaje, no se envía a todos a la vez: se transmite a través de un conjunto elegido de pares en lugar de inundar toda la red.
Como cada bucket contiene más de un par, hay una red de seguridad si un par se desconecta o falla: hay otras rutas listas para llevar el mensaje hacia adelante.
También hay una capa de seguridad incorporada: los mensajes se firman y, antes de reenviar cualquier cosa, esa firma se verifica. Esto ayuda a evitar que actores maliciosos alteren la forma en que se propagan los datos.
Y en cuanto al rendimiento real, @Dusk ha informado que esta configuración reduce el uso de ancho de banda en aproximadamente un 25–50% en comparación con los protocolos típicos de tipo gossip. Dicho esto, vale la pena tener en cuenta que este número proviene de las pruebas y afirmaciones de diseño de Dusk, así que no es una garantía fija que vaya a cumplirse en cada configuración o condición que exista. #dusk
Desglosándolo un poco:
Cada nodo tiene su propio identificador, y la distancia XOR entre nodos determina cómo se organizan los pares entre sí.
Los pares no están conectados al azar: se agrupan en lo que se llama buckets de enrutamiento, según qué tan lejos están entre sí respecto a un nodo.
Cuando se necesita difundir un mensaje, no se envía a todos a la vez: se transmite a través de un conjunto elegido de pares en lugar de inundar toda la red.
Como cada bucket contiene más de un par, hay una red de seguridad si un par se desconecta o falla: hay otras rutas listas para llevar el mensaje hacia adelante.
También hay una capa de seguridad incorporada: los mensajes se firman y, antes de reenviar cualquier cosa, esa firma se verifica. Esto ayuda a evitar que actores maliciosos alteren la forma en que se propagan los datos.
Y en cuanto al rendimiento real, @Dusk ha informado que esta configuración reduce el uso de ancho de banda en aproximadamente un 25–50% en comparación con los protocolos típicos de tipo gossip. Dicho esto, vale la pena tener en cuenta que este número proviene de las pruebas y afirmaciones de diseño de Dusk, así que no es una garantía fija que vaya a cumplirse en cada configuración o condición que exista. #dusk