Neutralisation d'individu

Le groupe est défini. Mais sa définition est indépendante de la monnaie. Soit d(x) la définition quelconque du groupe d’individus “x”, et m(y) la définition du type de monnaie y, alors d(x) est indépendant de m(y).

La monnaie instanciée oui, les règles de la monnaie non (l’objet oui, la classe de définition de l’objet non).

On peut définir la maison indépendamment du terrain (sur un logiciel) et la maison peut-être construite sur des terrains indépendants de sa définition, sur l’eau (avec une île flottante), un sol meuble, un sol désertique, la Lune, ou même la poser dans l’espace sans gravité etc.

C’est possible, mais pas certain.

Certainement.

Pour évaluer correctement des choix il faut réaliser une espace de compréhension de dimension supérieure à celui où l’objet est envisagé.

ok, tu à raison. J’ai mélanger objet et instance.
Le fait est que certaines personnes ici souhaitent instancier une 1ère monnaie libre d’ici moins d’1 ans alors que la classe de définition de l’espace économique dans lequel des individus vont co-créer cette 1ère monnaie libre n’est peu être pas abouti.
Dans le cas de Duniter, la WoT est ce qui défini l’espace économique (les individus).

Veut tu dire que nous devrions d’abord réaliser la classe de définition d’une WoT, en réfléchissant dans un espace de compréhension supérieur au contexte de notre 1ère monnaie de prod ?
Je crois que c’est précisément, l’objet de ce topic,
Avant d’instancier la WoT (x) de notre 1ère Monnaie (y), nous devons nous demander si notre classe de définition actuelle de la WoT, tel qu’elle est défini dans le protocole de Duniter est aboutie ou non.

Alors pour revenir à l’objet de ce topic, peut-être qu’il y a d’autres moyens de protection face aux attaques sybil, que de créer un document supplémentaire dans le protocole.

Nous pourrions par exemple prévoir que chaque nœud Duniter possède une blacklist publique de clés publiques (qui sera initialement vide).
Le nœud en question refuserai tout block écrit par une clé publique de cette blacklist ainsi que toute certification émise par une clé publique de cette blacklist. Et c’est tout. Les membres blacklisté pourrons continuer à émettre tout les autres documents du protocole (transactions, etc).
Aujourd’hui, chaque fois qu’un membre lance ou relance son noeud, il se synchronise sur un noeud existant en lequel il à confiance. Nous pourrions procéder de même pour la propagation de cette blacklist.
Il suffirait que une ou deux personnes parmis nous qui ont identifié la région sybil intègrent manuellement les clés publiques correspondantes dans la blacklist de leur nœud membre puis naturellement la blacklist se propagera a tout les nœuds membres qui se synchronises sur nos nœuds membres.
Cela obligerai à un fork géant de la blockchain, il y aurait alors 2 blockchains qui évoluent en parallèle, la blockchain de la communauté légitime et la blockchain de la communauté sybil.

Le seul impact qu’aurais encore l’attaque sybil sur nous c’est d’avoir un poids dans le calcul de la difficulté commune. Est il envisageable de calculer une difficulté commune par branche plutôt que une pour tout le réseau ?

Et si d’aventure, des membres honnêtes se retrouvent blacklisté, les blacklist seront public donc il sauront quels sont les nœuds membres qui les ont blacklister et auront un droit de réponse auprès de ces membres pour faire rectifier l’erreur.

qu’en pensez vous ?

J’aimerais bien ne pas être le seul a proposer des solutions…

1 Like

stepmax = 1 ou bien stepmax = 2 ?

Oui effectivement ça ne fonctionne que lorsque la communauté légitime est encore petite et que nous sommes tous à une distance faible les uns des autres. Mon idée ne peut donc nous protéger que d’une attaque qui surviendrai au tout début de la monnaie. S’il y a 5000 noeuds membre, la blacklist ne se propagera pas. Je reviens donc sur l’idée de Cédric, de créer un nouveau document “neutralisation”.

1 Like

Il ne suffit pas de “créer un document”, il faut définir les règles qui l’activent.

Aussi peu juste soit elle à tes yeux, la justice ne saurait être aux miens qu’humaine. Je ne reconnaitrais pas d’autre jugement que celui d’un de mes pairs.

