Système alternatif pour la toile de confiance

Je pense que la toile de confiance pose plusieurs problèmes, en particulier :

  1. Difficultés pour faire partie de la tdc si on est loin.
  2. Possibilité d’attaque sybil dès que 5 membres malhonnêtes arrivent à se réunir (certes des attaques sybil limités, mais ça reste un gros problème).
  3. Possibilité de créer plusieurs faux comptes membres assez facilement quand la toile sera grande, en prenant contacte avec différents membres pour chaque compte.

La difficulté est de faire en sorte d’avoir un compte membre unique par personne réelle, or comment identifier une personne de manière unique quand :

  • Elle peut avoir plusieurs numéros de téléphones, ou aucun.
  • Il peut y avoir plusieurs personnes à la même adresse. Et une seule personne peut avoir plusieurs adresses (ou se débrouiller pour faire comme si).
  • C’est particulièrement difficile de vérifier qu’elle n’est pas déjà membre grâce à son visage, en particulier si elle se déguise un peu. Et dans l’autre sens, certaines personnes se ressemblent beaucoup, voir sont jumelles.

On pourrait imaginer de combiner plusieurs systèmes d’identifications ensembles, mais ça ne multiplierait pas plus la difficulté pour les fraudeurs, que pour tous les autres, et il faudrait réussir à se mettre d’accord sur ces systèmes d’identifications, qui sont pour la plupart plus ou moins arbitraires et utilisent un système centralisé déjà en place (généralement l’état).

La question fondamentale est : "qu’est ce qu’une personne ne peut pas faire en double ?"
Or il me semble qu’une des seules choses qu’une personne ne peut pas faire en double, c’est de prouver qu’elle est belle et bien une personne, selon deux tests différents, se déroulant au même moment.

À partir de cette idée, voilà la proposition que j’ai mis en place (qui peut sans doute être grandement amélioré):

On part d’un groupe de membres dont on est relativement sûr de l’identité.
On place 5 “réunions”, à des heures précises dans le mois (des jours différents et horaires différents).
Chaque membre “doit” être présent au moins à une de ces réunions.
Les non-membres peuvent aussi participer aux réunions
Pour chaque réunion, on prend toutes les personnes qui y participent, et on sélectionne des couples de personnes aléatoirement (avec un membre au minimum par couple).
Chaque personne dans un couple participe à une visio, où ils doivent se prouver qu’ils sont de vraie personne. Cette visio doit obligatoirement inclure l’heure précise de la réunion dans sa durée.
À la fin de la réunion, les personnes y ayant participé certifie que l’autre y a bien participé.

Toutes les personnes ayant été certifiés à une des réunions, sont considérés comme différentes de toutes les autres y ayant participé.
Quand un non-membre est considéré différent de tous les autres membres, il devient membre.

Si un membre X n’a participé à aucune réunion dans le mois, et que ça bloque des non-membres pour devenir membre (car on ne peut pas certifié qu’ils sont une autre personne que ce membre X), alors X perd le statut membre, permettant ainsi aux non-membres bloqués de devenir membres.
Il faudra que X prouve qu’il n’est pas un des non-membres devenus membres, en participant à une réunion aux mêmes moment que chacun d’entre eux, pour redevenir membre.

Ce système permet :

  • De s’assurer de manière forte que chaque membre est différent de chacun des autres membres.
  • À n’importe qu’elle non-membre de devenir membre en participant aux 5 réunions du mois.
  • Aux personnes qui sont presque membre, ou qui ont perdu leur statut de membre, de redevenir membre potentiellement plus facilement. (car ils sont déjà certifié être différent de la plupart des autres membres)
  • De rendre les attaques sybils quasiment impossible, en effet il faut à chaque fois qu’on veut créer un faux membre, tomber sur un complice lors de la création du couple aléatoire, et cela 5 fois de suite.

Vous en pensez quoi ?

1 « J'aime »

Salut!
Tu n’es pas le premier (ni le dernier) à proposer cela. C’est décidément un sujet qui use des claviers et des pixels. :smiley:

Il y a pléthore de discussions sur ce forum à ce propos. « Un peu » de lecture :

Pour répondre rapidement à tes interrogations :

Avec l’agrandissement progressif de la toile, ce problème va diminuer au fil du temps.

Ce n’est pas aussi simple que tu le penses. La lecture des sujets au-dessus devrait répondre à cette question.

Lorsque la toile aura grandi, les gens ne certifieront que des personnes qu’ils connaissent dans la vie de tous les jours. Difficile alors de tricher. Là encore, la lecture des sujets devrait t’apporter des réponses.

