problèmes des identités multiples / service de détection des fraudes

C’est surtout que les critères ne sont pas les mêmes selon la taille visée :slight_smile: Pour quelques dizaines de personnes, une règle type “chaque membre doit être signé par 2/3 de tous les membres” suffit amplement.

Là, nous visons des toiles de quelques dizaines, voir centaines de milliers de membres, soit la population de grandes villes métropolitaines en France. Rien d’impossible : intuitivement, on voit bien que tout le monde se connaît plus ou moins sans le savoir, une distance de 3 personnes étant un circuit finalement assez court.

Comme je le disais un peu plus tôt, j’avais déjà imaginé d’ajouter un critère de diversité des signatures. Concrètement : la diversité reçue, pour un individu à reconnaître, dépendrait du nombre de signatures déjà émises (et non expirées) de ses signataires. La diversité reçue par signataire étant inversement proportionnelle au nombre de signatures émises globalement par celui-ici.

Et bien sûr, pour qu’un individu soit reconnu, il devrait justifier de suffisamment de diversité.

Cela mènerait à donner beaucoup de poids à ceux qui signent peu, et beaucoup moins à ceux qui signent beaucoup de membres.

Le critère de diversité est effectivement intéressant, même si donner moins de poids à ceux qui signent beaucoup de membres, là aussi c’est limiter l’expansion “naturelle” du réseau en limitant le poids des membres qui seraient susceptibles d’amener de nouvelles têtes.
Mais … à tester en pratique :slight_smile:

J’ai trouvé ce papier intéressant qui me semble lié à la construction d’une toile de reconnaissance.

"Possibilities and Limitations of Modeling Trust and Reputation"
http://ceur-ws.org/Vol-332/paper6.pdf

1 Like

J’aimerais comprendre comment se tisse la toile de reconnaissance.
D’aprés ce que je comprends, elle s’étend de manière organique depuis le premier membre (ou le premier état de la toile) de blocs en blocs, en déterminant les nouveaux entrants.

La notion de distance m’échappe. Comment on obtient le niveau max et depuis quel point exactement se calcule la distance ?

Imaginons l’état suivant : ici tout va bien puisque tous les membres sont à 3 liens maximum les uns des autres.

Mais si B donne sa reconnaissance à un individu E, il va se retrouver à 4 liens de D.
Il ne pourra donc pas rejoindre la toile ? Est ce bien cela ?

Et du coup si B avait donné sa reconnaissance à E avant que C ne donne sa reconnaissance à D, E aurait rejoint la toile mais D ne pourrait pas la rejoindre ?

1 Like

Oui c’est ce que je comprends aussi.
Pour que E soit accepté, il faudrait qu’il y ait un chemin plus court, par exemple si B et C ont un lien, alors le plus court chemin entre D et E devient 3 au lieu de 4 et E est accepté.

Merci pour l’article (pas encore lu)
Autres lectures sur l’analyse de graphe pour détecter les sybils (pas encore lus non plus) :
http://advogato.org/trust-metric.html
http://www.math.cmu.edu/~adf/research/SybilGuard.pdf

3 Likes

Merci, il y a également ce document, je l’ai rapidement survolé, mais il m’a l’air de répondre à certaines de nos questions : http://ilpubs.stanford.edu:8090/675/1/2005-11.pdf

1 Like

A noter également : la reconnaissance à un sens (orientation), qui est de la toile vers l’identité à reconnaître. C’est bien de l’unidirectionnel. En revanche, le processus de reconnaissance est à renouveler pour chaque membre de la toile selon une fréquence à définir.

Ainsi, si C est bien membre reconnaissant les nouveaux venus, il devra aussi subir ce processus par les nouveaux venus quelques temps plus tard.

Bonsoir à tous,

De même que greyzlii, je trouve que la TDM, ucoin, et openUDC sont autant de chose fabuleuses à développer. Je me suis fait remarquer il y a quelques temps sur le google groupe d’openUDC, j’avais critiqué (un peu vite) les choix de conception du protocole ou plutôt les explications qui en étaient données. Pour ajouter mon grain de sel à propos de la toile de confiance. On peux imaginer un graphe orienté pondéré dans lequel la somme des valeurs absolues des poids des arrêtes issues d’un même noeud est constante. Cela reviendrait à dire qu’un individu dispose d’un budget de confiance et de méfiance constant qu’il peut choisir de répartir entre les autres individus de la toile. Reste à déterminer une “confiance” entre deux noeuds fonction des chemins pondérés les reliants. Cependant, je pense qu’affecter un budget constant est trop naif. Par exemple, toute personne peut créer un réseau d’individus fictifs qui se fait mutuellement confiance. Certes les chemins menant d’un individu honnête à ce réseau d’individus fictifs doivent emprunter le noeud de l’individu malhonnête : une caractéristique que la fonction “confiance” peut facilement pénaliser. Mais si plusieurs individus malhonnêtes s’associent pour créer le réseaux d’individus fictifs, c’est beaucoup plus délicat. Bref, il faut creuser la question (mais avant ça dodo !;)).

