Rebonjour à tous,
Je n’arrive pas à trouver cette information, cruciale pour la scalabilité du réseau G1 en se projetant à un niveau national :
lorsque l’algorithme “round-robin” est actif (tout le temps en boucle ?) et qu’il parcourt les noeuds validateurs un par un, combien de temps cela prend-il environ pour passer sur 1 seul noeud ? 1 seconde, 1 minute ? Edit : c’est une sélection de validateur aléatoire toutes les 6 secondes
pour faire un tour complet sur les (4000 ? Edit : 20 à 200 ?) noeuds, quel ordre de grandeur de temps environ ? Y a-t-il un risque de lenteur ou saturation du réseau avec beaucoup de validateurs ?
Merci d’avance pour vos réponses indulgentes !
Pierre
Par simple curiosité avant qu’on te réponde sur le système de consensus de v2s, d’où tiens tu ce chiffre?
Pour dissiper un premier mal entendu, Duniter n’est pas un jeton reposant sur le réseau Polkadot ni Kusama. Ces dernier ne disposant d’ailleurs respectivement que de 300 et 900 validateurs. Nous en auront beaucoup moins au lancement de v2s.
BABE n’utilise le round robin qu’en cas d’échec de la VRF à sélectionner un noeud primaire, qui tire au sort un validateur toutes les 6 secondes quelque soit la taille du set online de la toile forgeron.
Il se peut que ce set soit regroupé par groupe au delà d’un certain nombre, je ne maitrise pas ce point.
Ok merci je n’avais pas non plus le bon algo, j’édite le topic OK donc cette méthode est peu sensible au nombre de validateurs, même s’ils étaient 10 000 j’imagine ?
Intéressé par ailleurs à devenir validateur si cela est possible (identité civile à fournir obligatoirement ?) et que j’arrive à trouver le temps en 2025 !
Duniter V1 utilise la preuve de travail personnalisée donc c’est une sorte de tirage au sort à délai variable (moyenne 5 minutes). Le tiers exclu en fenêtre glissante assure une sorte de round-robin inversé (ceux qui n’ont plus le droit d’écrire tournent périodiquement).
Duniter V2 utilise une VRF, fonction aléatoire déterminée par la blockchain de sorte à être vérifiable publiquement mais non influençable. Elle tire au sort un validateur à chaque bloc (fixé toutes les 6 secondes).
Il se peut qu’un validateur ne soit jamais sélectionné pendant un temps assez long, mais c’est peu probable. Si un validateur n’est jamais sélectionné (ou est sélectionné mais n’écrit rien) pendant une période BABE (1 heure), il est considéré hors-ligne et doit se réinscrire manuellement pour pouvoir réécrire à nouveau (afin d’éviter qu’il soit sélectionné en n’écrivant rien, ce qui fait manquer un bloc à tout le monde).
Il y a un nombre max de validateur par période BABE (32 actuellement, on pourra augmenter à la migration) mais en test on n’y est jamais arrivé. Il me semble (à tester) qu’en cas de dépassement, à chaque période un sous-ensemble des validateurs est choisi aléatoirement.