Les chaînes de blocs supposent généralement que le consensus continue d’avancer. $DUSK en a un plan pour le cas où ce ne serait pas le cas.

Dans son consensus SA, chaque bloc emporte une graine dérivée de la signature du générateur du bloc précédent. Cela change constamment l’aléatoire, rendant difficile de prédire à l’avance les futurs générateurs de blocs et comités.

Mais la partie la plus intéressante, c’est ce qui se passe quand les choses tournent mal.

Si suffisamment de pourvoyeurs passent hors ligne et que 16 itérations consécutives échouent, Dusk passe en mode d’urgence. Au lieu de simplement abandonner, le réseau continue d’essayer jusqu’à ce qu’un bloc candidat atteigne le quorum.

Plusieurs itérations peuvent même rester ouvertes en même temps, ce qui augmente les chances que l’une aboutisse. Le compromis ? Plus de tentatives concurrentes peuvent aussi créer des forks, que Dusk résout en sélectionnant le candidat de la plus faible itération.

Et si le réseau atteint la dernière itération sans progrès, les pourvoyeurs détenant la majorité des mises peuvent demander un bloc d’urgence. Ce bloc ne contient aucune transaction, mais fournit au réseau une nouvelle graine pour lui permettre d’entrer dans le tour suivant.

Personnellement, je trouve cela plus intéressant que l’affirmation habituelle du « consensus rapide ». Cela montre ce que fait le protocole quand le réseau se comporte mal, pas seulement quand tout fonctionne parfaitement.

Mais je continue de me demander : le fait d’avoir une voie de secours d’urgence élaborée rend-il Dusk plus résilient, ou la complexité ajoutée introduit-elle de nouveaux cas limites ?

Préféreriez-vous utiliser une blockchain dotée d’un mécanisme détaillé de récupération en cas d’échec, ou d’une conception de consensus plus simple ?

#dusk $DUSK @Dusk