Je pensais que la sélection pondérée par les mises revenait essentiellement à « plus de DUSK = plus de chances ». Mais la sortition déterministe de Dusk rend cette relation plus intéressante.

Je suis retourné à la documentation, car la partie importante n’est pas simplement que la mise compte. Il s’agit de la manière dont le protocole transforme le poids d’un déposant en un résultat de sélection répétable.

Dans l’Attestation Succincte, la création des comités s’appuie sur une sortition déterministe. Un score est dérivé d’un hachage SHA3-256 des paramètres du tour de consensus, puis ce score sert à déterminer quels proposeurs (provisioners) sont éligibles. Les mêmes entrées permettent donc à des nœuds de parvenir indépendamment au même résultat de sélection.

Cela crée une tension d’ingénierie intéressante : la randomisation est utile pour répartir l’appartenance aux comités, mais le consensus ne peut pas dépendre de nœuds produisant des issues aléatoires différentes.

La conception sépare ces préoccupations. Le hachage fournit l’entrée qui, en apparence, est imprévisible, tandis que le processus déterministe rend le résultat indépendamment reproductible. Le poids de la mise influence alors le processus de sélection, plutôt que d’obliger un coordinateur à attribuer des membres de comité.

La chaîne logique est simple : poids de la mise → éligibilité pondérée → sélection déterministe basée sur un hachage → appartenance au comité vérifiable indépendamment.

L’arbitrage est que la sélection déterministe ne signifie pas une répartition parfaitement égale à chaque tour. Un proposeur disposant d’une mise plus faible peut encore être sélectionné, tandis qu’un autre avec une mise plus élevée peut manquer un tour particulier ; l’équité émerge statistiquement, plutôt que tour par tour à chaque bloc.

Ce qui me laisse surtout réfléchir, c’est : comment faut-il régler la taille des comités et la répartition des mises pour que cette équité probabiliste reste robuste lorsque l’ensemble des validateurs évolue ?

@Dusk_Foundation $DUSK

#dusk