Je traçais ce qui se passe lorsqu’un proposeur de bloc Dusk se met hors ligne au milieu d’un tour, en m’attendant à trouver une sorte de mécanisme d’arrêt et de reprise. À la place, j’ai trouvé quelque chose de plus discret : un NilQuorum.
En surface, manquer un bloc ressemble à un problème : pas de candidat, pas d’avancée. Mais l’Attestation Succincte ne n’attend pas une réparation. Si le comité ne peut pas atteindre le quorum pour un candidat valide au cours d’une itération, il atteint le quorum sur l’absence de ce candidat. Une Attestation Échouée reste une attestation : simplement une attestation qui certifie « rien ici », plutôt qu’un bloc.
C’est cette partie qui a changé ma façon de le voir. Le réseau ne tolère pas l’échec en l’ignorant ; il traite l’échec comme un résultat de première classe, avec sa propre preuve cryptographique. Le tour ne se bloque pas : il passe juste à la prochaine itération avec un comité neuf, et la finalité progressive tient silencieusement compte du nombre d’itérations vides qui ont précédé le bloc éventuel.
Ainsi, le cas « crise » et le cas normal utilisent la même mécanique de vote. Un proposeur mort ne déclenche pas une logique de reprise : il produit simplement un type de vote différent.
Je ne suis toujours pas sûr de la manière dont cela se comporte en cas d’indisponibilité durable du proposeur, plutôt que d’un seul créneau manqué.
#dusk $DUSK @Dusk
En surface, manquer un bloc ressemble à un problème : pas de candidat, pas d’avancée. Mais l’Attestation Succincte ne n’attend pas une réparation. Si le comité ne peut pas atteindre le quorum pour un candidat valide au cours d’une itération, il atteint le quorum sur l’absence de ce candidat. Une Attestation Échouée reste une attestation : simplement une attestation qui certifie « rien ici », plutôt qu’un bloc.
C’est cette partie qui a changé ma façon de le voir. Le réseau ne tolère pas l’échec en l’ignorant ; il traite l’échec comme un résultat de première classe, avec sa propre preuve cryptographique. Le tour ne se bloque pas : il passe juste à la prochaine itération avec un comité neuf, et la finalité progressive tient silencieusement compte du nombre d’itérations vides qui ont précédé le bloc éventuel.
Ainsi, le cas « crise » et le cas normal utilisent la même mécanique de vote. Un proposeur mort ne déclenche pas une logique de reprise : il produit simplement un type de vote différent.
Je ne suis toujours pas sûr de la manière dont cela se comporte en cas d’indisponibilité durable du proposeur, plutôt que d’un seul créneau manqué.
#dusk $DUSK @Dusk