Définition
Sortition : définition
La sortition, ou élection de leader par tirage, est une méthode utilisée par certains protocoles de preuve d'enjeu pour désigner de manière aléatoire mais vérifiable le validateur qui proposera le prochain bloc, avec une probabilité proportionnelle à sa mise.
Thème : Consensus et minage
Dans un réseau en preuve d'enjeu, il faut décider à chaque créneau qui a le droit de proposer un bloc. Si ce choix était prévisible longtemps à l'avance, un attaquant pourrait cibler le futur proposeur, par exemple par une attaque de déni de service. S'il était manipulable, un validateur pourrait s'attribuer plus souvent ce rôle. La sortition répond à ces deux problèmes par un tirage au sort dont le résultat est vérifiable.
Une technique courante repose sur une fonction aléatoire vérifiable, ou VRF. Chaque validateur calcule en privé, avec sa clé, un nombre pseudo-aléatoire et une preuve. Si ce nombre est sous un seuil qui dépend de sa mise, il est désigné. Il peut ensuite prouver à tous qu'il a été légitimement tiré au sort, sans que les autres aient pu le savoir avant qu'il ne se révèle. Algorand et Cardano utilisent des mécanismes de ce type. D'autres réseaux, comme Ethereum, utilisent une source d'aléa collective appelée RANDAO pour établir à l'avance un ordre de proposeurs pondéré par la mise.
Un exemple concret
Imaginons un réseau de cent validateurs. Au début de chaque créneau, chacun fait tourner la fonction VRF avec sa clé. Celui de Mehdi produit une valeur sous le seuil : il assemble un bloc et le diffuse accompagné de la preuve de son tirage. Les autres vérifient la preuve et acceptent le bloc, sans avoir su avant que Mehdi serait choisi.
Les risques à connaître
Un tirage individuel peut désigner plusieurs leaders ou aucun pour un même créneau, ce que le protocole doit gérer. Si la source d'aléa peut être influencée, même légèrement, un validateur peut augmenter ses chances. Le poids reste proportionnel à la mise, ce qui avantage les gros détenteurs.
Questions fréquentes sur Sortition
Pourquoi tirer au sort le proposeur d'un bloc ?
Pour que personne ne puisse prévoir ou manipuler qui produira les blocs, ce qui protège contre les attaques ciblées et la concentration du pouvoir.
Un validateur avec plus de tokens est-il choisi plus souvent ?
Oui, dans la plupart des protocoles, la probabilité d'être tiré est proportionnelle à la mise.