Le système par rencontres vidéos aléatoires a un énorme inconvénient à mon avis : il impose de se rendre disponible pour des visioconférences (pas forcément accessibles à tous, de surcroît).

2 « J'aime »

Ça reste difficile dans ton système, et ce sera de plus en plus simple a mesure que la wot grandira, donc ce n’est pas un problème, au contraire l’inertie de la wot nous permet coté dev d’avoir le temps de gérer progressivement la montée en charge donc ça nous arrange :slight_smile:

Pas si gros que ça en fait vu les nombreuses protections mises en place, je t’invite a lire ce que j’ai écris ça et là a ce sujet.

Plus la toile sera grande plus la fraude d’un même nombre d’individu pèsera peu sur la monnaie, donc al encore ce n’est pas un problème :wink:

Dans la pratique, ce que tu propose est beaucoup trop compliqué et infaisable, je suis bien placé pour le savoir en tant que créateur de mon groupe local, c’est extrêmement difficile de mobiliser les gens, même lorsqu’il sont convaincus par le concept, alors réussir a les faire se rendre dispo au même moment, même en restant chez eux, c’est infiniment plus compliqué que le système existant en fait !

Qui atteste que X à participer ou n’a pas participer a telle ou telle réunion ?

Ce que tu ne semble pas percevoir, c’est que in finé, tout constat doit être acté en blockchain et que cet acte est toujours le fruit d’une action humaine quelque part, action humaine qui est donc assimilable a une forme de certification. Ton système c’est donc comme une WoT, mais en beaucoup plus compliqué pour les utilisateurs, ainsi que considérablement plus compliqué a coder niveau protocole blockchain (voir impossible).

En conclusion je pense qu’il faut avoir en tête le concept du Rasoir d’Ockham :

Puisque tout processus d’identification des humains passe nécessairement par une validation humaine a un moment ou a un autre, le plus efficient reste la validation humaine directement : c’est le concept même de certification, CQFD.

2 « J'aime »

Et ben vous avez été rapide !

J’en avais loupé plusieurs apparemment, j’ai encore de la lecture ^^

On est d’accord, mais je pense que ça va rester un problème pendant beaucoup de temps, surtout si on augmente le niveau de connaissance qu’on attend entre les personnes pour les certifications.

J’en ai au moins lu une partie, mais le fait qu’une seule attaque sybil ne fasse pas s’écrouler le système entièrement, ne me semble pas une protection suffisante.
Là, dès que 5 personnes qui se connaissent se mettent d’accord pour frauder, ils peuvent créer pleins de nouveaux comptes (même si il y a une limite).
C’est la partie qui me semble le plus problématique, quand on pense que l’idée que certains le font, peut induire un sentiment d’injustice et pousser d’autres groupes de personnes à le faire.

Ça ne règle pas réellement le problème je pense, car par exemple il y a pleins de personnes qui me connaissent dans la vie de tout les jours, mais qui ne se connaissent pas entre elles.
Et même dans le cas contraire, il faudrait que mes connaissances se demandent entre elles, si elles ne m’ont pas déjà certifié. (et donc qu’elles fassent ça pour chaque personne qu’elles veulent certifier)

C’est vrai que c’est le gros point noir de mon système, mais je pense que ça serait beaucoup moins dure que pour d’autres types de mobilisations parce que :

  • Ça peut se faire à distance et ne demander que 5 mins par mois.
  • Il y a 5 réunions dans le mois, et il suffit de trouver le moment de participer à une seule d’entre elles.

Et pour les non-membres, je pense que ça reste moins contraignant que de se déplacer parfois loin, et faire connaissance avec les gens.

La personne qui atteste de la présence d’une autre, c’est celle qui a été sélectionné pour.
Chaque couple de personnes se certifient mutuellement, en signant la présence de l’autre dans la block-chain.
Si un couple n’a pas de certification pour une réunion, alors les personnes du couple sont considéré comme absente.

La certification est bien humaine dans mon système, mais d’un autre type, je remplace la nécessité de bien connaitre l’autre personne, par la nécessité de vérifier que c’est bien une personne, à un moment donné.

Autre point : les systèmes de visioconférence en direct vont être de plus en plus mise à mal avec l’AI.

On va vivre dans un monde où tout ce qui est perçu par nos sens à travers le prisme numérique sera de plus en plus difficile sujet à illusions… D’où l’intéret là encore de se concentrer sur la réalité physique de l’existence humaine pour les certifications.

8 « J'aime »

Mais ce système, même si il était amélioré, ne permet pas de contrer le système que j’ai proposé :slight_smile:
Car ça ne se base pas sur le visage que la personne a , mais sur le fait qu’elle ne peut pas avoir deux discussions complètement différente à la fois.
Pour contrer ce système, il faudrait carrément une AGI, de mon point de vue.

