#dusk $DUSK @Dusk
J’ai vu des équipes de blockchain traiter le réseau comme de la plomberie. Tant que les blocs arrivent, l’architecture ne reçoit généralement pas beaucoup d’attention.

Kadcast me fait regarder cette couche différemment.

Dusk ne s’appuie pas uniquement sur le modèle habituel « recevoir, diffuser, recommencer ». Kadcast organise les pairs via un superposé structuré de type Kademlia ; ainsi, la propagation des messages tient compte d’une façon qui reconnaît la position des nœuds dans le réseau. Cela ressemble à un simple détail d’implémentation, mais cela change le problème. Au lieu d’espérer que des pairs aléatoires suffiront à diffuser un message rapidement, le protocole cherche à rendre la propagation plus délibérée.

Ce qui m’intéresse le plus, c’est la façon dont il gère les réseaux imparfaits. Kadcast utilise l’UDP, qui renonce à certaines garanties de livraison, puis ajoute de la redondance et de la correction d’erreurs avant (forward error correction) pour tolérer la perte de paquets. Autrement dit, il ne cherche pas à rendre le réseau parfaitement fiable. Il conçoit le système en partant du principe que le réseau sera « brouillon ».

C’est un cadrage beaucoup plus utile pour moi.

La diffusion épidémique traditionnelle tire une grande partie de sa résilience de la redondance. Kadcast semble déplacer une plus grande part de cette intelligence vers la sélection des pairs et l’acheminement des messages. Le compromis, c’est la complexité. Un superposé structuré doit désormais protéger ses tables de routage, sa découverte des pairs et son processus d’amorçage contre des acteurs malveillants et une topologie défavorable.

Du coup, je suis moins intéressé par des benchmarks bruts de propagation.

Le vrai test, c’est de savoir si Kadcast peut maintenir une latence prévisible lorsque des nœuds disparaissent, que des paquets sont perdus, que les pairs se comportent mal et que le réseau s’agrandit.

Une propagation rapide est utile.

Une propagation prévisible sous contrainte, c’est exactement ce que je voudrais mesurer.