Il y a en effet un problème dans le vocabulaire choisi par elois, il y a certaines choses qui s’appelle “Period” et d’autres qui s’appellent “Validity”. Dans le code MembershipPeriod
est défini comme la durée de validité d’une adhésion :
/// Maximum life span of a non-renewable membership (in number of blocks)
type MembershipPeriod: Get<Self::BlockNumber>;
Pour moi il y a deux types de limitations en fréquence :
- celles qui ont un sens du point de vue des règles, comme le délai entre deux certifications (nouvelle ou renouvellement)
- celles qui n’ont pas de sens comme le délai entre deux renouvellements d’adhésion
Pour le calcul de la règle de distance qu’on sait coûteuse en calcul, on veut se protéger d’un spam parce qu’on veut éviter que certaines personnes s’accaparent la capacité de calcul de la blockchain. Mais donc ça revient à la question de comment on partage une ressource commune (Comment partager équitablement cette ressource commune qu'est la blockchain Ğ1?).
Même raisonnement pour un certificateur de certificateur. Si qqun atteint 80% de la toile à 3 pas, chacune de ses certifications suffit au certifié pour atteindre 80% de la toile à 4 pas et donc à 5 pas pour les personnes qu’il certifie. Donc si on veut coller au plus juste, il faut recalculer l’ensemble des distances des “dossiers en cours” à chaque nouvelle certification. D’où l’idée de trouver un intermédiaire qui soit réaliste du point de vue du calcul demandé à la blockchain.
Ce serait dommage d’infliger ça aux membres qui souhaitent rentrer et n’ont pas encore de DU ni de bonne compréhension. D’où ma proposition qui a le mérite de simplifier : si aucun des 5 certificateurs n’a fait l’effort d’expliquer la règle de distance et d’utiliser les simulateurs disponibles pour l’anticiper, alors une certification supplémentaire serait de toute façon bienvenue.
Ou alors on autorise de faire réévaluer la règle de distance par quelqu’un d’autre, moyennant un frais important.
Je n’ai pas de solution idéale en tête mais je pense qu’on s’approche de proposition faciles à implémenter et raisonablement satisfaisantes