JE NE M’ATTENDAIS PAS À CE QUE L’ORDRE DE DEUX OPÉRATIONS CHANGE AUTANT QU’UN SLASH.
Je lisais les modifications de Boreas de @Dusk et je me suis arrêté sur une ligne concernant l’ordre des transitions d’état.
Avant Boreas, il y avait un cas au sein du même bloc où la mise était modifiable avant l’application d’un slash en attente.
Boreas a inversé cet ordre.
Le slash se produit désormais en premier.
L’exécution de la transaction intervient ensuite.
C’est un changement étonnamment faible pour quelque chose d’essentiel à la conformité du consensus.
La pénalité elle-même n’avait pas besoin d’une nouvelle philosophie. L’élément important était de s’assurer que la mise ne pouvait pas passer vers un état différent avant que la pénalité déjà en attente ne l’atteigne.
Ce qui rend le changement encore plus intéressant, c’est la façon dont Dusk a géré les anciens blocs.
L’historique pré-Boreas est toujours rejoué avec l’ancien ordre. Les nouveaux blocs utilisent le nouvel ordre.
Ainsi, un nœud doit comprendre deux versions valides de la même machine d’état selon l’endroit où il se trouve dans l’historique de la chaîne.
C’était le détail que je n’avais pas apprécié :
un hard fork peut corriger la suite sans prétendre que la même règle avait toujours existé.
Pour Boreas, même quelque chose d’aussi banal que « quelle opération s’exécute en premier ? » faisait partie de la justesse du consensus.

#dusk $DUSK @Dusk