Dissocier la création d'identité de la première certification

Je n’avais pas suivi cette discussion fin janvier (j’étais en fin de thèse) mais je me demande aujourd’hui quelle est la pertinence de coupler la création d’identité et la première certification. La certification est soumise à une contrainte de fréquence pour ralentir les attaques Sybil, mais à mon avis on devrait pouvoir créer des identités pour plusieurs personnes sans limite de fréquence.

Dans le scénario que j’imagine, un membre A créerait des identités pour B, C, D rencontrées pendant une rencontre ML et auxquelles il a expliqué le fonctionnement du mnemonic. A peut certifier immédiatement B parce qu’il le connaît suffisamment bien, programmer la certification de C dans cinq jours parce qu’il le connaît suffisamment bien, et dire à D qu’il le certifiera s’il le revoit une autre fois.

De manière générale, je pense qu’on a intérêt à découpler les extrinsics sauf dans le cas où on veut absolument les coupler. On pourra toujours soumettre un batch si on veut grouper des extrinsics.

Ce ne sera de toute façon pas possible, même un découplant la création d’identité de la 1ère certification, car la création d’identité doit de toute façon être limitée pour d’autres raisons, c’est limité par le paramètre IdtyCreationPeriod, qui doit être le plus élevé possible, au moins plusieurs jours je pense.

Cela est du au fait que la création d’identité est “sufficient”, c’est à dire qu’elle suffit à créer le compte sous-jacent sans dépôt d’existence ni frais de création de compte, c’est donc un potentiel de spam du storage gratuit.

Nous avons 2 solutions:

  1. Soit on fait payer la création d’identité au même tarif plus cher que la création de simple portefeuille (car ça demande plus d’items dans le storage) ET on passe les identités en mode “consumer” au lieu de “sufficient”. Ça implique que le compte sous-jacent doit être créé avant l’identité, et qu’il ne peut pas être vidé tant que l’identité existe.
  2. Soit on impose un délai important entre la création de 2 identités.

J’ai choisi la 2ème option, pour minimiser les frais et dépôt pour les comptes membres, mais aussi car la 2ème solution nous protège du spam d’identités non-validées dans les futurs annuaires qui indexeront très probablement toutes les identités, validées ou non.

C’est exactement ce que j’ai déjà dit dans un autre post, je pense et applique ce principe-là dans le cas général :slight_smile:

je pense toutefois que dans le cas particulier de la création d’identité, il est préférable d’y forcer l’association de la 1ère certification pour plusieurs raisons:

  1. C’est plus simple à comprendre pour les utilisateurs, qui connaisse déjà l’acte de certifier, mais qui ne connaissent pas encore cette nouvelle action «créer une identité pour autrui». je trouve que c’est plus simple de dire qu’il n’y a plus besoin de créer son compte membre, c’est juste votre 1er certificateur qui le fait pour vous.
  2. Ça permet de s’assurer que l’utilisateur ne peut créer son compte membre qui s’il a déjà au moins 1 certificateur. Ça me semble extrêmement bénéfique, car trop de nouveaux créer leur compte membre trop vite, et sont déçu/inquiet de la disparition de leur identité non-validées au bout de 2 mois.
  3. Certifier est un acte lourd, donc ça prévient de fait à la création d’identité “à la légère”.
5 Likes

Je ne vois pas bien l’intérêt de créer des identités si on ne peut pas les certifier tout de suite.
Cela me semble plus cohérent de les créer quand on peut les certifier.