Stock de certifications dynamique

Cela dit quand même que tu est plus connue que la moyenne parmi les membres de la monnaie, et un membre plus connu c’est aussi un membre dont l’activité sera plus observée. Un attaquant doit être discret s’il souhaite réussir son attaque, attaquer avec un compte disposant de beaucoup de certifications est une très mauvaise idée, outre d’être difficile.
Qui plus les complices eux auront peut de certifications. Et comme je l’ai déjà dit le stock des initiateurs de l’attaque à un poids négligeable car ils n’alimentent que la 1ère couche.

Le fait qu’une fonction soit nulle en zéro et strictement positive en [1;+inf[ n’implique nullement qu’elle soit croissante, bien au contraire…

Non tu peut théoriquement avoir une qualité maximale (=1,25) avec un seul lien et avoir une qualité minimale (=0) avec des centaines de liens.
la qualité est fonction de la distance des référents, cela ne dépend pas du nombre de liens mais de leur nature, donc de la forme de la toile.

J’ai donc observé ce qu’il en est dans le cas actuellement mesurable de la Ğ1, on observe effectivement une croissance de la borne inférieure de l’intervalle des qualités, mais la borne supérieure diminue aussi ! Tout ce que l’on peut en conclure c’est qu’un membre ayant reçu beaucoup de certification aura plus de chance d’avoir une bonne qualité, mais 1 seule certification suffit a avoir une très bonne qualité, et donc les membres ayant beaucoup de certifications ne sont pas spécifiquement plus dangereux (pour ce qui est d’initier une attaque sybil) :


Tableur des données : qualite-fonction-de-certifs-recus.ods (41.0 KB)

C’est pourtant la meilleure idée que j’ai jamais entendu contre les attaques sybil, puisque la propriété d’un faux compte sybil intermédiaire c’est justement d’avoir reçu peut de liens pour maximiser son levier, une telle règle forcerai les régions sybil a être très dense donc exponentiellement plus petites, c’est au contraire en plein au cœur de la cible du sujet !

1 Like

En l’occurrence, le fait d’ajouter des certifications ne va pas diminuer la qualité. Donc la fonction est bel et bien strictement croissante.

Ensuite je ne faisais que donner un contre-exemple à ton affirmation “la qualité n’a aucun rapport avec le nombre de certifications reçues”. Tu vois bien que c’est totalement faux avec les nombres 0 et 1, et a fortiori avec tout autre nombre. Plus on ajoute de liens, plus la qualité augmente.

Encore une fois, ce n’est pas ce que j’ai dit. Je comprends très bien que je peux faire un Yam en un seul lancé, tout comme je peux n’en faire aucun malgré 3, 5, 10, 100 lancés. Mais d’expérience, je sais que plus je réalise de lancés et plus j’ai de chances d’en réaliser un.

Et une chose que je peux affirmer de façon absolue, c’est que si je n’effectue aucun lancé, il est impossible de faire ce Yam, s’agissant d’un résultat de lancé de dés.

Donc dire que la qualité ne dépend pas du nombre de liens mais de leur nature, c’est faux.

Edit : ah bah tu vois bien ! Tu viens d’en faire la courbe …

Donc dire que la réalisation d’un Yam ne dépend pas du nombre de lancé mais de la face exposée des dés (leur nature), c’est faux :thinking:

Le nombre de certifications ou de lancé ne fait qu’augmenter une probabilité d’obtenir un résultat, mais ce n’est pas de cela que dépend le résultat.

De plus, l’énorme largeur de l’intervalle de qualité sur mon graphe montre bien que la qualité ne dépend pas spécifiquement du nombre de liens, nous aurions un graphe de répartition bien différent si c’était le cas.

Et pourtant statistiquement c’est parfois le cas, comme le montre la décroissante de la borne supérieure de l’intervalle des qualités. En revanche il est vrai que ce ne sera jamais le cas pour un membre donné.

Bon selon moi tu racontes n’importe quoi, mais je ne vais pas me battre outre mesure, surtout que j’ai le fort sentiment d’être pris pour un imbécile.

Ce n’est pas une bataille, nous essayons d’approfondir et de comprendre les mécanismes poussés de la wot pour l’optimisée :slight_smile:
C’est dommage que tu soit sur la défensive, en tout cas cette posture ne t’aidera pas à penser sereinement… lâche-prise, fait autre chose, tu te repenchera sur ces points a tête reposée :wink:

2 Likes

C’est hors-sujet. Je pense tout à fait correctement quand je réponds à cette proposition :

Oui, c’est faux. La preuve est que si tu ne fais aucun lancé, tu es absolument certain de ne faire aucun Yam.

Le fait qu’ensuite la nature du lancé influe grandement sur le résultat final est autre chose. Ce que j’ai dit depuis le début, que j’affirme et que tu t’entêtes à ne pas reconnaître est : « plus tu reçois de certifications, plus ta qualité augmente ». Tu as d’ailleurs tracé le graphe qui va totalement dans ce sens, la courbe rouge inférieure ne fait que croître.

À aucun moment je n’ai dit « celui qui a le plus de certifications a la qualité la plus élevée », mais bien : « plus on a de liens et plus la qualité est grande ».

Et donc, comme je n’ai aucun doute que tu vas finir par me dire « oui, c’est vrai », je dis donc qu’avoir le stock en fonction des certifications reçues c’est donner un double avantage à se faire certifier : réduire sa distance et augmenter son stock, conditions qui favorisent une éventuelle attaque.

Raison pour laquelle je ne suis pas pour cette partie countReceivedSigUser(t) dans l’équation.

1 Like

Dire que l’on n’a pas de résultat sans faire d’expérience n’implique pas que le résultat dépende du nombre de répétitions de l’expérience.
Bref, nous dérivons ici sur un hors-sujet, mais je crois que l’on ne peut pas se comprendre car nous n’avons pas du tout la même interprétation sur la nature des probabilités. De mon point de vue les probabilités ne sont qu’une conséquence et pas une cause, sous cet angle il est faux de dire qu’un résultat dépend de nombre d’essais, le résultat dépend uniquement des conditions initiales, et le nombre d’essais ne correspond en fait qu’a une variation de ses conditions initiales.

Donc non je t’assure que je ne te prend pas pour un imbécile, j’ai sincèrement une interprétation différente de la tienne :slight_smile:

Pour revenir au sujet, qui est la protection contre les attaques sybil, j’ai déjà signalé plus haut que le stock des initiateurs de l’attaque à un poids négligeable sur la taille finale de la région sybil.
Qui plus est, grâce au terme countReceivedSigUser(t) justement, la taille max des régions sybil est exponentiellement réduite, a coté l’effet de la qualité des initiateurs est totalement négligeable…
Il est donc hors-sujet d’insister sur cet effet dérisoire, qui de plus n’est pas spécifiquement renforcé par la présence du dit terme, c’est donc doublement hors–sujet.

Je rappelle la formule de calcul de la taille max d’une région sybil :
sybilAreaSize = (stockAttackers-sigQty) * [ (1-L^depth) / (1-L) ]

Avec L levier Stock/sigQty et depth profondeur max de la région sybil.

Gràçe au terme countReceivedSigUser(t) le levier L des comptes sybil intermédiaires est très fortement restreint !
En effet le levier d’un compte sybil est : nbCertÉmises/nbCertifsReçus par ce compte sybil, de fait si l’on augmente le nombre de certifs reçus on diminue le levier, donc les comtes sybil ont tout intérêts a recevoir le moins de certifications possibles, mais elles doivent en recevoir pour en obtenir, seulement ce n’est pas intéressant, car si l’on ajoute un entier n a chaque terme du quotient alors celui ci ne fera que diminuer, et c’est là tout le génie de cette idée que j’ai capter tout de suite dans la proposition d’Alan, peut-être d’ailleurs est ce a cela qu’il pensait ?

Avant de rejeter en bloc une idée la moindre des choses est de l’étudiée…
je suis assez déçu par les vives réactions de @cgeek, qui empêchent de réfléchir sereinement sur le sujet, et qui refroidissent les autres contributeurs qui du coup ne participent plus.
Alors qu’un sujet si important mériterait au contraire que le plus grand nombre s’y penchent, mais pour cela il faut faire preuve d’ouverture d’esprit et de respect afin que les réflexions puissent librement se faire :slight_smile:

Pour info j’ai modifier les milestones des issues correspondantes aux propositions de modification du protocole wot à Horizon.

Je pense qu’il convient de nous laisser le temps d’approfondir les différentes propositions et qu’il est donc plus sage de conserver le protocole actuel en attendant. Modifier les règles de la wot est un acte lourd de conséquences, cela ne peut pas être fait a la hâte, d’autant qu’il conviendra si nous le faisons d’en informer tout les membres de la monnaie via un message sur les clients (donc il faut le temps que les dev des clients réagissent) pointant par exemple vers un article du blog duniter ou nous expliquerions quel sont les changements et pourquoi ces changements.

Nous donner le temps nous permettra en outre, d’approfondir sereinement les réflexions sur le forum afin de prendre la décision la plus optimale possible :slight_smile:

1 Like

Désolé pour la latence, j’étais en vadrouille.

@elois le “-5” est dans l’idée que le premier mois, si on n’a que 5 certifications, on ne peut certifier personne. Dès le deuxième mois on pourra certifier quelqu’un. C’est peut-être drastique, je n’y ai pas réfléchi.

Quant à savoir si restreindre le stock de certifications diminue les attaques sybil, je n’en ai aucune idée. J’ai l’impression qu’un attaquant nouveau aura plus de mal à s’installer dans la toile si le nombre de certifications auquel il a accès est limité.

Je passe sur les remarques ad hominem qui me déplaisent, sinon je ne vais pas y arriver.

Voici plutôt une démonstration qu’il existe bien un rapport clair entre nombre de certifications reçues et qualité :

  • soit une toile composée de N membres, N > 1, contenant un moins 1 référent R et de paramètre xpercent = 80%
  • soit un individu I de cette toile

Si je prends successivement tout membre m de 1 à N, alors chaque certification C de m vers I vient accumuler une chance supplémentaire de créer un chemin de R vers I.

De plus la qualité étant définie comme le rapport du taux de référents tauxReferents atteints et de xpercent, la fonction est donc :

qualité(I,nbCertifications) = tauxReferents(I,nbCertifications) / 0,8

Or tauxReferents(I,n) est bien une fonction monotone croissante puisque l’ajout d’une certification ne fait jamais baisser le taux de référents atteints, et qu’il existe la propriété tauxReferents(I,0) = 0 et tauxReferents(I,N) = 1 montrant qu’elle est croissante sur [0 ; N].

De sorte qu’un individu non certifié possède une qualité 0 / 0,8 = 0, tandis qu’un individu certifié par toute la toile a nécessairement la qualité maximale = 1 / 0,8 = 1,25. Et donc qu’il existe bien un rapport très étroit entre nombre de certifications reçues et qualité.

2 Likes

Je ne maîtrise pas tous les concepts, mais j’ai l’impression qu’il y a une faille dans ce raisonnement. Ajouter une certification ne peut pas supprimer un chemin d’un référent, et cela peut créer un nouveau chemin depuis un référent. Ces deux cas augmentent la qualité. Mais il y a une troisième possibilité : une certification peut créer un nouveau référent, et dans ce cas la qualité diminue. Je me trompe ?

Non tu as tout à fait raison, toutefois je l’inclus alors dans N. Donc la qualité augmente dans ce cas précis.

OK, je pense avoir compris. Ce que j’avais raté est « la qualité est monotone dans le nombre de certifications reçues » (oui, c’était écrit, je l’ai juste raté). Si une certification reçue crée un référent, c’est parce que celui qui l’a émise est devenu référent, et il est à distance 1. Soit nR le nombre de référents atteignables, et NR le nombre total. On passe donc d’un taux nR/NR à (nR+1)/(NR+1). Comme nR est plus petit que NR, cela veut dire que le taux augmente.

(Preuve pour me convaincre moi-même : (nR + 1) * NR - (NR + 1) * nR = NR - nR qui est positif.)

3 Likes

Pas que toi, je n’aurais pas pensé à cette démonstration.

1 Like