Après avoir lu plus en détails le document de @greyzlii, plus nos quelques échanges à tous et en lien avec ce que tu dis @idkwptc (si tu veux changer de pseudo, t’as le droit :slight_smile: ) vis-à-vis d’association d’individus fictifs, j’ai de plus en plus le sentiment que l’on se trouve dans un système assez légitimement inertiel. Pour ne pas dire très inertiel (je ne sais pas si ça a un sens).

Finalement, on parle bien d’humains voulant s’associer pour faire communauté. Il me paraît assez logique qu’un membre présent depuis 1 mois et un autre présent depuis 10 ans puissent ne pas avoir la même capacité à faire reconnaître de nouveaux entrants. On n’est pas juste des individus(t), mais bien des individus(0), puis (1), (2), etc, tout comme dans la TRM l’individu est considéré sur sa demie-vie pour assurer la symétrie, pas juste à l’instant t.

Bref, si un système de toile de reconnaissance doit voir le jour, donner plus de droits de reconnaissance en fonction du temps d’appartenance à la toile ne me paraît pas dénué de sens. Ainsi, les contraintes liées au renouvellement des signatures peuvent s’appliquer plusieurs fois avant même que les nouveaux membres puissent en faire entrer d’autres, rendant d’autant plus difficile la Sybil-Attack. Sans compter que le temps de déroulement de l’attaque en devient lent (ça, c’est cool).

Cela ressemble beaucoup à ce qui expliqué en B) dans le document de @greyzlii, où une acceptation itérative est appliquée.

Bon, voilà à chaud, il me reste encore des documents à lire :slight_smile:

Pour poursuivre ma description d’hier, avec un système semblable (graphe orienté pondéré à sommet de capacité constante), pour détecter un noeud douteux à partir d’un autre noeud, il suffit de considérer la coupe minimale (évidemment, si on ne modifie pas la valeur des capacités des arrêtes, la coupe minimale se situra à proximité des deux noeuds, il faut appliquer un facteur décroissant de manière exponentielle à la distance (aux deux noeuds) de l’arrête considérée). Pour le versement du dividende universel, on pourrait calculer la confiance moyenne de chaque noeud vis à vis des 1000 personnes les mieux reliées à l’ensemble de la toile (algorithme de calcul à déterminer) si cette moyenne ne dépasse pas un certain seuil, le dividende n’est pas versé. Finalement, je pense qu’un système similaire pourrait être assez robuste. (pour une majorité d’honnêtes gens :stuck_out_tongue: )

edit(nb) : la base de l’exponentielle serait quelque chose comme l’arité moyenne du graphe (pour que le système soit juste).

C’est un questionnement que j’ai déjà eu il y a quelque temps avec des personnes interessé par le sujet à savoir si un membre existant doit pouvoir avoir plus de poids que les autres mais là où je voyais un problème avec un tel schéma c’est le risque qu’un des membres décède tôt. Est ce que ton resonement fonctionne toujours dans ce cas de figure ?

@canercandan : Comment cela ? Si tu parles du fait que ses liens disparaissent avec sa mort, justement non, on les conserverait : les liens ont une validité qui dépend uniquement du temps. Sinon, je veux bien que tu précises stp.

@idkwptc : peut-être devrais-tu lire le document mis en lien par @greyzlii, qui décrit en partie ce que tu proposes, mais distingues également les types de confiance (fonctionnelle, recommandation) et décrit des systèmes de réputation. Car avant de partir dans des considérations de confiance, autant s’assurer que c’est bien ça que l’on veut ! (je n’en suis pas certain ;))

@cgeek Merci je vais lire ça ! Disons qu’on souhaite être confiant que la personne associée à la clé publique existe.

Un autre papier qui me semble intéressant décrit différents scénarios de défense contre les attaques Sybil. 4 algorithmes sont décrits et testés. Je me penche dessus.

