Hier, je regardais les règles de finalité finales de Dusk et une petite formule m’a fait m’arrêter : 2 × n.
Au début, je pensais que la finalité roulante consistait simplement à attendre un nombre fixe de blocs. Mais ce n’est pas comme Dusk la gère.
Ici, n = le nombre d’itérations précédentes non encore attestées d’un bloc dans le même tour. Si n = 0, le nouveau bloc est marqué comme attesté. Un bloc attesté devient confirmé lorsque son successeur est attesté ou confirmé.
Mais lorsque n > 0, les choses changent.
Le bloc devient accepté, et il doit obtenir 2 × n blocs consécutifs attestés ou confirmés avant de devenir confirmé.
Donc si n = 1 - 2 blocs.
Si n = 2 - 4 blocs.
Si n = 3 - 6 blocs.
Si n = 4 - 8 blocs.
Le livre blanc donne un exemple simple : si un bloc est à l’itération 5 et que deux itérations antérieures ont échoué à s’attester, il lui faut 4 blocs supplémentaires (2 × 2) attestés ou confirmés avant d’être confirmé. Ensuite, il devient final lorsque son parent est déjà final.
Ce que je trouve intéressant, c’est que Dusk ne traite pas chaque bloc de manière identique.
Un bloc qui arrive après des itérations inférieures ayant échoué comporte plus d’incertitude, donc le protocole demande davantage de preuves.
Pour moi, 2×n est essentiellement un tampon de sécurité adaptatif.
Plus de chemins échoués → plus de confirmations nécessaires.
C’est la partie de la Finalité Roulante que je comprends bien mieux maintenant.
#dusk @Dusk $DUSK
Au début, je pensais que la finalité roulante consistait simplement à attendre un nombre fixe de blocs. Mais ce n’est pas comme Dusk la gère.
Ici, n = le nombre d’itérations précédentes non encore attestées d’un bloc dans le même tour. Si n = 0, le nouveau bloc est marqué comme attesté. Un bloc attesté devient confirmé lorsque son successeur est attesté ou confirmé.
Mais lorsque n > 0, les choses changent.
Le bloc devient accepté, et il doit obtenir 2 × n blocs consécutifs attestés ou confirmés avant de devenir confirmé.
Donc si n = 1 - 2 blocs.
Si n = 2 - 4 blocs.
Si n = 3 - 6 blocs.
Si n = 4 - 8 blocs.
Le livre blanc donne un exemple simple : si un bloc est à l’itération 5 et que deux itérations antérieures ont échoué à s’attester, il lui faut 4 blocs supplémentaires (2 × 2) attestés ou confirmés avant d’être confirmé. Ensuite, il devient final lorsque son parent est déjà final.
Ce que je trouve intéressant, c’est que Dusk ne traite pas chaque bloc de manière identique.
Un bloc qui arrive après des itérations inférieures ayant échoué comporte plus d’incertitude, donc le protocole demande davantage de preuves.
Pour moi, 2×n est essentiellement un tampon de sécurité adaptatif.
Plus de chemins échoués → plus de confirmations nécessaires.
C’est la partie de la Finalité Roulante que je comprends bien mieux maintenant.
#dusk @Dusk $DUSK
Fixed Finality
Adaptive Finality
Stronger Security
4 heure(s) restante(s)