Quant à envisager que les banques, par le biais de leur bras armé médiatique nous étiquettent comme terroristes (ou autre abu de language de leur part) et leur second bras armé politique fassent interdire duniter et le démantèle par tous les moyens légaux dont elles disposeront, je n’en doute pas. “D’abord ils vous ignorent, ensuite ils vous raillent, puis ils vous combattent et enfin, vous gagnez.” Gandhi

Et quand bien même nous resolvons le problème de l’attaque Sybille, elles trouveront des failles que nous n’avions pas vu. On pourrait s’épuiser à toutes les chercher sans fin, sans que jamais Duniter 1.0 ne voit le jour…
Si la première monnaie libre est détruite, ce sera toujours une avancée vers l’établissement de monnaies libres, qu’avant la création de cette première monnaie. Et j’ai la prétention d’affirmer que les banques ne chercheront pas à détruire cette monnaie avant qu’elle ne soit une menace, c’est à dire repérée et connue d’elles (ce qui impliquent sans doute qu’un grand nombre d’utilisateurs de cette monnaie existeronnt) et dénoncée [espéront publiquement] par elles.

Maintenant s’il existe une solution qui permet d’endiguer ce genre d’attaque que nous considérons comme [acceptablement] juste et dont l’intégration à Duniter ne ralentit pas de trop le développement de ce dernier tant mieux.

3 Likes

Tout à fait d’accord.

Je suis tout à fait d’accord avec toi @Thatoo. Contentons nous de nous protéger des types d’attaques que nous percevons déjà.
Face au constat qu’il n’y avait pas en projet de mesure anti-sybil autre que les paramètres de la WoT déjà existant, je me suis lancer dans des simulations pour me rassurer et me convaincre qu’avec des paramètres de WoT bien choisi, ce serait suffisant.
Mais plus je simule plus je me rend compte que quel que soit les paramètres de WoT choisis, une attaque sybil destructrice est possible. Ce qui me mène a penser que le protocole actuel de Duniter est incomplet, qu’il manque un petit quelque chose.
Et je pense que l’idée d’un document de “neutralisation” va dans le bon sens.

Pour préciser les règles qui activerait une telle neutralisation, je part du postulat suivant :
Un compte sybil se caractérise par peu de liens entrants (de l’ordre de sigQty).
Voilà pourquoi j’ai suggéré que seul un compte avec au moins 5sigQty liens entrants puisse émettre une neutralisation → pour éviter qu’un compte sybil ne puisse lui même émettre de neutralisation.

Pour éviter que des membres honnètes ne soient neutraliser, nous pourrons rajouter comme condition que ne pourra être neutraliser que un membre avec moins de 3sigQty liens entrants et plus de 3sigQty neutralisations envers lui.
Ainsi, un groupe d’attaquants qui voudraient échapper a la neutralisation seraient obliger de consommer 3 fois plus de certifications par comptes sybil, réduisant considérablement la vitesse de propagation de la région sybil et sa taille maximale, remplacez donc Q par 3Q dans ma formule, le résultat est divisé par bien plus que 3…
Si les paramètres de la WoT sont par ailleurs bien choisis, une attaque sybil avec 3Q certifications par compte sybil sera inefficace.

*Q = sigQty

Il est possible aussi que la destruction de cette 1ère monnaie libre nous fasse rater la courte fenêtre de tir qui se présente devants nous (cf. cylcles monétaires) et repousse l’avènement d’une monnaie libre de plusieurs générations. Donc ce n’est pas un argument valable.

La par contre je pense que tu te fourre le doigts dans l’œil, mais qu’importe seul l’avenir nous le dira… Ce qui est certain c’est qu’il n’est pas raisonnable de prendre un risque avéré si de surcroît nous savons comment nous en prémunir.

La majorité des “membres honnêtes” n’auront que sigQty certifications, car les certifications étant précieuses car limitées, chacun devrait faire attention à ne pas en émettre de superflues.

La règle qui consiste à dire qu’un compte peut neutraliser d’autres comptes paraît tout à fait se retourner contre les membres honnêtes et permettre à une attaque intérieure (avec ou sans Sybil) de neutraliser la WoT.

C’est faux. La plupart des membres vont certifier les personnes qu’ils connaissent et en qui ils ont confiance, même si ces personnes ont déjà bien plus que sigQty certifications. Cela est important pour la densité de la toile et donc sont développement jusqu’au million de membres.
On voit par exemple dans TestNet que le nombre moyen de liens entrants est de 11, soit 11*sigQty !!
Dans la communauté légitime, le nombre moyen de liens entrants sera bien supérieur à sigQty, il sera de l’ordre du nombre moyen de certifications émises par membre, que tu estime à 50 dans tes calculs de WoT moyenne et que j’estime à 40. Même en prenant 40, avec Q=7 par exemple, les membres honnêtes auront en moyenne 5,7Q liens entrants !.