http://www.mpi-sws.org/~gummadi/papers/comm318g.pdf

It seems to be an excellent paper for us :slight_smile: thanks!

J’ai lu le document et également celui ci :
http://syssec.kaist.ac.kr/~yongdaek/doc/simplex.pdf
"Understanding Social Networks Properties for Trustworthy Computing"

Mon sentiment est que les algorithmes de détection de Sybils sont adaptés pour des graphs qui ont tendance à s’étendre. Or si on configure maxhop à 3, cela me semble complètement inutile puisque l’on va se retrouver avec un WoT trés condensé et homogène.

J’aurais tendance à penser qu’il faudrait plutôt miser sur les membres du WoT pour se protéger des Sybils.
On pourrait par exemple inciter les membres à multiplier le nombre de connexions avec les membres reconnus, en redistribuant une partie des fees aux utilisateurs étant les plus “reconnus”.

Les Sybils auront beaucoup de mal à être reconnus de manière massive. Il est probable qu’ils auront un degré de connectivité faible par rapport à des membres valides.

En affichant publiquement les membres ayant le moins de connectivité, on peut inciter les membres à vérifier qui a certifié ces membres avec peu de connectivité et vérifier si il y a bien une identité réelle derrière ces membres.

Qu’en pensez vous ?

On ne peut pas dire que n’apportes pas d’eau au moulin :smiley:

Bon, à lire, parmi tant d’autres :slight_smile:

Oui mais non, car ce faisant, on détournerai la fonction “reconnaître” en “gagner des sous”.

Enfin bon, faut vraiment que je lise tes documents sinon ça devient compliqué de te répondre !

C’est plutôt “être reconnu”. Mais tu as raison, c’est pas une bonne chose d’inciter les gens à être vénaux.
Mais pourquoi pas donner un statut symbolique aux membres.
Par exemple : Gold, Silver … Suspect

En bref, l’idée c’est d’utiliser la carotte et le baton.
Autrement dit, inciter les bons comportement et décourager les comportements nuisibles.

Ce n’est pas mes documents. Je serais bien incapable d’en faire un comme ça.
Mais les deux derniers me semble les plus intéressants.
Le dernier décrit les propriétés des graph de type social Network (mixing time, graph expansion, etc…) Ces notions sont très importantes puisque qu’elles sont à la base des défenses contre les Sybil Attacks.

Il y a quatre algos (je n’en ai pas trouvé d’autres lors de mes recherches) principaux pour détecter les Sybil attack. Mais ils sont adaptés pour prévenir l’apparition de Sybils qui se “reconnaissent” entre eux.
Avec un paramètre maxhop j’ai du mal à comprendre comment ça peut apparaître.

C’est pourquoi, j’essaye de trouver d’autre voies à explorer.
Par exemple, le principe du WoT c’est qu’on délègue aux membres le pouvoir de donner leur confiance, on décentralise la confiance.
Si on considère que la confiance n’exclue pas le contrôle, on peut tenter de trouver un moyen de déléguer aux membres le contrôle, autrement dit décentraliser le contrôle.

Plus facile à dire qu’à faire… C’est possible que dans les prochains jours, je propose des idées farfelues. :slight_smile:

Il faudrait que je prenne le temps de lire ces papiers aussi. Je pense que la conception de la WoT est probablement le plus important et le plus difficile aussi et je ne suis pas convaincu par l’approche de @cgeek (je n’ai pas étudié la question suffisement pour emettre une critique construite mais il me semble qu’un réseau aussi dense que tu l’imagine avec l’expiration des signatures n’est pas “scalable” ni même forcément sûr). @greyzlii : J’attends avec impatience tes proposition. :wink:

J’avais l’idée de lier directement les liens de confiance aux transactions effectués. Par exemple si A reçoit de l’argent de B, si le lien de confiance de B vers A se renforce et le lien de A vers B s’affaiblit car il y a un risque de corruption…Mais c’était juste une idée comme ça, il faudrait vraiment être plus rigoureux.

De mon point de vue, les communautés n’ont pas besoin de s’étendre.
Il est peut être plus judicieux d’avoir de nombreuses communautés/devises très soudées.
Cependant, il est important de leur mettre à disposition une plateforme d’échange décentralisée.
(Afin d’échanger les devises entre communautés).

Il y a un certain jl777 qui fait parler de lui dans la communauté NXT avec cette idée.
Il est en train de créer un “supernet” http://supernet.org/
A suivre de prés je pense.

1 Like