#dusk $DUSK @Dusk
Je regardais le mécanisme de Fallback de Dusk et un point m’a sauté aux yeux : le numéro d’itération compte énormément lorsqu’une fourche survient.
Comme le consensus de Dusk est asynchrone, les messages peuvent arriver en retard ou être perdus lors d’une congestion. Ainsi, différentes parties du réseau peuvent voir des blocs différents, et parfois plus d’un candidat peut obtenir le quorum au cours de la même manche.
La règle de base est que la plus petite itération a la priorité. Si un bloc de l’itération 1 est accepté, mais qu’un bloc de l’itération 0 obtient ensuite le quorum, le bloc de l’itération la plus basse peut le remplacer. Le nœud revient à l’état antérieur à l’ancien bloc et réorganise la chaîne.
Cela rend l’itération 0 intéressante. L’itération 0 est la première tentative, suivie des itérations 1, 2, etc. Comme il n’existe pas d’itération -1, un bloc d’itération 0 ne peut pas être remplacé directement, via Fallback, par une itération plus faible.
Mais je ne parlerais pas d’une finalité complète. Un bloc d’itération 0 peut encore être affecté si un ancêtre est révoqué. La finalité réelle passe par Rolling Finality.
Donc, à mon avis, Fallback est plus qu’un simple nettoyage de fourche. Le numéro d’itération donne au réseau une manière déterministe de choisir entre des blocs concurrents, l’itération 0 se trouvant au bas de cet ordre de priorité.
Je regardais le mécanisme de Fallback de Dusk et un point m’a sauté aux yeux : le numéro d’itération compte énormément lorsqu’une fourche survient.
Comme le consensus de Dusk est asynchrone, les messages peuvent arriver en retard ou être perdus lors d’une congestion. Ainsi, différentes parties du réseau peuvent voir des blocs différents, et parfois plus d’un candidat peut obtenir le quorum au cours de la même manche.
La règle de base est que la plus petite itération a la priorité. Si un bloc de l’itération 1 est accepté, mais qu’un bloc de l’itération 0 obtient ensuite le quorum, le bloc de l’itération la plus basse peut le remplacer. Le nœud revient à l’état antérieur à l’ancien bloc et réorganise la chaîne.
Cela rend l’itération 0 intéressante. L’itération 0 est la première tentative, suivie des itérations 1, 2, etc. Comme il n’existe pas d’itération -1, un bloc d’itération 0 ne peut pas être remplacé directement, via Fallback, par une itération plus faible.
Mais je ne parlerais pas d’une finalité complète. Un bloc d’itération 0 peut encore être affecté si un ancêtre est révoqué. La finalité réelle passe par Rolling Finality.
Donc, à mon avis, Fallback est plus qu’un simple nettoyage de fourche. Le numéro d’itération donne au réseau une manière déterministe de choisir entre des blocs concurrents, l’itération 0 se trouvant au bas de cet ordre de priorité.