C’est vrai.[quote=“elois, post:25, topic:1503”]
On voit par exemple dans TestNet
[/quote]

Aucun théorème n’existe (donc de vérité démontrée) qui se fonde sur une observation. Ainsi bien que j’aie observé 1000 000 de triangles tous rectangles cela ne démontre en rien que tout triangle est rectangle… A contrario, l’observation d’un seul cas qui contredit une affirmation réfute cette affirmation.

Ton affirmation :

est incompatible avec l’hypothèse que tu émet pour calculer la taille de la WoT moyenne :

En posant cette formule, tu présuppose que chaque membre émettra en moyenne 50 certifications.
Or, le nombre moyen de certification reçus par membre est égal au nombre total de certifications émises diviser par le nombre de membres.

Bref, tu te contredit toi-même, donc tu est incohérent.

Si tu pense vraiment que la majorité des “membres honnêtes” n’auront que sigQty certifications, tu aurait (pour sigQty=7,stepmax=6) calculé une WoT moyenne de :
WoTmoy (sigQty=7,stepmax=6) = (7+1)*(7 / 7)^(6-1) ) = 32768

Non, en aucune manière. Tu confonds nombre de personnes signées, et nombre de certifications reçues.

Ce que je pourrais penser n’a rien à voir avec la réalité d’une WoT quelle qu’elle soit, et ne constitue en rien une prémisce de démonstration de quoi que ce soit.

Mais une WoT moyenne telle que calculée n’a rien à voir avec une WoT, il ne s’agit absolument pas de donner des caractéristiques d’une WoT, en aucune manière. Tu confonds limite atteignable (potentiel) et réalité expérimentale qui peut tendre (ou pas) vers un obectif dans un temps inconnu et sous des conditions inconnues.

Absolument pas, je ne vois vraiment pas dans quel objectif j’aurais calculé une telle valeur (d’ailleurs je ne l’ai pas fait) et ça n’a rien à voir avec ce que j’ai souligné.

Par ailleurs, je persiste et signe “une majorité de membres n’aura que sigQty certifications” ce qui sera amplement suffisant, et ne préjuge en rien ni l’atteinte de WoT moyenne ou sa non-atteinte, ni la quantité totale de certificaitons émises (si ce n’est un encadrement dans ce cas).

Et dans tous les cas, ne préjuge en rien de l’histoire de la WoT(t).

Il y a dans ces assertions l’évidence d’une non-compréhension de ce qu’est la WoT(t).

Afin que tu comprennes mieux ce qu’est une WoT, je te suggère de démarrer avec de petits paramètres (sigQty = 2, sigStock = 10, stepmax = 3), d’en faire une histoire et de mieux comprendre ainsi de quoi il s’agit.

Si on considère la WoT dans sa globalité. X certifications émises correspondent à X certifications reçus. Ou autrement dit, il y a autant de liens sortants que de liens entrants. Donc pour un nombre N d’utilisateurs, autant de certifications moyennes émises que de certifications moyennes reçus.

Je ne cherche pas a démontrer quoi que ce soit. Je propose des conditions de “neutralisation” pour faire avancer le projets.

Oui, on ne peut pas savoir ce que feront les membres en réalité une fois la WoT lancée. Mais on doit quand même faire des choix.

Si ça préjuge sa non-atteinte. Nous seront bloquer par stepMax.

Eh bien démontrons que c’est faux, avec stepmax = 2, sigStock = 10, sigQty = 2, et un nombre moyen de connaissances de 5 (5 < sigStock)

1 utilisateur signe 10 membres, n’a plus de certifications, 1 autre utilisateur signe ces mêmes 10 membres qui ont donc sigQty certifications et sont membres, par ailleurs 2 parmis ces 10 signent les deux premiers (il leur reste donc 8 certifications chacun) qui sont membres aussi, nous voilà avec une WoT de 12 membres, step = 1.

step = 2, les 10 membres du step 1 ont encore 8x10+8+8 = 96 certifications. Ils signent alors 48 membres supplémentaires avec 2 certifications pour chacun (sigQty) maximum, step =2, fin de la WoT, on ne peut aller plus loin relativement aux 2 premiers membres.

