Tout le monde parle de la finalité rapide de Dusk. Moi, j’ai trouvé la partie intéressante dans ce qui se passe quand le premier bloc échoue.@Dusk
J’ai passé l’après-midi à creuser les règles de finalité de Dusk dans le livre blanc et la documentation actuelle, et c’est le chemin n=0 qui a réellement stoppé ma réflexion.
Les blocs passent par quatre états : Accepté, Attesté, Confirmé, puis Final. Le nombre clé est n, c’est-à-dire combien d’itérations précédentes dans la même manche ont déjà échoué.
Quand n vaut zéro, le bloc est marqué Attesté immédiatement. Dès qu’il a un seul successeur qui est lui-même Attesté ou Confirmé, il devient Confirmé. C’est le chemin rapide décrit dans la documentation.
Quand n est supérieur à zéro, les règles changent. Le bloc commence uniquement comme Accepté. Il lui faut ensuite 2n blocs consécutifs Attestés ou Confirmés après lui avant de pouvoir atteindre Confirmé. Par exemple, un bloc d’itération 5 avec deux échecs antérieurs a besoin de quatre blocs supplémentaires qui soient bons. Ce n’est qu’une fois qu’il est Confirmé et que son parent est déjà Final qu’il devient irréversible.
Le design donne délibérément une finalité plus forte au premier générateur qui réussit. Les suivants obtiennent la même force seulement après que le réseau a vu davantage de preuves que les tentatives antérieures ont vraiment échoué.
Cette partie tient.
Ce qui me taraudait, c’est à quel point le chemin plus lent apparaît rarement dans la conversation quotidienne. Dans des conditions normales, la plupart des blocs prennent la route n=0 et atteignent rapidement une finalité forte. Les exigences supplémentaires n’apparaissent que lorsque le réseau est déjà sous stress.
Je me demande encore combien de personnes qui citent « la finalité instantanée » ont réellement vécu la différence entre les deux chemins.
#dusk $DUSK
J’ai passé l’après-midi à creuser les règles de finalité de Dusk dans le livre blanc et la documentation actuelle, et c’est le chemin n=0 qui a réellement stoppé ma réflexion.
Les blocs passent par quatre états : Accepté, Attesté, Confirmé, puis Final. Le nombre clé est n, c’est-à-dire combien d’itérations précédentes dans la même manche ont déjà échoué.
Quand n vaut zéro, le bloc est marqué Attesté immédiatement. Dès qu’il a un seul successeur qui est lui-même Attesté ou Confirmé, il devient Confirmé. C’est le chemin rapide décrit dans la documentation.
Quand n est supérieur à zéro, les règles changent. Le bloc commence uniquement comme Accepté. Il lui faut ensuite 2n blocs consécutifs Attestés ou Confirmés après lui avant de pouvoir atteindre Confirmé. Par exemple, un bloc d’itération 5 avec deux échecs antérieurs a besoin de quatre blocs supplémentaires qui soient bons. Ce n’est qu’une fois qu’il est Confirmé et que son parent est déjà Final qu’il devient irréversible.
Le design donne délibérément une finalité plus forte au premier générateur qui réussit. Les suivants obtiennent la même force seulement après que le réseau a vu davantage de preuves que les tentatives antérieures ont vraiment échoué.
Cette partie tient.
Ce qui me taraudait, c’est à quel point le chemin plus lent apparaît rarement dans la conversation quotidienne. Dans des conditions normales, la plupart des blocs prennent la route n=0 et atteignent rapidement une finalité forte. Les exigences supplémentaires n’apparaissent que lorsque le réseau est déjà sous stress.
Je me demande encore combien de personnes qui citent « la finalité instantanée » ont réellement vécu la différence entre les deux chemins.
#dusk $DUSK