AGI ?

Avec cette technologie 2 personnes peuvent se faire passer pour la même personne, avec la même voix et même apparence. Cette personne commune à donc “deux discussions complètement différente à la fois”.

Une intelligence artificiel générale. (artificial general intelligence en anglais)

Mais c’est bien 2 personnes réelles qui ont deux discussions complètement différentes, et non une seule.
Le fait que les deux personnes se ressemblent ne pose pas de problème.
D’ailleurs même sans cette technologie, on pourrait aussi imaginer que les gens se déguisent.

Mais il suffit d’avoir un complice et que chacun ait 2 identités fakes pour y arriver.

Visio n°1 : Bob et Alice se font passer pour Pat et Rick.
Visio n°2 : Bob et Alice se font passer pour Bob et Alice

Sauf que :
Si Bob et Alice sont déjà membres, alors ils prouvent qu’ils ont participé à la visio n°2.

À la visio n°1, Pat et Rick prouvent qu’ils sont différent de toutes les personnes de la visio n°1, qui n’inclut pas Bob et Alice, ils ne peuvent donc pas devenir membre.

Si Bob et Alice ne sont pas membre, alors en gros aucun dès 4 ne devient membres, et c’est donc une perte de temps pour Bob et Alice.

Bonjour @dionisos

have a look


https://forum.duniter.org/t/biometrics-web-of-trust/4028/

une solution impliquant une technologie, autant voir loin :
https://www.neuralink.com/

qui répond tout a fait à cette problématique et a celle dans le descriptif de Inso (le 1er article de presentation Articles explicatifs & techniques sur Duniter)
concernant
"Une solution idéal serait une machine calculante par être humain"

Donc pour 1 Millions de membre, il faut que 1 Millions de membre participent à des visio conférences croisées ? !

1 « J'aime »

Salut max !, Je vais regarder ça, mais ça va commencer à me faire beaucoup de lectures ^^

Oui, des visios conférences de deux personnes à chaque fois, mais au même moment.
C’est pour ça que j’ai parlé de 5 visios conférences dans le mois, ça augmente la contrainte pour devenir membre, mais diminue la contrainte une fois membre. (il suffit de participer à une des 5, n’importe la qu’elle par mois).
Et c’est juste des visios de formalités, ça peut durer que 5mins, c’est un peut comme de payer ses impôts, ou de s’actualiser sur pole-emploi.

Je ne sais pas si tu te rends compte de ce que c’est qu’un 1 million de personnes, qui doivent toutes s’organiser pour faire des visioconférences au même moment.

Elles n’ont pas à s’organiser entre elles, il suffit qu’elles se connectent au système à une heure précise (ou un peu avant cette heure plutôt), et le système les mets en contacte automatiquement avec une autre personne.

Si elles loupent l’heure, elles peuvent toujours être présente à une des autres réunions.
Et si elles loupent les 5 réunions et perde le statut de membres, elles peuvent toujours le récupérer le mois suivant.

Mais je me rends compte que ça reste très contraignant, cependant c’est une technique qui me semble infalsifiable, et je me demande si, suivant le même genre de principes, on ne peut pas faire mieux.

@dionisos, si tu souhaites régler le “problème de la WoT”, alors il te faut absolument avoir en tête l’élément suivant : à la fin, il n’y a qu’une blockchain, des clés asymétriques portées par des humains, des documents et des règles techniques. Tout autre élément rapporté est hors-sujet, car les règles communes sont uniquement celles-ci.

Par exemple la licence Ğ1 n’est absolument pas une règle que respectera un attaquant, car il peut tout à fait s’en passer pour devenir membre.

Je cite nanocryk dont la remarque résume vraiment très bien cette idée :

Et donc si tu voulais introduire de nouveaux éléments (de la vidéo, des process, des machines à empreintes digitales), tu devras les coder dans le logiciel, seul élément commun à tous les utilisateurs. Or ces concepts sont bien souvent difficiles à définir, encore plus à implémenter.

Pour l’instant, je n’ai pas vraiment trouvé mieux que ce que l’on a imaginé sans tomber dans les travers d’un système totalement incompréhensible pour l’utilisateur final.

edit : ou tellement compliqué qu’il devient dans les faits impossible de le coder.

5 « J'aime »

Il faut bien voir qu’avec cette technique, que les personnes changent de visage, déménage, change de voix, change d’amis ou de connaissances, ne pose absolument aucun problème, et cela dans les deux sens :

  • Ils ne peuvent pas créer plus de compte membre pour autant.
  • Ils ne perdent pas leur compte membre pour autant.

