#dusk $DUSK @Dusk J’ai toujours voulu comprendre ce que signifie exactement la « règlementation déterministe » que Dusk répète sans cesse. Quelle différence essentielle y a-t-il avec ce qu’on dit d’habitude : « la transaction est confirmée » ? Cette fois, je vais me concentrer uniquement sur ce point.
La plupart des chaînes publiques emploient le terme « confirmation » de manière probabiliste : plus un bloc est enfoui profondément, plus le risque de rollback diminue. Mais en théorie, il existe toujours une probabilité (même très faible) que la chaîne soit réécrite. C’est pourquoi, avant, les exchanges demandaient aux utilisateurs d’attendre plusieurs blocs : en réalité, on attend que cette probabilité descende à un niveau acceptable. La « règlementation déterministe » de Dusk ne suit pas cette logique. D’après les explications officielles, dès qu’un bloc a été formellement approuvé par le comité de consensus, il est immédiatement et clairement « figé ». Ce n’est pas « de moins en moins susceptible d’être annulé », mais « à partir de cet instant, il ne sera jamais annulé ». Le mécanisme s’appuie sur un groupe de validateurs qui signent directement une preuve conjointe pour ce bloc, et non sur l’empilement du temps pour réduire une probabilité.
Là où je suis tombé sur une petite incohérence assez intéressante, c’est que j’ai retrouvé un article très ancien de Dusk. Il y est écrit que le temps de confirmation est « d’environ cinq à vingt secondes », et les termes utilisés restent ceux d’une approche plutôt probabiliste, avec l’expression « temps de confirmation ». Mais dans des documents plus récents, on dit désormais qu’« en quelques secondes seulement, on obtient un résultat final déterministe » : le vocabulaire a changé de « confirmation » à « final ». Au début, je pensais que c’était simplement la même mécanique, mais décrite autrement. Ensuite, j’ai réalisé que cela pouvait refléter des évolutions du protocole lui-même au cours de ces dernières années : dans les versions initiales, il subsistait probablement une part d’ombre de confirmation probabiliste, alors que les versions ultérieures ont rendu solide le mécanisme consistant à faire signer conjointement un groupe de personnes pour trancher directement.
Je n’ai pas trouvé de document qui explique clairement à partir de quelle version on serait passé à une pure déterministicité. Je ne peux donc que dire que, très probablement, il y a eu des itérations : quelle mise à niveau a constitué la ligne de séparation, je ne l’ai pas encore vérifié.
Pour moi, si on replace ce point dans un scénario concret, la signification est assez importante : s’il s’agit du règlement des fonds d’une opération sur titres, « la probabilité qu’elle soit annulée est très faible » et « à partir de cet instant, elle ne sera jamais annulée » correspondent à des façons totalement différentes de qualifier la responsabilité juridique. Dans le premier cas, lors d’un règlement financier formel, il faut toujours prévoir une marge de sécurité sous forme de délai d’attente.