Total de membres de la WoT 12 + 48 = 50.

WoTmoy (sigQty=2,stepmax=2) = (5+1)(5 / 2)^(2-1) = 15
WoTmax (sigQty=2,stepmax=2) = (10+1)
(10/2)^(2-1) = 55

WoT moy est dépassé, WoTmax est bien une borne supérieure, et chacun n’a que sigQty certifications. CQFD.

(A noter qu’on pourrait n’avoir que 20 membres et ça montrerait la même chose tout aussi bien, et que les 48 derniers signés restent avec un stock de signatures de 10 chacun qu’ils peuvent utiliser à discrétion pour satisfaire des règles cycliques ou tout autre type de contrainte de ce type qu’on voudrait rajouter sur cette WoT, BREF).

Faut voir…

1 Like

ok, je m’excuse je me suis emporté. Je ne voulais pas admettre que malgré le temps que j’ai déjà passer à étudier la WoT, je ne maîtrise pas encore tout ses aspects. Tu viens de démontrer que je me suis tromper.
je vais arrêter de faire des propositions et réfléchir d’avantage avant d’écrire.
Merci de ta patience :slight_smile:

ça permet de réfléchir ensemble, et que tout le monde comprennent les contraintes :slight_smile: ce n’est pas forcement mal.

1 Like

Il faut surtout prendre le temps d’établir des démonstrations avant d’affirmer des choses, sinon tu obliges tes interlocuteurs à réfuter une par une des assertions péremptoires, ce qui peut être très long.

La TRM n’existe que depuis 6 ans. 6 ans de patience c’est très peu comparés aux 40 ans minimum nécessaires à l’établissement d’une monnaie libre. On ne peut donc pas parler véritablement de patience ici. D’autant que, les conditions n’étant pas réunies, une monnaie libre pourrait très bien ne se réaliser qu’en 80, 120, 160 ou 200 ans au mieux.

Un homme qui ne ferait que patienter, attendrait et espérait qu’advienne quelque chose, ne produisant pas, ne réalisant pas une compréhension profonde, ne réalisant pas la nature de la méthode réalisation de ce qu’il espère voir advenir, n’aurait que très peu de chances de voir advenir cette espérance.

Seuls les hommes souhaitant développer, adopter et réaliser une monnaie libre peuvent le faire.

Pour le faire, il convient d’adopter une méthode de réalisation.

Comme je le disais sur le topic de simulation, j’ai réalisé que nous avions déjà un levier pour repousser une attaque sybil : augmenter sa distance relativement à la WoT.

Quand on regarde les chiffres, on constate que le plus gênant, relativement à une WoT de 10.000 utilisateurs, est une attaque sybil avec un espace de création de 3 step ou plus, 2 étant contenable et 1 relevant de l’épiphénomène.

Comment donc actionner ce levier ? C’est très simple : la distance n’est calculée que relativement aux membres de la WoT ayant émis suffisamment de certifications (précisément Y [N] = N^(1/stepMax)) pour qu’il existe des chemins de eux vers les nouveaux arrivants.

Oui mais, tout le monde ne certifie pas. Or c’est précisément ces membres non-actifs qui ont le potentiel de créer des chemins contraignants pour les sybils, et donc augmenter la distance, et donc endiguer l’attaque.

Je ne dis pas que c’est facile, il faut notamment développer des logiciels qui indiqueraient les certification optimales pour endiguer l’attaque, mais c’est tout à fait faisable.

Bref, je ne suis même pas sûr que la neutralisation soit nécessaire, peut-être même que la distance est un levier d’action bien plus efficace.

2 Likes

Elle est même dangereuse car elle peut se retourner contre des membres honnêtes, et difficile à mettre au point. Par ailleurs les hautes valeurs de sigQty limitent tout aussi bien leur propagation (plus difficile de se mettre d’accord à 7 qu’à 5), stepmax limite aussi et la taille de la WoT étant elle-même limitée fait qu’un nombre suffisamment grand de membres honnêtes limite mécaniquement dans tous les cas les sybils potentiels.

Autrement dit plus il y a d’hommes souhaitant participer d’une monnaie libre dans une WoT limitée, moins il y a de place pour ne pas respecter le principe d’une monnaie libre…

2 Likes

Je pensais exactement la même chose cette nuit : ajouter un principe de neutralisation donne une arme qui peut se retourner contre nous (comme toute arme, d’ailleurs). Cela ne me parait pas bon.

2 Likes