Une transaction que Dusk peut rejouer devrait aussi être recevable en direct.

Cette limite est plus stricte.

J’ai supposé que le format d’une transaction n’était qu’une règle : le décoder avec succès, et le réseau est satisfait.

Dusk a rompu cette approche.

L’implémentation actuelle de Rusk sépare l’entrée des transactions en direct des données du grand livre (ledger) canonique. Les enveloppes Aegis et Boreas peuvent entrer via l’admission en direct et être normalisées vers le format d’entrée actif, puis passer par `CanonicalTransaction` et `LedgerTransaction` avant que la transaction localement scellée ne soit canonisée pour l’engagement dans un bloc. Le consensus vérifie encore que l’encodage du grand livre correspond au format canonique requis à cette hauteur de bloc.

Et la partie étrange concerne ce qu’il advient des anciens formats.

Le paramètre par défaut d’activation Aegis de la mainnet de Dusk est le bloc **3,590,904**. Les formats historiques des transactions restent décodables pour le rejeu du grand livre, mais ces mêmes formats historiques sont rejetés lors de l’admission en mempool en direct dès lors que le format n’est plus autorisé à cet endroit.

Ainsi, imaginez une ancienne transaction, antérieure à cette limite, qui se trouve dans l’historique de la chaîne.

Dusk peut encore la comprendre pendant le rejeu du grand livre.

Mais essayez de pousser ce format historique dans l’admission en direct après que le protocole a évolué, et il sera rejeté.

Le nœud peut préserver le passé sans laisser le passé définir ce qui devient de nouvelles données de grand livre.

Quelle part de la compatibilité des transactions de Dusk provient de la conservation des anciens formats pour l’historique de la chaîne, et quelle part de sa cohérence vient du fait de refuser que ces formats reviennent dans le chemin en direct ?

@Dusk $DUSK #dusk