Je réfléchissais à ce qui se passe lorsqu’une transaction atteint Dusk.

Au début, on a l’impression qu’il n’y a qu’une seule question :

**« Le réseau doit-il accepter cette transaction ? »**

Mais en regardant de plus près, il y a en réalité deux questions différentes.

D’abord, la transaction respecte-t-elle les règles du protocole ?

Ensuite, en supposant que oui, les participants s’accordent-ils sur l’état qui en résulte ?

Cette distinction est facile à manquer, parce que, de l’extérieur, les deux étapes conduisent au même résultat : un état accepté.

Mais, sur le plan architectural, ce sont des tâches différentes.

En cas de problème, les séparer facilite la tâche pour déterminer ce qui a réellement échoué. La transaction était-elle invalide ? Ou bien elle était valide, mais les participants n’étaient-ils pas d’accord sur l’état qui en découle ?

Je pense que cette séparation est un choix de conception solide.

Mais elle soulève aussi une nouvelle question.

Chaque frontière entre des responsabilités correspond à un nouveau relais. Et chaque relais doit fonctionner correctement quand quelque chose d’inattendu se produit.

Alors je reviens toujours à ceci :

**La séparation entre la validité et le consensus rend-elle Dusk plus facile à analyser en cas de défaillance, ou bien chaque frontière supplémentaire crée-t-elle un autre endroit où le système peut se briser ?**

#Dusk @Dusk $DUSK
Easier to isolate failures
0%
Clearer system boundaries
0%
More coordination risks
0%
Both equally
0%
0 Votes • Vote fermé