Alors je comprends totalement $DUSK utilise quelque chose appelé Kadcast comme protocole principal pour diffuser des blocs, des transactions et des votes de consensus à travers le réseau. Ce n’est pas un truc construit à partir de zéro : ça s’inspire beaucoup de la configuration d’une table de hachage distribuée façon Kademlia, notamment toute la notion de distance XOR. En gros, au lieu de simplement balancer des messages à chaque voisin comme le font les protocoles de gossip « old-school », c’est plus malin : il envoie les données via des chemins spécifiques, structurés, en utilisant des pairs sélectionnés.
Décomposons un peu :
Chaque nœud a son propre identifiant, et la distance XOR entre les nœuds détermine comment les pairs sont organisés entre eux.
Les pairs ne sont pas simplement connectés au hasard : ils sont regroupés dans ce qu’on appelle des « buckets » de routage, en fonction de la distance qui les sépare d’un nœud.
Quand un message doit être diffusé, il ne va pas à tout le monde d’un coup : il est transmis via un ensemble choisi de pairs, plutôt que d’inonder tout le réseau.
Comme chaque bucket contient plus d’un pair, il y a un filet de sécurité : si un pair disparaît ou échoue, d’autres chemins sont prêts à prendre le relais pour faire avancer le message.
Il existe aussi une couche de sécurité : les messages sont signés, et avant de transmettre quoi que ce soit plus loin, cette signature est vérifiée. Cela aide à empêcher les acteurs malveillants de perturber la façon dont les données se propagent.
Et côté performances, @Dusk a indiqué que cette configuration réduit l’utilisation de la bande passante d’environ 25–50 % par rapport aux protocoles de gossip classiques. Ceci dit, il faut garder à l’esprit que ce chiffre provient des tests et des affirmations de conception de Dusk : ce n’est pas une garantie fixe qui s’appliquera telle quelle à chaque configuration ou à chaque condition dans le monde réel. #dusk
Décomposons un peu :
Chaque nœud a son propre identifiant, et la distance XOR entre les nœuds détermine comment les pairs sont organisés entre eux.
Les pairs ne sont pas simplement connectés au hasard : ils sont regroupés dans ce qu’on appelle des « buckets » de routage, en fonction de la distance qui les sépare d’un nœud.
Quand un message doit être diffusé, il ne va pas à tout le monde d’un coup : il est transmis via un ensemble choisi de pairs, plutôt que d’inonder tout le réseau.
Comme chaque bucket contient plus d’un pair, il y a un filet de sécurité : si un pair disparaît ou échoue, d’autres chemins sont prêts à prendre le relais pour faire avancer le message.
Il existe aussi une couche de sécurité : les messages sont signés, et avant de transmettre quoi que ce soit plus loin, cette signature est vérifiée. Cela aide à empêcher les acteurs malveillants de perturber la façon dont les données se propagent.
Et côté performances, @Dusk a indiqué que cette configuration réduit l’utilisation de la bande passante d’environ 25–50 % par rapport aux protocoles de gossip classiques. Ceci dit, il faut garder à l’esprit que ce chiffre provient des tests et des affirmations de conception de Dusk : ce n’est pas une garantie fixe qui s’appliquera telle quelle à chaque configuration ou à chaque condition dans le monde réel. #dusk