Je me rend compte en lisant les autres fils de discussions, qu’il y a des croyances erronés sur la solidité de la toile de confiance tel qu’elle est actuellement conçus.
Pour prendre un exemple :

Imaginons qu’un groupe de 5 personnes connaissent en gros 1000 personnes différentes de manière directe.
Il faut tomber sur un autre groupe de 5 personnes dont aucune ne fait partie de ces 100 personnes différentes, disons sur 1 million de personne, pour des questions de distance géographique.

Cette probabilité, si je ne me trompe pas, est de : (1-1000/10^6)^5=0.995

Autrement dit, même si ce groupe de 5 personnes demandent à chaque personne qu’elles connaissent si elles n’ont pas déjà certifié un membre particulier (grâce à son nom par exemple), c’est très facile de passer entre les mailles du filet.
Bien sûr, si elles commencent à demander à leur connaissances si elles ne connaissent pas quelqu’un qui aurait certifié la personne qu’elles veulent certifié, ça change complètement la probabilité, mais ça augmente aussi la difficulté de vérification exponentiellement.

Si jamais on peut réunir deux humains quelconques sur terre avec 6 pas de distance, c’est parce que chaque pas augmente le nombre d’humain exponentiellement, mais cela augmente également la difficulté de vérification.
Si tu veux vérifié tout les membres à deux pas de toi, tu vas te retrouver à devoir vérifier des millions de membres.

Il faut aussi voir que les solutions techniques types analyses faciales ou vocales, sont ingérables, pleins de gens se ressemblent d’un coté, et de l’autre c’est très simple de se déguiser un peu ou de changer sa voix.
Ce qu’il faut, c’est un protocole solide, la solution technique n’étant là que pour permettre la mise en place du protocole.

1 « J'aime »

Oui j’en ai bien conscience :slight_smile:
Mon système n’est absolument pas basé sur un système technique complexe comme la reconnaissance faciale, et il peut être gérer par des solutions techniques assez simples, même si par contre, il demande un effort humain.

En gros voilà techniquement comment je verrais là chose :
Imaginons qu’il y est une réunion le 01/02/2019 à 12h (l’heure et la périodicité des réunions devrait être choisit dans le protocole)
Alors le hash du premier bloque créé après le 01/02/2019 après 10h, va déterminer un “seed”.

Toutes personnes qui fait acte de présence dans la block-chain entre 10h et 11h40, est considéré comme participant à la réunion.
À partir du seed et d’un protocole déterministe, on crée des couples de personnes.
Ces personnes peuvent alors voir à quelle personne elles sont couplé dans la block-chain.
Ensuite il faut qu’elle fasse une visio, qui inclue l’heure exacte de la réunion (il faudra bien sur un logiciel qui gère la mise en relation automatique, mais cela ne fait pas partie du protocole, c’est juste une question de facilité).
Si pendant la visio elles voient que la personne en fasse est bien réelle, elles ajoutent mutuellement dans la block-chain une certification pour ce couple particulier de personne (que seule elles peuvent générer à partir de leur compte membre).

Ainsi on peut savoir qui était présent au meeting, et qui ne l’était pas.
La seule manière de prouver sa présence, est de participer à la réunion, où de tomber sur quelqu’un qui va accepter de valider la présence, même si cela n’est pas vrai.
Sauf que vue que les couples sont choisit aléatoirement, c’est très difficile de tomber sur un complice.
Et pour devenir membre quand on ne l’est pas déjà, il faut réussir à corrompre 5 fois de suite.

Je ne suis pas sûr que tu aies compris ma remarque, ou alors tu sous-entends des éléments dont je n’ai pas connaissance.

Mais question simple : comment codes-tu “réunion” dans la blockchain ?

C’est possible que j’ai compris de travers, désolé si c’est le cas.
Pour répondre à ta question, la réunion n’est absolument pas codé dans la blockchain (et heureusement, ça serait ingérable).
La seule chose qui est codé dans la blockchain, c’est la certification des couples de personnes, qu’ils ont belle et bien participé à une réunion, qui incluait l’heure de cette réunion.

Bien sûr les personnes peuvent mentir, mais cela n’est pas un problème, car d’une part les couples sont choisit aléatoirement (mais de manière déterministe à partir d’une certaine heure avant la réunion), et donc pas moyen de tomber sur un complice facilement. Et d’autre part, même si on arrive à corrompre la personne faisant partie de notre couple, ça ne suffit pas si on n’est pas déjà membre, car il faudrait réussir à le faire 5 fois de suite.

Autrement dit, la vérification est humaine, mais elle est faite de telle manière, qu’il est très difficile de créer un double compte, et quasiment impossible de faire une attaque sybil.