From f3c0e874a11fc12db7e258bff73502368cc6a92d Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Mon, 29 Jan 2018 15:43:02 +0100
Subject: [PATCH 1/6] add toile-de-confiance.md

---
 content/pages/wiki/toile-de-confiance.md | 278 +++++++++++++++++++++++
 1 file changed, 278 insertions(+)
 create mode 100644 content/pages/wiki/toile-de-confiance.md

diff --git a/content/pages/wiki/toile-de-confiance.md b/content/pages/wiki/toile-de-confiance.md
new file mode 100644
index 0000000..ed8ecda
--- /dev/null
+++ b/content/pages/wiki/toile-de-confiance.md
@@ -0,0 +1,278 @@
+Title: La toile de confiance en détail
+Order: 9
+Date: 2017-07-12
+Slug: toile-de-confiance
+Authors: librelois
+
+L'Objet de cet article est de détailler le fonctionnement des différents paramètres d'une toile de confiance duniter ainsi que d'expliquer comment on été choisies les valeurs de ses paramètres dans le cas de la monnaie Ğ1. 
+
+Aucune connaissance particulière n'est requise pour comprendre ce qui suit, car je vais à chaque fois bien définir toutes les notions abordés et tout les termes utilisés :)
+Cependant nous irons assez loin, nous rentrerons nottament dans le détail du protocole duniter (uniquement sur les parties toile de confiance bien sur) ainsi que dans des aspects de théorie des graphes car cela me semble essentiel pour vraiment comprendre tout les rouages d'une toile de confiance duniter.
+Rassurez vous, nous allons y aller progressivement, nous commencerons par une vision d'ensemble pusi nosu détaillerons graduellement :)
+
+## Prérequis
+Avant de lire cet article, il est vivement recommendé d'étudier la [licence Ğ1](https://duniter.org/fr/files/licence_g1.txt) et de lire les pages suivantes :
+* [Devenir membre de la toile de confiance Äž1](../devenir-membre)
+* [Certifier de nouveaux membres](../certifier-de-nouveaux-membres)
+* [Question Fréquentes sur la toile de confiance](../faq)
+
+## Pourquoi à t'on besoin d'une toile de confiance
+
+Nous avons besoin d'une toile de confiance pour répondre à 2 objectifs :
+1. S'assurer que chaque être humain membre de la monnaie co-créer bien le même nombre de Dividende Universel par intervalle de création (Dans le cas de la Ğ1 cet intervalle vaut `86400` (=1 jour exprimé en secondes), c'est le paramètre monétaire* `dt`).
+2. Identifier les calculateurs de block pour leur affecter une difficulté personnalisée. Cela est nécessaire afin d'éviter que le mécanisme de [preuve de travail](../duniter/preuve-de-travail) ne permette une centralisation du support de la monnaie (la blockchain) comme c'est hélas le cas dans de nombreuses crypto-monnaies non-libres.
+
+> Attend c'est quoi un "paramètre monétaire" ?
+
+Chaque monnaie duniter possède sa propre blockchain au sein de laquelle sont définis ses propres paramètres monétaires (dans le bloc zéro), il s'agit d'un ensemble de "curseurs" qu'il faut ajuster en fonction des objectifs visés. A l'heure ou j'écris ces lignes le protocole duniter (noté DUP) comporte 21 paramètres monétaires dont 10 concernent la toile de confiance !
+Nous décrirons en détail les 10 paramètres qui concernent la toile de confiance, nous n'aborderons pas les autres.
+Sachez simplement que dans le cas de la monnaie Ğ1 le DU est créer toutes les 24h (86400secondes) mais que cet intervalle de temps régit par le paramètre `dt` peut très bien etre fixée a d'autres valeurs d'autres monnaies.
+
+Nous ne traiterons pas ici le 2ème objectif relatif a la preuve de travail car ce n'est pas l'objet de cet article, la seule chose a comprendre c'est que la toile de confiance nous permet **d'identifier** les membres qui calculent des blocks, et cette identification nous permet d'imposer une rotation des membres calculateurs, ce ne serait pas possible sans système d'identification. Cette rotation des membres calculateurs est essentielle, sans elle un membre très riche pourrait investir dans des fermes de calcul géante pour prendre le controle de la blockchain et paraliser toute la communauté !
+
+Revennons donc au 1er objectif, s'assurer que chaque humain n'est qu'un seul compte membre.
+En pratique, le risque zéro n'existe pas, notre objectif n'est donc pas de concevoir une toile de confiance au sein de laquelle la fraude serait impossible (ce qui est de toute manière impossible).
+Voici donc une reformulation plus réaliste en 4 sous-objectifs :
+1. Rendre l’acte de certification suffisamment lourd pour obliger les membres à un minimum de  vigilance.
+2. Rendre la fraude suffisamment difficile pour qu'elle soit marginale.
+3. Éviter que les éventuelles attaques sybil est un impact significatif sur la monnaie. (_que les faux DU créer est un poid négligeable par rapport a la masse monétaire légitime._)
+4. Rendre la croissance de régions sybil suffisamment lente pour que la communauté est le temps de 
+réagir.
+
+> **Attend, une attaque quoi ?**
+
+Une [**attaque sybil**](https://fr.wikipedia.org/wiki/Attaque_Sybil), c'est le nom que l'on donne à une attaque d'un système de réputation par la création de fausses identités.
+Une toile de confiance est en cas particulier de [**système de réputation**](https://en.wikipedia.org/wiki/Reputation_system).
+
+Il y a beaucoup de stratégies de scénarios d'attaques sybil possibles ainsi que de mobiles différents.
+Notre objectif est que la toile de confiance nous prémunisse des attaques sybil susceptibles de compromettre le bon fonctionnement de la monnaie ou/et du réseau informatique qui la porte.
+Ce qui veut dire que les micro attaques sybil orchestrés par un petit groupe dont l'objectif est seulement un petit enrichissement personnel ne nous intéressent pas ici, ce n'est pas a la toile de confaince de nous prémunir de ces micro attaques, mais a la justice de la communauté concernée, tout comme ce n'est pas a la commune de vous prémunir d'un cambriolage chez vous, mais la commune vas vous garantir le fonctionnement des réseaux d'eau, le nettoiement de la voirie, etc
+De la même façon, la toile de confiance duniter nous garantie collectivement le bon fonctionnement de notre monnaie et du réseau informatique qui la porte, et c'est déjà énorme !
+
+## l'Importance de l'indépendance à tout autre systèmes d'identification
+
+Il nous ai très régulièrement proposé de nous baser sur des systèmes d'identification centralisés et alimentés par des monnaies non-libre dépendant d'un état ou d'un autre.
+Mais nous serions alors dépendant de ces systèmes d'identification centralisés pour le bon fonctionnement de notre toile de confiance, ça n'a pas de sens.
+De plus, les membres d'une monnaie libre peuvent être de n'importe quelle nationalité ou culture, nous perdrions cette universalité en dépendant d'un système d'identification d'un état ou d'un autre, en plus cela exclurait les sans-papier et les apatrides.
+Il est essentiel pour nous de ne dépendre d'aucun état ni d'aucune institution. Nous ne dépendons que du réseau internet, et encore, il existe d'autres réseaux, si internet vennait a s'étteindre les humains membres d'une monnaies libres pourrait très bien créer leur propre réseau d'information, c'est déjà ce que font certaines associations en créant leurs propres bout de réseau, donc c'est possible.
+
+## Quelques bases en théorie des graphes
+
+### un peu de vocabulaire
+
+graphe : Ensemble de point(nommé sommets) reliées entre eux par des flèches (nommés arcs).
+
+graphe simple : graphe sans boucle (arc reliant un sommet a lui-même) et sans arcs superposés (plusieurs arcs reliant le même couple de sommets dans le même sens).
+
+graphe orientés : graphe ou les arcs ont un sens, l'arc A->B est donc différent de l'arc B->A.
+
+extrémité initiale et finale d'un arc : l'arc A->B à pour extrémité initiale A et pour extrémité finale B.
+
+sommet isolé : sommet n'étant lié a aucun arc.
+
+degré d'un sommet : nombre d'arc reliant ce somment (dans les deux sens).
+
+demi-degré extérieur d'un sommet A : nombre d'arc ayant pour extrémité initiale le sommet A
+
+demi-degré intérieur d'un sommet A : nombre d'arc ayant pour extrémité finale du sommet A
+
+chemin : trajet qu'il faut suivre pour se rendre d'un sommet A à un sommet B en respectant le sens des arcs. Le nombre d'arc traversés est la longueur du chemin. 
+
+### définition d'une toile de confiance duniter
+
+Les toiles de confiance duniter (une par monnaie) sont des graphes simples orientés et sans sommets isolés.
+Les sommets en sont les membres et les arcs les certifications.
+
+Pourquoi orientés ?
+Certifier est un acte personnel qui n'engage que l'émetteur de la certification, la confiance qu'il accorde au receveur n'est pas forcément réciproque dans tout les cas (elle l'est souvent), mais on peut pas imposer au receveur de faire confiance a l'emetteur.
+
+De plus, tout les sommets sont des identités membres ou ayant déjà été membres par le passé, les sommets correspondant aux anciens membres sont dans un état particulier dit "désactivé". Les sommets désactivés ne peuvent plus émettrent ou recevoirs de nouvelles certifications, mais les certifications qu'ils ont émis et reçus avant de perdre leur statut de membre restent actives sur les autres membres jusqu'a leur date d'expiration dans le but d'éviter un éffondrement de la toile en cascade. Si ces anciens membres ne redeviennent pas membres alors les certifications qu'ils avaient émis et reçus finiront par expirés, et les sommets "désactivés" en question finiront donc par devenir des sommets isolés.
+
+Pour finir sur cet histoire d'ancien membre, au bout d'un certain délai qui dépend d'un paramètre monétaire le sommet désactivé est supprimé et l'identité associée passe à l'état révoquée, c'est a dire que cette identité ne pourra plus jamais redevenir membre. l'Humain qui possédais cette identité reste toutefois libre de redemander son adhésion dans la toile sous une nouvelle identité :) 
+
+> Qu'entend tu par identité ?
+
+Une identité c'est un groupe de 3 informations : une clé publique, un nom, et un blockstamp*.
+Un blockstamp c'est une référence a un block précis d'une blockchain ce qui permet de dater le moment auquel l'identité a été créée, et de relier l'identité a une blockchain particulière, donc a une monnauie particulière (car chaque monnaie a sa propre blockchain).
+
+Une identité peut etre dans 5 états différents : en attente*, membre, ancien membre, révoqué ou exclu.
+Nous reviendrons plus en détail sur chacun de ses états.
+
+Résumons tout cela avec un exemple : 
+
+    A -> B -> C
+         |
+	 \--> D
+
+  Si pour une raison x ou y A perd son statut de membre alors la toile s'éffondre et tout les autres membres perdent aussi leur statut de membre en cascade. pour éviter cela, la certification A->B restera valide jusqu'à sa date d'expiration, laissant a B le temps de ce faire certifier par C ou D par exemple.
+
+L'absence de sommet isolé implique également que lorsque qu'un nouveau membre est ajouté a la toile de confiance il faut ajouter en même temps (c'est à dire dans le même bloc) l'ensemble des certifications qui lui permette devenir membre.
+C'est pourquoi nous avons besoin d'un espace de stockage intermédiaire qui contient les identités **en attente*** de devenir membre ainsi que les certifications émises par des membres envers ces identités, c'est espace c'est la fameuse "piscine" des noeuds duniter (que l'on aurait aussi pu nommer "bac a sable" puisque dans le code de duniter c'est le terme `sandbox` qui est utilisé). Attention ces "piscine" contiennent également d'autres types de documents qui ne sont pas mentionnés ici.
+
+## Définition des règles d'une toile de confiance duniter
+
+  Les toiles de confiance duniter (une par monnaie) sont régies par 8 règles présentées ci-après.
+L'application de ses règles dépendent de 11 paramètres variables d'une monnaie à l'autre, la valeur de 10 d'entre eux sont fixés dans le block zéro, le 11ème paramètre `msPeriod` est en dur dans le code car il a été ajouté après l'écriture du bloc zéro de la Ğ1.
+Cette partie ne présente que les définitions des règles, les raisons d'être de ces règles sont présentés dans le cadre de l'historicité de leur apparition dans la partie "Origine des règles et cas de la  Ğ1".
+
+### 1. Règle de distance et Membres Référents
+
+  paramètres : **StepMax** et **xPercent**
+
+  Ces deux paramètres sont très fortement liés et définissent ensemble une seule et même règle : la règle de distance.
+  Pour définir la règle de distance, nous devons au préalable définir ce qu'est un membre référent :
+
+> **Membre référent** : un membre A est référent si et seulement si ses deux demi-degrés sont supérieurs ou égaux à `CEIl(N^(1/stepMax))` où N est le nombre total de membres.**  
+
+Nous pouvons maintenant définir la règle de distance : 
+
+> **Règle de distance** : un membre A respecte la règle de distance si et seulement si pour plus de xPercent % des membres référents R il existe un chemin de R vers A d'une longueur inférieure ou égale à `stepMax`.**  
+
+La notion de membre référent ne sert qu'a l'application de la règle de distance, les membres référents n'ont aucun privilèges sur les membres non-référents.
+Dans un toile aboutie, c'est à dire dans une toile ou chaque membre a certifier tout les membres qu'il est en mesure de légitimement certifier, tout les membres devraient êtres référents, mais de part la croissance progressive de la toile d'une part et le remplacement générationnel d'autre part, il existe a tout instant t des membres qui n'ont pas encore certifier tout les membres qu'il sont en mesure de légitimement certifier, ces membres là serait bloquants s'il était pris en compte dans la règle de distance, et la toile de confiance ne pourrait jamais acceuillir de nouveaux membres. (Vous pouvez le visualiser sur la page "qualité toile" de currency-monit en cochant l'option "si le concept de membre référent n'existait pas").
+
+> **Quand s'applique la règle de distance ?**
+
+la vérification de la règle de distance étant couteuse en calcul, elle ne s'applique que lors de l'obtention et du renouvellement du statut de membre. (Voir partie "renouvellement du statut de membre").
+_Cas particulier : la règle de distance ne s'applique pas au block zéro (écriture de la toile initiale)._
+
+### 2. Règle du nombre minimal de certifications reçus
+
+  paramètre : **sigQty**
+
+C'est la règle la plus simple, elle stipule que tout membre doit a tout moment (comprendre a tout bloc) être le destinataire d'au moins `sigQty` certifications actives.
+Si ne serait-ce que pour le temps d'un seul bloc, un membre A se retrouve avec moins de `sigQty` certifications actives reçus, alors il perd le statut de membre a ce bloc là, il doit alors publier une demande de renouvellement.
+
+### 3. Règle de renouvellement
+
+  paramètres : **msValidity**, **msPeriod** et **msWindow**
+
+L'obtention du statut de membre n'est pas un acquis pour la vie, mais pour une durée de `msValidity` secondes.
+
+Tout membre (ou ancien membre non révoqué et non exclu définitivement) peut a tout moment émettre une demande de renouvellement a condition que son dernier renouvellement date de plus de `msPeriod` secondes (Lorsque qu'un membre ne s'est jamais renouveller la date de dernier renouvellement correspond a la date d'obtention du statut de membre).
+Lorsqu'une demande de renouvellement est émise, elle est stockée en "piscine" pour une durée maximale de `msWindow` secondes, puis elle sera inscrite en blockchain dés que le membre en question respectera la règle de distance **et** la règle sigQty (s'il les respectent déjà, dés qu'un noeud ayant reçu la demande de renouvellement trouve un block).
+
+Tout membre dont le dernier renouvellement date de plus de `msValidity` secondes perd le statut de membre au premier bloc ou cette durée est atteinte. Dans ce cas, l'ancien membre dispose a nouveau d'une durée de `msValidity` secondes pour redevenir membre par cette même procédure de renouvellement. Passé ce délai, donc `2*msValidity` après le dernier renouvellement, l'ancien membre est exclu définitivement et ne pourra plus jamais redevenir membre avec ce compte. S'il souhaite redevenir membre il devra se créer un nouveau compte à partir de zéro.
+
+### 4. Règle d'expiration des certifications
+
+  paramètre : **sigValidity**
+
+Toute certification inscrite en blockchain expire **sigValidity** secondes après son émission.
+
+/!\ l'émission et l'écriture d'une certification sont des instants différents. Lorsque membre A émet une certifiation à un instant t1, elle est d'abord stockée en piscine à cet instant t1, puis sera écrite en blockchain a un instant t2, dés que les règles de la toile de permette, il peut y avoir plusieurs semaines d'écart entre t1 et t2 !!
+
+### 5. Règle du stock limité de certifications actives
+
+  paramètre : **sigStock**
+
+Par certification active nous entendons certification inscrite en blockchain et qui n'a pas encore expirée.
+
+A tout bloc et pour tout membre, l'ensemble des certifications émises par ce membre et actives doit être inférieur ou égal à sigStock. Lorsque ce quota est atteint, le membre en question devra attendre qu'une certification active dont il est l'émétteur expire pour pouvoir en écrire une autre.
+
+### 6. Règle de l'intervalle d'écriture entre deux certifications
+
+  paramètre : **sigPeriod**
+
+Lorsqu'une certification émise par un membre A est écrite en blockchain, aucune autre certification émise par A ne pourra être écrite en blockchain avant `sigPeriod` secondes.
+
+### 7. Règle de la fenêtre d'écriture d'une certification 
+
+  paramètre : **sigWindow**
+
+Lorsqu'une certification est émise par un membre A, elle restera stockée en "piscine" pour au plus `sigWindow` secondes. Si la certification en question n'a toujours pas été écrite en blockchain passé ce délai, elle est purement supprimée.
+
+### 8. Règle de la fenêtre d'écriture d'une identité 
+
+  paramètre : **idtyWindow**
+
+Lorsqu'une identitée est émise, elle restera stockée en "piscine" pour au plus `idtyWindow` secondes. Si l'identitée en question n'a toujours pas été écrite en blockchain passé ce délai, elle est purement supprimée.
+
+## Le cas particulier de la toile initiale au block zéro
+
+  L'application des règles présentées ne rend l'expansion d'une toile possible qu'a partir d'une toile pré-éxistante, il y a donc un cas particulier ou certaines règles ne s'appliquent pas : l'écriture du block zéro.
+
+Seules les règles 2 et 5 s'appliquent lors de l'écriture du block zéro.
+
+Dans la pratique, c'est l'humain qui génère le bloc zéro qui choisi manuellement qu'elles identités il écrira dans le block zéro, mais toutes les identités et certifications écrites dans le block zéro doivent respecter les règles 2 et 5 et de plus le block zéro doit être signé avec la clé privée d'une des identités écrites.
+Dés lors qu'un bloc zéro correct a été généré, toute identité inscrite dans ce block zéro peut soumettre le block suivant, de fait l'auteur du block zéro n'a donc plus la main.
+
+### 1. Règle de distance et Membres Référents
+
+## Origine des règles et cas de la Ğ1
+
+### 1. Distance et taille limite
+
+La règle de distance à pour objectif de limiter la taille maximale d'une région sybil ainsi que la taille maximale de la communauté monétaire.
+`xpercent` permet d'éviter une minorité de blocage (membres trop peu actifs).
+
+![zone sybil]({filename}/images/wiki/toile-de-confiance/zone-sybil.png)
+
+Les régions sybil sont isolés du reste du graphe, car les comptes sybil ne recevrons de certifications que de la part d'autres comptes sybil ou de la part des auteurs de l'attaque. Ainsi, tout plus court chemins entre un membre légitime et un compte, sybil passe forcément par un auteur de l'attaque. La limite de la profondeur de la région sybil dépend donc de la distance max entre des auteurs de l'attaque et les xpercent% membres référents les plus proches, cette distance caractérisqtique est nommée `stepAttackers`.
+La taille maximale d'une région sybil crée par sigQty membres malveillants dépend du levier L=sigQty/sigStock :
+
+    taille max région sybil = (sigStock-sigQty)*(1-L^(stepMax-stepAttackers))/(1-L)
+
+Et de même la taille maximale théorique de la toile de confiance est :
+
+    WoTmax = (sigStock)*L^(stepMax-1)
+
+Sauf que dans les fait, la plupart des membres ne consommeront pas tout leur stock de certifications. De nombreuses études sociologiques montrent qu'un humain connait en moyenne 50 personnes, remplaçons donc sigStock par 50 : 
+
+  WoTmoy= (50)*(50/sigQty)^(stepMax-1)
+
+Notre toile de confiance peut donc être dimensionnée avec seulement 2 paramètres, notre objectif avec la Ğ1 est de créer une zone économique libre de l'ordre du million d'utilisateurs, voyons donc quelles combinaisons du couple (sigQty;stepMax) permettent d'attendre le million : 
+
+![graphe WoTmoy en fonction de sigQty et stepMax]({filename}/images/wiki/toile-de-confiance/graphe-WoTmoy.png)
+
+La taille max d'une région sybil croît linéairement par rapport a sigQty mais exponentionellement par rapport à stepMax, donc pour avoir une toile la plus solide possible nous devons minimiser la valeur de stepMax. le graphe ci-dessus nous montre que la valeur de stepMax la plus faible pêrmettant d'attendre le million de membres est 5.
+Pour la valeur de sigQty nous avons le choix entre 4 pour atteindre 1,2million ou 5 pour atteindre 1/2 million.
+Sachant que la formule WoTmoy nous donne un ordre de grandeur et qu'elle considère tout les comtpes comme référents (ce qui n'est pas le cas en réalité), la taille maximale réelle que nous pourrons atteindre est certainement plus élevée, 1/2 millon est donc suffisant d'autant que plus sigQty est faible plus il est facile de lancer une attaque sybil (c'est plus simple d'être 4 complices que d'être 5). Par mesure de sécurité nous avons donc choisi 5, ce qui nous donne déjà : 
+
+stepMax = 5
+sigQty = 5
+sigStock >= 50
+
+la taille max d'une région sybil est donc : (sigStock-sigQty)*(1-(sigStock/5)^(5-stepAttackers))/(1-(sigStock/5))
+
+avec sigStock = 50 cela fait une région sybil de :45*(1-10^(5-stepAttackers))/(-9)
+
+Une bonne façon de nous protéger est donc de maximiser stepAttackers. C'est pour cela que nous avons fait en sorte que dans la toile initiale Ğ1 beaucoup de membres référents soit déjà à 4 de distance les un des autres.
+
+Autre moyen de nous prémunir d'une attaque sybil, si elle était suffisamment lente pour que nous ayons le temps de la détecter alors les membres référentes pourraits tendre volontairement la toile pour stopper l'élargissement de la zone sybil le temps que les auteurs de l'attaque soit déchut de leur statut de membre par non renouvellement des certifications légitimes dont ils avaient bénéficier pour devenir membre.
+Le problème c'est qu'une attaque sybil peut etre propagée par des comptes robots qui ce certifieront très vite et de manière optimale, comment donc pourrions nous les ralentir de force ?
+En imposant un délai minimal entre deux certifications !
+
+### 2. une question de temps
+
+  Nous venons de voir que pour ralentir de déploiement d'une attaque sybil afin d'avoir le temps de la détecter et de prendre des mesures, nous pourrions imposer un délai minimal entre deux écritures de certifications par le même compte. c'est la raison pour laquelle nous avons créer le paramètre sigPeriod.
+
+Voici un graphe d'évolution de la taille d'une région sybil en fonction de sigPeriod et de stepAttackers :
+
+f[stepAttackers](t) = {p=0, t
+			p=1, t(sigStock/5)
+			...p=n, t(sigStock/5)^n}
+
+![graphe taille sybil en fonction de sigPeriod et stepAttackers]({filename}/images/wiki/toile-de-confiance/graphe-sigPeriod.png)
+
+### 3. Une confiance éternelle ? (sigValidity, msValidity)
+
+### 4. Éviter que les piscines ne deviennent des dépots sédimentaires (idtyWindow, sigWindow, msWindow)
+
+Il faut nettoyer régulièrement les piscines pour éviter qu'elles n'atteignent des tailles astronomiques et pour garantir que même les petites machines peu puissantes puissent éxécuter un noeud duniter.
+Pour ce faire il faut que les identités et certifications en attentes restent le moins longtemps possible en piscine, elle doivent cependant y rester suffisamment longtemps pour avoir une chance raisonnable d'être inscrites en blockchain.
+
+### 5. Éviter de limiter les membres connaissant beaucoup de monde (sigStock)
+
+### 6. Se prémunir des minorités de blocage (xpercent)
+
+### 7. L'ajout de msPeriod, une protection anti-spam
+
+Ce paramètre un peu a part, rajouter après le bloc zéro, ne sert pas a réguler la toiel de confiance mais a proteger le réseau informatique qui porte la monnaie contre les atatque de type spam.
+En effet, des membres malveillants qui souhaitent nuire au bon fonctionnement de la monnaie pourrait demander leur renouvellement a chaque block (toute les 5 min), ou pire encore, envoyer des centaines de requete de renouvellement par minute pour déborder les noeuds duniter. En l'absence de limitation, les noeuds duniter sont sencés traiter toutes vos requetes de renouvellement, même si vous vous êts renouvellés il y a 5min !
+Pour nous prémunir de cette possibilité d'attaque nous avons ajouté le paramètre `msPeriod`.
+Par souci de simplicité, nous avons choisi de lui attribuer la même valeurs qu'aux paramètres idtyWindow, sigWindow et msWindow.
+
+## Mesure 
+
+* [Étude de l'évolution de la toile Ğ1](#) _(page encore inexistante)_
-- 
GitLab


From eab63d30debe7b0b9fce0a395988de09c7f19da6 Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Tue, 30 Jan 2018 01:16:40 +0100
Subject: [PATCH 2/6] typos

---
 content/pages/wiki/toile-de-confiance.md | 56 ++++++++++++------------
 1 file changed, 29 insertions(+), 27 deletions(-)

diff --git a/content/pages/wiki/toile-de-confiance.md b/content/pages/wiki/toile-de-confiance.md
index ed8ecda..34d9e39 100644
--- a/content/pages/wiki/toile-de-confiance.md
+++ b/content/pages/wiki/toile-de-confiance.md
@@ -8,7 +8,7 @@ L'Objet de cet article est de détailler le fonctionnement des différents param
 
 Aucune connaissance particulière n'est requise pour comprendre ce qui suit, car je vais à chaque fois bien définir toutes les notions abordés et tout les termes utilisés :)
 Cependant nous irons assez loin, nous rentrerons nottament dans le détail du protocole duniter (uniquement sur les parties toile de confiance bien sur) ainsi que dans des aspects de théorie des graphes car cela me semble essentiel pour vraiment comprendre tout les rouages d'une toile de confiance duniter.
-Rassurez vous, nous allons y aller progressivement, nous commencerons par une vision d'ensemble pusi nosu détaillerons graduellement :)
+Rassurez vous, nous allons y aller progressivement, nous commencerons par une vision d'ensemble puis nous détaillerons graduellement :)
 
 ## Prérequis
 Avant de lire cet article, il est vivement recommendé d'étudier la [licence Ğ1](https://duniter.org/fr/files/licence_g1.txt) et de lire les pages suivantes :
@@ -26,9 +26,9 @@ Nous avons besoin d'une toile de confiance pour répondre à 2 objectifs :
 
 Chaque monnaie duniter possède sa propre blockchain au sein de laquelle sont définis ses propres paramètres monétaires (dans le bloc zéro), il s'agit d'un ensemble de "curseurs" qu'il faut ajuster en fonction des objectifs visés. A l'heure ou j'écris ces lignes le protocole duniter (noté DUP) comporte 21 paramètres monétaires dont 10 concernent la toile de confiance !
 Nous décrirons en détail les 10 paramètres qui concernent la toile de confiance, nous n'aborderons pas les autres.
-Sachez simplement que dans le cas de la monnaie Ğ1 le DU est créer toutes les 24h (86400secondes) mais que cet intervalle de temps régit par le paramètre `dt` peut très bien etre fixée a d'autres valeurs d'autres monnaies.
+Sachez simplement que dans le cas de la monnaie Ğ1 le DU est créer toutes les 24h (86400secondes) mais que cet intervalle de temps régit par le paramètre `dt` peut très bien etre fixée a d'autres valeurs pour d'autres monnaies.
 
-Nous ne traiterons pas ici le 2ème objectif relatif a la preuve de travail car ce n'est pas l'objet de cet article, la seule chose a comprendre c'est que la toile de confiance nous permet **d'identifier** les membres qui calculent des blocks, et cette identification nous permet d'imposer une rotation des membres calculateurs, ce ne serait pas possible sans système d'identification. Cette rotation des membres calculateurs est essentielle, sans elle un membre très riche pourrait investir dans des fermes de calcul géante pour prendre le controle de la blockchain et paraliser toute la communauté !
+Nous ne traiterons pas ici le 2ème objectif relatif a la preuve de travail car ce n'est pas l'objet de cet article, la seule chose a comprendre c'est que la toile de confiance nous permet **d'identifier** les membres qui calculent des blocks, et cette identification nous permet d'imposer une rotation des membres calculateurs, ce ne serait pas possible sans système d'identification. Cette rotation des membres calculateurs est essentielle, sans elle un membre très riche pourrait investir dans des fermes de calcul géantes pour prendre le controle de la blockchain et paraliser toute la communauté !
 
 Revennons donc au 1er objectif, s'assurer que chaque humain n'est qu'un seul compte membre.
 En pratique, le risque zéro n'existe pas, notre objectif n'est donc pas de concevoir une toile de confiance au sein de laquelle la fraude serait impossible (ce qui est de toute manière impossible).
@@ -42,11 +42,11 @@ réagir.
 > **Attend, une attaque quoi ?**
 
 Une [**attaque sybil**](https://fr.wikipedia.org/wiki/Attaque_Sybil), c'est le nom que l'on donne à une attaque d'un système de réputation par la création de fausses identités.
-Une toile de confiance est en cas particulier de [**système de réputation**](https://en.wikipedia.org/wiki/Reputation_system).
+Une toile de confiance est un cas particulier de [**système de réputation**](https://en.wikipedia.org/wiki/Reputation_system).
 
 Il y a beaucoup de stratégies de scénarios d'attaques sybil possibles ainsi que de mobiles différents.
 Notre objectif est que la toile de confiance nous prémunisse des attaques sybil susceptibles de compromettre le bon fonctionnement de la monnaie ou/et du réseau informatique qui la porte.
-Ce qui veut dire que les micro attaques sybil orchestrés par un petit groupe dont l'objectif est seulement un petit enrichissement personnel ne nous intéressent pas ici, ce n'est pas a la toile de confaince de nous prémunir de ces micro attaques, mais a la justice de la communauté concernée, tout comme ce n'est pas a la commune de vous prémunir d'un cambriolage chez vous, mais la commune vas vous garantir le fonctionnement des réseaux d'eau, le nettoiement de la voirie, etc
+Ce qui veut dire que les micro attaques sybil orchestrés par un petit groupe dont l'objectif est seulement un petit enrichissement personnel ne nous intéressent pas ici, ce n'est pas a la toile de confiance de nous prémunir de ces micro attaques, mais a la justice de la communauté concernée, tout comme ce n'est pas a la commune de vous prémunir d'un cambriolage chez vous, mais la commune vas vous garantir le fonctionnement des réseaux d'eau, le nettoiement de la voirie, etc
 De la même façon, la toile de confiance duniter nous garantie collectivement le bon fonctionnement de notre monnaie et du réseau informatique qui la porte, et c'est déjà énorme !
 
 ## l'Importance de l'indépendance à tout autre systèmes d'identification
@@ -60,7 +60,7 @@ Il est essentiel pour nous de ne dépendre d'aucun état ni d'aucune institution
 
 ### un peu de vocabulaire
 
-graphe : Ensemble de point(nommé sommets) reliées entre eux par des flèches (nommés arcs).
+graphe : Ensemble de points (nommés sommets) reliées entre eux par des flèches (nommées arcs).
 
 graphe simple : graphe sans boucle (arc reliant un sommet a lui-même) et sans arcs superposés (plusieurs arcs reliant le même couple de sommets dans le même sens).
 
@@ -74,7 +74,7 @@ degré d'un sommet : nombre d'arc reliant ce somment (dans les deux sens).
 
 demi-degré extérieur d'un sommet A : nombre d'arc ayant pour extrémité initiale le sommet A
 
-demi-degré intérieur d'un sommet A : nombre d'arc ayant pour extrémité finale du sommet A
+demi-degré intérieur d'un sommet A : nombre d'arc ayant pour extrémité finale le sommet A
 
 chemin : trajet qu'il faut suivre pour se rendre d'un sommet A à un sommet B en respectant le sens des arcs. Le nombre d'arc traversés est la longueur du chemin. 
 
@@ -93,9 +93,9 @@ Pour finir sur cet histoire d'ancien membre, au bout d'un certain délai qui dé
 > Qu'entend tu par identité ?
 
 Une identité c'est un groupe de 3 informations : une clé publique, un nom, et un blockstamp*.
-Un blockstamp c'est une référence a un block précis d'une blockchain ce qui permet de dater le moment auquel l'identité a été créée, et de relier l'identité a une blockchain particulière, donc a une monnauie particulière (car chaque monnaie a sa propre blockchain).
+Un blockstamp c'est une référence a un block précis d'une blockchain ce qui permet de dater le moment auquel l'identité a été créée, et de relier l'identité a une blockchain particulière, donc a une monnaie particulière (car chaque monnaie a sa propre blockchain).
 
-Une identité peut etre dans 5 états différents : en attente*, membre, ancien membre, révoqué ou exclu.
+Une identité peut etre dans 5 états différents : en attente*, membre, ancien membre, révoquée ou exclue.
 Nous reviendrons plus en détail sur chacun de ses états.
 
 Résumons tout cela avec un exemple : 
@@ -133,7 +133,7 @@ Dans un toile aboutie, c'est à dire dans une toile ou chaque membre a certifier
 
 > **Quand s'applique la règle de distance ?**
 
-la vérification de la règle de distance étant couteuse en calcul, elle ne s'applique que lors de l'obtention et du renouvellement du statut de membre. (Voir partie "renouvellement du statut de membre").
+La vérification de la règle de distance étant couteuse en calcul, elle ne s'applique que lors de l'obtention et du renouvellement du statut de membre. (Voir partie "renouvellement du statut de membre").
 _Cas particulier : la règle de distance ne s'applique pas au block zéro (écriture de la toile initiale)._
 
 ### 2. Règle du nombre minimal de certifications reçus
@@ -141,16 +141,16 @@ _Cas particulier : la règle de distance ne s'applique pas au block zéro (écri
   paramètre : **sigQty**
 
 C'est la règle la plus simple, elle stipule que tout membre doit a tout moment (comprendre a tout bloc) être le destinataire d'au moins `sigQty` certifications actives.
-Si ne serait-ce que pour le temps d'un seul bloc, un membre A se retrouve avec moins de `sigQty` certifications actives reçus, alors il perd le statut de membre a ce bloc là, il doit alors publier une demande de renouvellement.
+Si ne serait-ce que pour le temps d'un seul bloc, un membre A se retrouve avec moins de `sigQty` certifications actives reçus, alors il perd le statut de membre a ce bloc là, il doit alors publier une demande de renouvellement de son adhésion.
 
-### 3. Règle de renouvellement
+### 3. Règle de renouvellement de l'adhésion
 
   paramètres : **msValidity**, **msPeriod** et **msWindow**
 
 L'obtention du statut de membre n'est pas un acquis pour la vie, mais pour une durée de `msValidity` secondes.
 
-Tout membre (ou ancien membre non révoqué et non exclu définitivement) peut a tout moment émettre une demande de renouvellement a condition que son dernier renouvellement date de plus de `msPeriod` secondes (Lorsque qu'un membre ne s'est jamais renouveller la date de dernier renouvellement correspond a la date d'obtention du statut de membre).
-Lorsqu'une demande de renouvellement est émise, elle est stockée en "piscine" pour une durée maximale de `msWindow` secondes, puis elle sera inscrite en blockchain dés que le membre en question respectera la règle de distance **et** la règle sigQty (s'il les respectent déjà, dés qu'un noeud ayant reçu la demande de renouvellement trouve un block).
+Tout membre (ou ancien membre non révoqué et non exclu définitivement) peut a tout moment émettre une demande de renouvellement de son adhésion a condition que son dernier renouvellement date de plus de `msPeriod` secondes (Lorsque qu'un membre ne s'est jamais renouveller la date de dernier renouvellement correspond a la date d'obtention du statut de membre).
+Lorsqu'une demande de renouvellement d'adhésion est émise, elle est stockée en "piscine" pour une durée maximale de `msWindow` secondes, puis elle sera inscrite en blockchain dés que le membre en question respectera la règle de distance **et** la règle sigQty (s'il les respectent déjà, dés qu'un noeud ayant reçu la demande de renouvellement trouve un block).
 
 Tout membre dont le dernier renouvellement date de plus de `msValidity` secondes perd le statut de membre au premier bloc ou cette durée est atteinte. Dans ce cas, l'ancien membre dispose a nouveau d'une durée de `msValidity` secondes pour redevenir membre par cette même procédure de renouvellement. Passé ce délai, donc `2*msValidity` après le dernier renouvellement, l'ancien membre est exclu définitivement et ne pourra plus jamais redevenir membre avec ce compte. S'il souhaite redevenir membre il devra se créer un nouveau compte à partir de zéro.
 
@@ -158,9 +158,9 @@ Tout membre dont le dernier renouvellement date de plus de `msValidity` secondes
 
   paramètre : **sigValidity**
 
-Toute certification inscrite en blockchain expire **sigValidity** secondes après son émission.
+Toute certification inscrite en blockchain expire **sigValidity** secondes après son **émission**.
 
-/!\ l'émission et l'écriture d'une certification sont des instants différents. Lorsque membre A émet une certifiation à un instant t1, elle est d'abord stockée en piscine à cet instant t1, puis sera écrite en blockchain a un instant t2, dés que les règles de la toile de permette, il peut y avoir plusieurs semaines d'écart entre t1 et t2 !!
+/!\ l'émission et l'écriture d'une certification sont des instants différents. Lorsque membre A émet une certifiation à un instant t1, elle est d'abord stockée en piscine à cet instant t1, puis sera écrite en blockchain a un instant t2, dés que les règles de la toile le permettent, il peut y avoir plusieurs semaines d'écart entre t1 et t2 !!
 
 ### 5. Règle du stock limité de certifications actives
 
@@ -197,8 +197,6 @@ Seules les règles 2 et 5 s'appliquent lors de l'écriture du block zéro.
 Dans la pratique, c'est l'humain qui génère le bloc zéro qui choisi manuellement qu'elles identités il écrira dans le block zéro, mais toutes les identités et certifications écrites dans le block zéro doivent respecter les règles 2 et 5 et de plus le block zéro doit être signé avec la clé privée d'une des identités écrites.
 Dés lors qu'un bloc zéro correct a été généré, toute identité inscrite dans ce block zéro peut soumettre le block suivant, de fait l'auteur du block zéro n'a donc plus la main.
 
-### 1. Règle de distance et Membres Référents
-
 ## Origine des règles et cas de la Ğ1
 
 ### 1. Distance et taille limite
@@ -208,7 +206,7 @@ La règle de distance à pour objectif de limiter la taille maximale d'une régi
 
 ![zone sybil]({filename}/images/wiki/toile-de-confiance/zone-sybil.png)
 
-Les régions sybil sont isolés du reste du graphe, car les comptes sybil ne recevrons de certifications que de la part d'autres comptes sybil ou de la part des auteurs de l'attaque. Ainsi, tout plus court chemins entre un membre légitime et un compte, sybil passe forcément par un auteur de l'attaque. La limite de la profondeur de la région sybil dépend donc de la distance max entre des auteurs de l'attaque et les xpercent% membres référents les plus proches, cette distance caractérisqtique est nommée `stepAttackers`.
+Les régions sybil sont isolés du reste du graphe, car les comptes sybil ne recevrons de certifications que de la part d'autres comptes sybil ou de la part des auteurs de l'attaque. Ainsi, tout plus court chemins entre un membre légitime et un compte sybil passe forcément par un auteur de l'attaque. La limite de la profondeur de la région sybil dépend donc de la distance max entre les auteurs de l'attaque et les xpercent% membres référents les plus proches, cette distance caractérisqtique est nommée `stepAttackers`.
 La taille maximale d'une région sybil crée par sigQty membres malveillants dépend du levier L=sigQty/sigStock :
 
     taille max région sybil = (sigStock-sigQty)*(1-L^(stepMax-stepAttackers))/(1-L)
@@ -233,9 +231,9 @@ stepMax = 5
 sigQty = 5
 sigStock >= 50
 
-la taille max d'une région sybil est donc : (sigStock-sigQty)*(1-(sigStock/5)^(5-stepAttackers))/(1-(sigStock/5))
+la taille max d'une région sybil est donc : `(sigStock-sigQty)*(1-(sigStock/5)^(5-stepAttackers))/(1-(sigStock/5))`
 
-avec sigStock = 50 cela fait une région sybil de :45*(1-10^(5-stepAttackers))/(-9)
+avec sigStock = 50 cela fait une région sybil de : `45*(1-10^(5-stepAttackers))/(-9)`
 
 Une bonne façon de nous protéger est donc de maximiser stepAttackers. C'est pour cela que nous avons fait en sorte que dans la toile initiale Ğ1 beaucoup de membres référents soit déjà à 4 de distance les un des autres.
 
@@ -261,18 +259,22 @@ f[stepAttackers](t) = {p=0, t
 
 Il faut nettoyer régulièrement les piscines pour éviter qu'elles n'atteignent des tailles astronomiques et pour garantir que même les petites machines peu puissantes puissent éxécuter un noeud duniter.
 Pour ce faire il faut que les identités et certifications en attentes restent le moins longtemps possible en piscine, elle doivent cependant y rester suffisamment longtemps pour avoir une chance raisonnable d'être inscrites en blockchain.
+Pour la Ğ1, nous avons estimer que 2 mois était un minimum pour que tout les certificateur potentiels d'une nouvelle identité aient le temps de se synchroniser. Nous voulions aussi que cette durée corresponde a un faible nombre d'unités d'une grandeur usuelle, afin d'être facilement intégrée et mémorisée par le plus grand nombre.
+Typiquement, choisir 7 semaines aurait été plus compliqué a intégrer et retenir, nous voulions que les durées a connaitre reste le plus facilement intégrables et mémorisables.
+1 mois nous semblait trop court, la valeur de 2 mois s'est donc imposée. Et par souci de simplicité, nous avons appliquer cette même valeur de 2 mois aux 3 paramètres idtyWindow, sigWindow et msWindow.
 
 ### 5. Éviter de limiter les membres connaissant beaucoup de monde (sigStock)
 
+De nombreuses études sociologiques montrent qu'un humain connait en moyenne 50 personnes, mais c'est une moyenne, certains humains en connaissent beaucoup plus, d'autres beaucoup moins.
+La encore, nous avons trancher par le critère "nombre facile a retenir".  
+Bien que l'impact de sigStock sur la taille max des régions sybil soit secondaire, il conviens tout de même de ne pas choisir un sigStock trop grand !
+150 nous semblait trop élevé, nous avons donc choisis 100.
+
 ### 6. Se prémunir des minorités de blocage (xpercent)
 
 ### 7. L'ajout de msPeriod, une protection anti-spam
 
-Ce paramètre un peu a part, rajouter après le bloc zéro, ne sert pas a réguler la toiel de confiance mais a proteger le réseau informatique qui porte la monnaie contre les atatque de type spam.
-En effet, des membres malveillants qui souhaitent nuire au bon fonctionnement de la monnaie pourrait demander leur renouvellement a chaque block (toute les 5 min), ou pire encore, envoyer des centaines de requete de renouvellement par minute pour déborder les noeuds duniter. En l'absence de limitation, les noeuds duniter sont sencés traiter toutes vos requetes de renouvellement, même si vous vous êts renouvellés il y a 5min !
+Ce paramètre un peu a part, rajouté après le bloc zéro, ne sert pas a réguler la toile de confiance mais a proteger le réseau informatique qui porte la monnaie contre les atatque de type spam.
+En effet, des membres malveillants qui souhaitent nuire au bon fonctionnement de la monnaie pourraient demander leur renouvellement a chaque block (toute les 5 min), ou pire encore, envoyer des centaines de requete de renouvellement par minute pour déborder les noeuds duniter. En l'absence de limitation, les noeuds duniter sont cencés traiter toutes vos requetes de renouvellement, même si vous vous êtes renouvellés il y a 5min !
 Pour nous prémunir de cette possibilité d'attaque nous avons ajouté le paramètre `msPeriod`.
 Par souci de simplicité, nous avons choisi de lui attribuer la même valeurs qu'aux paramètres idtyWindow, sigWindow et msWindow.
-
-## Mesure 
-
-* [Étude de l'évolution de la toile Ğ1](#) _(page encore inexistante)_
-- 
GitLab


From 66ef6e7cb62dfb7b4ac3378417190bef06e1eb34 Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Tue, 30 Jan 2018 15:14:43 +0100
Subject: [PATCH 3/6] add sigValidity & msValidity history

---
 content/pages/wiki/toile-de-confiance.md | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/content/pages/wiki/toile-de-confiance.md b/content/pages/wiki/toile-de-confiance.md
index 34d9e39..b44faac 100644
--- a/content/pages/wiki/toile-de-confiance.md
+++ b/content/pages/wiki/toile-de-confiance.md
@@ -255,6 +255,22 @@ f[stepAttackers](t) = {p=0, t
 
 ### 3. Une confiance éternelle ? (sigValidity, msValidity)
 
+Si toute certification restait valable at vitam eternam, cela serait problématique pour au moins 2 raisons :
+D'une part il est important que les membres qui décedent cessent de créer des DU
+D'autre part, il est important que les faux comptes détectet par la communauté puissent ne pas rester membre indéfiniment.
+
+Pour ce faire, il est nécessaire que les certifications est une durée de vie limités et qu'il faille donc renouveller sa confiance envers ses pairs régulièrement.
+D'un autre coté, il ne faut pas non plus que les membres passent leur vie a renouveller leurs certifications plutot qu'a effectuer des échanges économiques.
+De plus, des certifications a durée de vie trop courte rendrait l'acte de certification trop léger, il faut que l'acte de certification reste conséquent pour être pris au sérieux.
+Enfin, nous souhaitons également que la durée de vie d'une certification soit une durée vraiment très très simple a retenir pour que le plus rgand nombre l'est bien en tête.
+
+Une fois tout ces critères pris en compte, nous hésitions entre 1 an, 2 ans ou 3 ans.
+Historiquement, nous avons d'abord trancher sur les valeurs de sigPeriod et sigStock, ce qui impliquait qu'il fallait a minima 495 jours pour épuiser tout son stock de certifications, 1 an n'est donc pas possible.
+3 ans nous semblait trop long, nous avons donc choisi 2 ans.
+
+Mais considérer qu'un mort va continuer a créer des DU dont personne ne pourra bénéficier pendant une durée pouvant aller jusqu'a 2 ans, cela nous semblait trop. C'est pourquoi nous avons opter pour une durée de vie plus faible concernant le renouvellement de l'adhésion.
+Nous avons donc choisi 1 an mais nous aurions aussi pu choisir 6 mois, la valeur de **msValidity** est au final assez secondaire et pourrait facilement etre modifée dans le futur si la communauté le souhaite.
+
 ### 4. Éviter que les piscines ne deviennent des dépots sédimentaires (idtyWindow, sigWindow, msWindow)
 
 Il faut nettoyer régulièrement les piscines pour éviter qu'elles n'atteignent des tailles astronomiques et pour garantir que même les petites machines peu puissantes puissent éxécuter un noeud duniter.
-- 
GitLab


From ffd6cd64b28b1f1915bcb9b0bdf52ce1bd587830 Mon Sep 17 00:00:00 2001
From: Moul <moul@moul.re>
Date: Tue, 30 Jan 2018 20:39:13 +0100
Subject: [PATCH 4/6] =?UTF-8?q?[enh]=20proofreading.=20Better=20=C4=9E1=20?=
 =?UTF-8?q?license=20link.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 content/pages/wiki/toile-de-confiance.md | 273 +++++++++++------------
 1 file changed, 136 insertions(+), 137 deletions(-)

diff --git a/content/pages/wiki/toile-de-confiance.md b/content/pages/wiki/toile-de-confiance.md
index b44faac..cd0d02f 100644
--- a/content/pages/wiki/toile-de-confiance.md
+++ b/content/pages/wiki/toile-de-confiance.md
@@ -4,209 +4,208 @@ Date: 2017-07-12
 Slug: toile-de-confiance
 Authors: librelois
 
-L'Objet de cet article est de détailler le fonctionnement des différents paramètres d'une toile de confiance duniter ainsi que d'expliquer comment on été choisies les valeurs de ses paramètres dans le cas de la monnaie Ğ1. 
+L'objet de cet article est de détailler le fonctionnement des différents paramètres d'une toile de confiance duniter ainsi que d'expliquer comment ont été choisis les valeurs de ses paramètres dans le cas de la monnaie Ğ1.
 
-Aucune connaissance particulière n'est requise pour comprendre ce qui suit, car je vais à chaque fois bien définir toutes les notions abordés et tout les termes utilisés :)
-Cependant nous irons assez loin, nous rentrerons nottament dans le détail du protocole duniter (uniquement sur les parties toile de confiance bien sur) ainsi que dans des aspects de théorie des graphes car cela me semble essentiel pour vraiment comprendre tout les rouages d'une toile de confiance duniter.
-Rassurez vous, nous allons y aller progressivement, nous commencerons par une vision d'ensemble puis nous détaillerons graduellement :)
+Aucune connaissance particulière n'est requise pour comprendre ce qui suit, car je vais à chaque fois bien définir toutes les notions abordées et tous les termes utilisés :)
+Cependant nous irons assez loin, nous rentrerons nottament dans le détail du protocole duniter (uniquement sur les parties toile de confiance biensûr) ainsi que dans des aspects de théorie des graphes car cela me semble essentiel pour vraiment comprendre tous les rouages d'une toile de confiance duniter.
+Rassurez-vous, nous allons y aller progressivement, nous commencerons par une vision d'ensemble puis nous détaillerons graduellement :)
 
 ## Prérequis
-Avant de lire cet article, il est vivement recommendé d'étudier la [licence Ğ1](https://duniter.org/fr/files/licence_g1.txt) et de lire les pages suivantes :
+Avant de lire cet article, il est vivement recommendé d'étudier la [licence Ğ1](https://duniter.org/fr/wiki/licence-g1) et de lire les pages suivantes :
 * [Devenir membre de la toile de confiance Äž1](../devenir-membre)
 * [Certifier de nouveaux membres](../certifier-de-nouveaux-membres)
 * [Question Fréquentes sur la toile de confiance](../faq)
 
-## Pourquoi à t'on besoin d'une toile de confiance
+## Pourquoi a-t-on besoin d’une toile de confiance ?
 
-Nous avons besoin d'une toile de confiance pour répondre à 2 objectifs :
-1. S'assurer que chaque être humain membre de la monnaie co-créer bien le même nombre de Dividende Universel par intervalle de création (Dans le cas de la Ğ1 cet intervalle vaut `86400` (=1 jour exprimé en secondes), c'est le paramètre monétaire* `dt`).
-2. Identifier les calculateurs de block pour leur affecter une difficulté personnalisée. Cela est nécessaire afin d'éviter que le mécanisme de [preuve de travail](../duniter/preuve-de-travail) ne permette une centralisation du support de la monnaie (la blockchain) comme c'est hélas le cas dans de nombreuses crypto-monnaies non-libres.
+Nous avons besoin d'une toile de confiance pour répondre à deux objectifs :
+1. S'assurer que chaque être humain membre de la monnaie co-créer bien le même nombre de Dividendes Universel par intervalles de création (dans le cas de la Ğ1 cet intervalle est `86400` (=1 jour exprimé en secondes), c'est le paramètre monétaire* `dt`).
+2. Identifier les calculateurs de blocs pour leur affecter une difficulté personnalisée. Cela est nécessaire afin d'éviter que le mécanisme de [preuve de travail](../duniter/preuve-de-travail) ne permette une centralisation du support de la monnaie (la blockchain) comme c'est hélas le cas dans de nombreuses crypto-monnaies non-libres.
 
-> Attend c'est quoi un "paramètre monétaire" ?
+> Attends c'est quoi un "paramètre monétaire" ?
 
-Chaque monnaie duniter possède sa propre blockchain au sein de laquelle sont définis ses propres paramètres monétaires (dans le bloc zéro), il s'agit d'un ensemble de "curseurs" qu'il faut ajuster en fonction des objectifs visés. A l'heure ou j'écris ces lignes le protocole duniter (noté DUP) comporte 21 paramètres monétaires dont 10 concernent la toile de confiance !
-Nous décrirons en détail les 10 paramètres qui concernent la toile de confiance, nous n'aborderons pas les autres.
-Sachez simplement que dans le cas de la monnaie Ğ1 le DU est créer toutes les 24h (86400secondes) mais que cet intervalle de temps régit par le paramètre `dt` peut très bien etre fixée a d'autres valeurs pour d'autres monnaies.
+Chaque monnaie Duniter possède sa propre blockchain au sein de laquelle sont définis ses propres paramètres monétaires (dans le bloc zéro), il s'agit d'un ensemble de "curseurs" qu'il faut ajuster en fonction des objectifs visés. À l'heure ou j'écris ces lignes le protocole Duniter (noté DUP) comporte vingt-et-un paramètres monétaires dont dix concernent la toile de confiance !
+Nous décrirons en détail les dix paramètres qui concernent la toile de confiance, nous n'aborderons pas les autres.
+Sachez simplement que dans le cas de la monnaie Ğ1, le DU est créé toutes les 24 h (86 400 secondes) mais que cet intervalle de temps régit par le paramètre `dt` peut très bien être fixée à d'autres valeurs pour d'autres monnaies.
 
-Nous ne traiterons pas ici le 2ème objectif relatif a la preuve de travail car ce n'est pas l'objet de cet article, la seule chose a comprendre c'est que la toile de confiance nous permet **d'identifier** les membres qui calculent des blocks, et cette identification nous permet d'imposer une rotation des membres calculateurs, ce ne serait pas possible sans système d'identification. Cette rotation des membres calculateurs est essentielle, sans elle un membre très riche pourrait investir dans des fermes de calcul géantes pour prendre le controle de la blockchain et paraliser toute la communauté !
+Nous ne traiterons pas ici le deuxième objectif relatif à la preuve de travail, car ce n'est pas l'objet de cet article, la seule chose à comprendre est que la toile de confiance nous permet **d'identifier** les membres qui calculent des blocs, et que cette identification nous permet d'imposer une rotation des membres calculateurs, ce ne serait pas possible sans système d'identification. Cette rotation des membres calculateurs est essentielle, sans elle un membre très riche pourrait investir dans des fermes de calcul géantes pour prendre le contrôle de la blockchain et paraliser toute la communauté !
 
-Revennons donc au 1er objectif, s'assurer que chaque humain n'est qu'un seul compte membre.
+Revenons donc au premier objectif, s'assurer que chaque humain n'ait qu'un seul compte membre.
 En pratique, le risque zéro n'existe pas, notre objectif n'est donc pas de concevoir une toile de confiance au sein de laquelle la fraude serait impossible (ce qui est de toute manière impossible).
-Voici donc une reformulation plus réaliste en 4 sous-objectifs :
-1. Rendre l’acte de certification suffisamment lourd pour obliger les membres à un minimum de  vigilance.
+Voici donc une reformulation plus réaliste en quatre sous-objectifs :
+1. Rendre l’acte de certification suffisamment lourd pour obliger les membres à un minimum de vigilance.
 2. Rendre la fraude suffisamment difficile pour qu'elle soit marginale.
-3. Éviter que les éventuelles attaques sybil est un impact significatif sur la monnaie. (_que les faux DU créer est un poid négligeable par rapport a la masse monétaire légitime._)
-4. Rendre la croissance de régions sybil suffisamment lente pour que la communauté est le temps de 
-réagir.
+3. Éviter que les éventuelles attaques sybil aient un impact significatif sur la monnaie. (_que les faux DU créés aient un poids négligeable par rapport à la masse monétaire légitime._)
+4. Rendre la croissance de régions sybil suffisamment lente pour que la communauté est le temps de réagir.
 
-> **Attend, une attaque quoi ?**
+> **Attends, une attaque quoi ?**
 
 Une [**attaque sybil**](https://fr.wikipedia.org/wiki/Attaque_Sybil), c'est le nom que l'on donne à une attaque d'un système de réputation par la création de fausses identités.
 Une toile de confiance est un cas particulier de [**système de réputation**](https://en.wikipedia.org/wiki/Reputation_system).
 
 Il y a beaucoup de stratégies de scénarios d'attaques sybil possibles ainsi que de mobiles différents.
-Notre objectif est que la toile de confiance nous prémunisse des attaques sybil susceptibles de compromettre le bon fonctionnement de la monnaie ou/et du réseau informatique qui la porte.
-Ce qui veut dire que les micro attaques sybil orchestrés par un petit groupe dont l'objectif est seulement un petit enrichissement personnel ne nous intéressent pas ici, ce n'est pas a la toile de confiance de nous prémunir de ces micro attaques, mais a la justice de la communauté concernée, tout comme ce n'est pas a la commune de vous prémunir d'un cambriolage chez vous, mais la commune vas vous garantir le fonctionnement des réseaux d'eau, le nettoiement de la voirie, etc
-De la même façon, la toile de confiance duniter nous garantie collectivement le bon fonctionnement de notre monnaie et du réseau informatique qui la porte, et c'est déjà énorme !
+Notre objectif est que la toile de confiance nous prémunisse contre les attaques sybil susceptibles de compromettre le bon fonctionnement de la monnaie ou/et du réseau informatique qui la porte.
+Ce qui veut dire que les micro-attaques sybil orchestrés par un petit groupe dont l'objectif est seulement un petit enrichissement personnel ne nous intéressent pas ici, ce n'est pas à la toile de confiance de nous prémunir de ces micro-attaques, mais à la justice de la communauté concernée, tout comme ce n'est pas à la commune de vous prémunir d'un cambriolage chez vous, mais la commune va vous garantir le fonctionnement des réseaux d'eau, le nettoyage de la voirie, etc…
+De la même façon, la toile de confiance Duniter nous garantie collectivement le bon fonctionnement de notre monnaie et du réseau informatique qui la porte, et c'est déjà énorme !
 
-## l'Importance de l'indépendance à tout autre systèmes d'identification
+## l’importance de l’indépendance à tout autre systèmes d’identification
 
-Il nous ai très régulièrement proposé de nous baser sur des systèmes d'identification centralisés et alimentés par des monnaies non-libre dépendant d'un état ou d'un autre.
-Mais nous serions alors dépendant de ces systèmes d'identification centralisés pour le bon fonctionnement de notre toile de confiance, ça n'a pas de sens.
-De plus, les membres d'une monnaie libre peuvent être de n'importe quelle nationalité ou culture, nous perdrions cette universalité en dépendant d'un système d'identification d'un état ou d'un autre, en plus cela exclurait les sans-papier et les apatrides.
-Il est essentiel pour nous de ne dépendre d'aucun état ni d'aucune institution. Nous ne dépendons que du réseau internet, et encore, il existe d'autres réseaux, si internet vennait a s'étteindre les humains membres d'une monnaies libres pourrait très bien créer leur propre réseau d'information, c'est déjà ce que font certaines associations en créant leurs propres bout de réseau, donc c'est possible.
+Il nous est très régulièrement proposé de nous baser sur des systèmes d'identification centralisés et alimentés par des monnaies non-libre dépendant d'un état ou d'un autre.
+Mais, nous serions alors dépendants de ces systèmes d'identification centralisés pour le bon fonctionnement de notre toile de confiance, ça n'a pas de sens.
+De plus, les membres d'une monnaie libre peuvent être de n'importe quelle nationalité ou culture, nous perdrions cette universalité en dépendant d'un système d'identification étatique. De plus, cela exclurait les sans-papiers et les apatrides.
+Il est essentiel pour nous de ne dépendre d'aucun état ni d'aucune institution. Nous ne dépendons que du réseau internet, et encore, il existe d'autres réseaux, si internet vennait a s'éteindre, les humains membres d'une monnaie libre pourrait très bien créer leur propre réseau d'information, c'est déjà ce que font certaines d’associations en créant leurs propres bout de réseau, donc c'est possible.
 
 ## Quelques bases en théorie des graphes
 
-### un peu de vocabulaire
-
-graphe : Ensemble de points (nommés sommets) reliées entre eux par des flèches (nommées arcs).
-
-graphe simple : graphe sans boucle (arc reliant un sommet a lui-même) et sans arcs superposés (plusieurs arcs reliant le même couple de sommets dans le même sens).
-
-graphe orientés : graphe ou les arcs ont un sens, l'arc A->B est donc différent de l'arc B->A.
-
-extrémité initiale et finale d'un arc : l'arc A->B à pour extrémité initiale A et pour extrémité finale B.
-
-sommet isolé : sommet n'étant lié a aucun arc.
-
-degré d'un sommet : nombre d'arc reliant ce somment (dans les deux sens).
-
-demi-degré extérieur d'un sommet A : nombre d'arc ayant pour extrémité initiale le sommet A
-
-demi-degré intérieur d'un sommet A : nombre d'arc ayant pour extrémité finale le sommet A
-
-chemin : trajet qu'il faut suivre pour se rendre d'un sommet A à un sommet B en respectant le sens des arcs. Le nombre d'arc traversés est la longueur du chemin. 
-
-### définition d'une toile de confiance duniter
-
-Les toiles de confiance duniter (une par monnaie) sont des graphes simples orientés et sans sommets isolés.
+### Un peu de vocabulaire
+
+- graphe : ensemble de points (nommés sommets) reliées entre eux par des flèches (nommées arcs).
+- 
+- graphe simple : graphe sans boucle (arc reliant un sommet à lui-même) et sans arcs superposés (plusieurs arcs reliant le même couple de sommets dans le même sens).
+- 
+- graphe orientés : graphe ou les arcs ont un sens, l'arc A –> B est donc différent de l'arc B –> A.
+- 
+- extrémité initiale et finale d'un arc : l'arc A –> B a pour extrémité initiale A et pour extrémité finale B.
+- 
+- sommet isolé : sommet n'étant lié à aucun arc.
+- 
+- degré d'un sommet : nombre d'arcs reliant ce sommet (dans les deux sens).
+- 
+- demi-degré extérieur d'un sommet A : nombre d'arcs ayant pour extrémités initiales le sommet A
+- 
+- demi-degré intérieur d'un sommet A : nombre d'arcs ayant pour extrémités finales le sommet A
+- 
+- chemin : trajet qu'il faut suivre pour se rendre d'un sommet A à un sommet B en respectant le sens des arcs. Le nombre d'arcs traversés est la longueur du chemin.
+
+### Définition d’une toile de confiance Duniter
+
+Les toiles de confiance Duniter (une par monnaie) sont des graphes simples orientés et sans sommets isolés.
 Les sommets en sont les membres et les arcs les certifications.
 
 Pourquoi orientés ?
-Certifier est un acte personnel qui n'engage que l'émetteur de la certification, la confiance qu'il accorde au receveur n'est pas forcément réciproque dans tout les cas (elle l'est souvent), mais on peut pas imposer au receveur de faire confiance a l'emetteur.
+Certifier est un acte personnel qui n'engage que l'émetteur de la certification, la confiance qu'il accorde au récepteur n'est pas forcément réciproque dans tous les cas (elle l'est souvent), mais on peut pas imposer au récepteur de faire confiance à l'émetteur.
 
-De plus, tout les sommets sont des identités membres ou ayant déjà été membres par le passé, les sommets correspondant aux anciens membres sont dans un état particulier dit "désactivé". Les sommets désactivés ne peuvent plus émettrent ou recevoirs de nouvelles certifications, mais les certifications qu'ils ont émis et reçus avant de perdre leur statut de membre restent actives sur les autres membres jusqu'a leur date d'expiration dans le but d'éviter un éffondrement de la toile en cascade. Si ces anciens membres ne redeviennent pas membres alors les certifications qu'ils avaient émis et reçus finiront par expirés, et les sommets "désactivés" en question finiront donc par devenir des sommets isolés.
+De plus, tous les sommets sont des identités membres ou ayant déjà été membres par le passé, les sommets correspondant aux anciens membres sont dans un état particulier dit "désactivé". Les sommets désactivés ne peuvent plus émettre ou recevoir de nouvelles certifications, mais les certifications qu'ils ont émis et reçus avant de perdre leurs statuts de membre restent actives vers les autres membres jusqu’à leurs dates d'expirations dans le but d'éviter un effondrement en cascade de la toile de confiance. Si ces anciens membres ne redeviennent pas membres alors les certifications qu'ils avaient émis et reçus finiront par expirer, et les sommets "désactivés" en question finiront donc par devenir des sommets isolés.
 
-Pour finir sur cet histoire d'ancien membre, au bout d'un certain délai qui dépend d'un paramètre monétaire le sommet désactivé est supprimé et l'identité associée passe à l'état révoquée, c'est a dire que cette identité ne pourra plus jamais redevenir membre. l'Humain qui possédais cette identité reste toutefois libre de redemander son adhésion dans la toile sous une nouvelle identité :) 
+Pour finir sur cette histoire d'ancien membre, au bout d'un certain délai qui dépend d'un paramètre monétaire, le sommet désactivé est supprimé et l'identité associée passe à l'état révoqué, c'est-à-dire que cette identité ne pourra plus jamais redevenir membre. L’humain qui possédait cette identité reste toutefois libre de redemander son adhésion dans la toile sous une nouvelle identité :)
 
-> Qu'entend tu par identité ?
+> Qu’entends-tu par identité ?
 
-Une identité c'est un groupe de 3 informations : une clé publique, un nom, et un blockstamp*.
-Un blockstamp c'est une référence a un block précis d'une blockchain ce qui permet de dater le moment auquel l'identité a été créée, et de relier l'identité a une blockchain particulière, donc a une monnaie particulière (car chaque monnaie a sa propre blockchain).
+Une identité est un groupe de trois informations : une clé publique, un nom, et un blockstamp.
+Un blockstamp est une référence à un bloc précis d'une blockchain. Ça permet de dater le moment auquel l'identité a été créée, et de relier l'identité à une blockchain particulière, donc à une monnaie particulière (car chaque monnaie a sa propre blockchain).
 
-Une identité peut etre dans 5 états différents : en attente*, membre, ancien membre, révoquée ou exclue.
+Une identité peut être dans cinq états différents : en attente, membre, ancien membre, révoquée ou exclue.
 Nous reviendrons plus en détail sur chacun de ses états.
 
-Résumons tout cela avec un exemple : 
+Résumons tout cela avec un exemple :
 
     A -> B -> C
          |
 	 \--> D
 
-  Si pour une raison x ou y A perd son statut de membre alors la toile s'éffondre et tout les autres membres perdent aussi leur statut de membre en cascade. pour éviter cela, la certification A->B restera valide jusqu'à sa date d'expiration, laissant a B le temps de ce faire certifier par C ou D par exemple.
+Si pour une raison x ou y, A perd son statut de membre, alors la toile s'effondre et tous les autres membres perdent aussi leurs statuts de membre en cascade. Pour éviter cela, la certification A –> B restera valide jusqu'à sa date d'expiration, laissant à B le temps de se faire certifier par C ou D par exemple.
 
-L'absence de sommet isolé implique également que lorsque qu'un nouveau membre est ajouté a la toile de confiance il faut ajouter en même temps (c'est à dire dans le même bloc) l'ensemble des certifications qui lui permette devenir membre.
-C'est pourquoi nous avons besoin d'un espace de stockage intermédiaire qui contient les identités **en attente*** de devenir membre ainsi que les certifications émises par des membres envers ces identités, c'est espace c'est la fameuse "piscine" des noeuds duniter (que l'on aurait aussi pu nommer "bac a sable" puisque dans le code de duniter c'est le terme `sandbox` qui est utilisé). Attention ces "piscine" contiennent également d'autres types de documents qui ne sont pas mentionnés ici.
+L'absence de sommet isolé implique également que lorsque qu'un nouveau membre est ajouté à la toile de confiance il faut ajouter en même temps (c'est-à-dire dans le même bloc) l'ensemble des certifications qui lui permettent de devenir membre.
+C'est pourquoi nous avons besoin d'un espace de stockage intermédiaire qui contient les identités **en attente** de devenir membre ainsi que les certifications émises par des membres envers ces identités, c'est espace c'est la fameuse "piscine" des nœuds Duniter (que l'on aurait aussi pu nommer "bac à sable" puisque dans le code de Duniter c'est le terme `sandbox` qui est utilisé). Notons que ces "piscines" contiennent également d'autres types de documents non mentionnés ici.
 
-## Définition des règles d'une toile de confiance duniter
+## Définition des règles d’une toile de confiance Duniter
 
-  Les toiles de confiance duniter (une par monnaie) sont régies par 8 règles présentées ci-après.
-L'application de ses règles dépendent de 11 paramètres variables d'une monnaie à l'autre, la valeur de 10 d'entre eux sont fixés dans le block zéro, le 11ème paramètre `msPeriod` est en dur dans le code car il a été ajouté après l'écriture du bloc zéro de la Ğ1.
+Les toiles de confiance Duniter (une par monnaie) sont régies par huit règles présentées ci-après.
+L'application de ces règles dépendent de onze paramètres variables d'une monnaie à l'autre. La valeur de dix d'entre eux sont fixés dans le bloc zéro, le onzième paramètre `msPeriod` est écrit en dur dans le code, car il a été ajouté après l'écriture du bloc zéro de la Ğ1.
 Cette partie ne présente que les définitions des règles, les raisons d'être de ces règles sont présentés dans le cadre de l'historicité de leur apparition dans la partie "Origine des règles et cas de la  Ğ1".
 
-### 1. Règle de distance et Membres Référents
+### 1. Règle de distance et membres référents
 
-  paramètres : **StepMax** et **xPercent**
+  Paramètres : **StepMax** et **xPercent**
 
   Ces deux paramètres sont très fortement liés et définissent ensemble une seule et même règle : la règle de distance.
   Pour définir la règle de distance, nous devons au préalable définir ce qu'est un membre référent :
 
-> **Membre référent** : un membre A est référent si et seulement si ses deux demi-degrés sont supérieurs ou égaux à `CEIl(N^(1/stepMax))` où N est le nombre total de membres.**  
+> **Membre référent** : un membre A est référent si et seulement si ses deux demi-degrés sont supérieurs ou égaux à `CEIl(N^(1/stepMax))` où N est le nombre total de membres.**
 
-Nous pouvons maintenant définir la règle de distance : 
+Nous pouvons maintenant définir la règle de distance :
 
-> **Règle de distance** : un membre A respecte la règle de distance si et seulement si pour plus de xPercent % des membres référents R il existe un chemin de R vers A d'une longueur inférieure ou égale à `stepMax`.**  
+> **Règle de distance** : un membre A respecte la règle de distance si et seulement si pour plus de xPercent % des membres référents R il existe un chemin de R vers A d'une longueur inférieure ou égale à `stepMax`.**
 
-La notion de membre référent ne sert qu'a l'application de la règle de distance, les membres référents n'ont aucun privilèges sur les membres non-référents.
-Dans un toile aboutie, c'est à dire dans une toile ou chaque membre a certifier tout les membres qu'il est en mesure de légitimement certifier, tout les membres devraient êtres référents, mais de part la croissance progressive de la toile d'une part et le remplacement générationnel d'autre part, il existe a tout instant t des membres qui n'ont pas encore certifier tout les membres qu'il sont en mesure de légitimement certifier, ces membres là serait bloquants s'il était pris en compte dans la règle de distance, et la toile de confiance ne pourrait jamais acceuillir de nouveaux membres. (Vous pouvez le visualiser sur la page "qualité toile" de currency-monit en cochant l'option "si le concept de membre référent n'existait pas").
+La notion de membre référent ne sert qu'à l'application de la règle de distance, les membres référents n'ont aucuns privilèges sur les membres non-référents.
+Dans un toile aboutie, c'est-à-dire dans une toile ou chaque membre a certifié tous les membres qu'il est en mesure de certifier légitimement, tous les membres devraient êtres référents, mais de part la croissance progressive de la toile d'une part et le remplacement générationnel d'autre part, il existe à tous instants `t` des membres qui n'ont pas encore certifié tous les membres qu'ils sont en mesure de certifier légitimement. Ces membres seraient bloquants s'ils étaient pris en compte dans la règle de distance, et la toile de confiance ne pourrait jamais acceuillir de nouveaux membres. (Vous pouvez le visualiser sur la page "qualité toile" de currency-monit en cochant l'option "si le concept de membre référent n'existait pas").
 
 > **Quand s'applique la règle de distance ?**
 
 La vérification de la règle de distance étant couteuse en calcul, elle ne s'applique que lors de l'obtention et du renouvellement du statut de membre. (Voir partie "renouvellement du statut de membre").
-_Cas particulier : la règle de distance ne s'applique pas au block zéro (écriture de la toile initiale)._
+_Cas particulier : la règle de distance ne s'applique pas au bloc zéro (écriture de la toile initiale)._
 
 ### 2. Règle du nombre minimal de certifications reçus
 
-  paramètre : **sigQty**
+  Paramètre : **sigQty**
 
-C'est la règle la plus simple, elle stipule que tout membre doit a tout moment (comprendre a tout bloc) être le destinataire d'au moins `sigQty` certifications actives.
-Si ne serait-ce que pour le temps d'un seul bloc, un membre A se retrouve avec moins de `sigQty` certifications actives reçus, alors il perd le statut de membre a ce bloc là, il doit alors publier une demande de renouvellement de son adhésion.
+C'est la règle la plus simple, elle stipule que tout membre doit à tout moment (comprendre à tous blocs) être le destinataire d'au moins `sigQty` certifications actives.
+Si ne serait-ce que pour le temps d'un seul bloc, un membre A se retrouve avec moins de `sigQty` certifications actives reçus, alors il perd le statut de membre à ce bloc. Il doit alors publier une demande de renouvellement de son adhésion.
 
-### 3. Règle de renouvellement de l'adhésion
+### 3. Règle de renouvellement de l’adhésion
 
-  paramètres : **msValidity**, **msPeriod** et **msWindow**
+  Paramètres : **msValidity**, **msPeriod** et **msWindow**
 
 L'obtention du statut de membre n'est pas un acquis pour la vie, mais pour une durée de `msValidity` secondes.
 
-Tout membre (ou ancien membre non révoqué et non exclu définitivement) peut a tout moment émettre une demande de renouvellement de son adhésion a condition que son dernier renouvellement date de plus de `msPeriod` secondes (Lorsque qu'un membre ne s'est jamais renouveller la date de dernier renouvellement correspond a la date d'obtention du statut de membre).
-Lorsqu'une demande de renouvellement d'adhésion est émise, elle est stockée en "piscine" pour une durée maximale de `msWindow` secondes, puis elle sera inscrite en blockchain dés que le membre en question respectera la règle de distance **et** la règle sigQty (s'il les respectent déjà, dés qu'un noeud ayant reçu la demande de renouvellement trouve un block).
+Tout membre (ou ancien membre non révoqué et non exclu définitivement) peut à tout moment émettre une demande de renouvellement de son adhésion à condition que son dernier renouvellement date de plus de `msPeriod` secondes (lorsque qu'un membre ne s'est jamais renouvellé, la date du dernier renouvellement correspond à la date d'obtention du statut de membre).
+Lorsqu'une demande de renouvellement d'adhésion est émise, elle est stockée en "piscine" pour une durée maximale de `msWindow` secondes, puis elle sera inscrite en blockchain dès que le membre en question respectera la règle de distance **et** la règle sigQty (s’il les respecte déjà, dès qu'un nœud ayant reçu la demande de renouvellement trouve un bloc).
 
-Tout membre dont le dernier renouvellement date de plus de `msValidity` secondes perd le statut de membre au premier bloc ou cette durée est atteinte. Dans ce cas, l'ancien membre dispose a nouveau d'une durée de `msValidity` secondes pour redevenir membre par cette même procédure de renouvellement. Passé ce délai, donc `2*msValidity` après le dernier renouvellement, l'ancien membre est exclu définitivement et ne pourra plus jamais redevenir membre avec ce compte. S'il souhaite redevenir membre il devra se créer un nouveau compte à partir de zéro.
+Tout membre dont le dernier renouvellement date de plus de `msValidity` secondes perd le statut de membre au premier bloc ou cette durée est atteinte. Dans ce cas, l'ancien membre dispose à nouveau d'une durée de `msValidity` secondes pour redevenir membre par cette même procédure de renouvellement. Passé ce délai, donc `2 × msValidity` après le dernier renouvellement, l'ancien membre est exclu définitivement et ne pourra plus jamais redevenir membre avec ce compte. S'il souhaite redevenir membre il devra se créer un nouveau compte à partir de zéro.
 
-### 4. Règle d'expiration des certifications
+### 4. Règle d’expiration des certifications
 
-  paramètre : **sigValidity**
+  Paramètre : **sigValidity**
 
 Toute certification inscrite en blockchain expire **sigValidity** secondes après son **émission**.
 
-/!\ l'émission et l'écriture d'une certification sont des instants différents. Lorsque membre A émet une certifiation à un instant t1, elle est d'abord stockée en piscine à cet instant t1, puis sera écrite en blockchain a un instant t2, dés que les règles de la toile le permettent, il peut y avoir plusieurs semaines d'écart entre t1 et t2 !!
+/!\ L'émission et l'écriture d'une certification ont lieu à des instants différents. Lorsque le membre A émet une certifiation à un instant t1, elle est d'abord stockée en piscine à cet instant t1, puis sera écrite en blockchain à un instant t2, dès que les règles de la toile le permettent, il peut y avoir plusieurs semaines d'écarts entre t1 et t2 !!
 
 ### 5. Règle du stock limité de certifications actives
 
-  paramètre : **sigStock**
+  Paramètre : **sigStock**
 
-Par certification active nous entendons certification inscrite en blockchain et qui n'a pas encore expirée.
+Par certification active nous entendons certification inscrite en blockchain et qui n'a pas encore expiré.
 
-A tout bloc et pour tout membre, l'ensemble des certifications émises par ce membre et actives doit être inférieur ou égal à sigStock. Lorsque ce quota est atteint, le membre en question devra attendre qu'une certification active dont il est l'émétteur expire pour pouvoir en écrire une autre.
+À tout bloc et pour tout membre, l'ensemble des certifications émises par ce membre et actives doit être inférieur ou égal à sigStock. Lorsque ce quota est atteint, le membre en question devra attendre qu'une certification active dont il est l'émetteur expire pour pouvoir en écrire une autre.
 
-### 6. Règle de l'intervalle d'écriture entre deux certifications
+### 6. Règle de l’intervalle d’écriture entre deux certifications
 
-  paramètre : **sigPeriod**
+  Paramètre : **sigPeriod**
 
 Lorsqu'une certification émise par un membre A est écrite en blockchain, aucune autre certification émise par A ne pourra être écrite en blockchain avant `sigPeriod` secondes.
 
-### 7. Règle de la fenêtre d'écriture d'une certification 
+### 7. Règle de la fenêtre d’écriture d’une certification
 
-  paramètre : **sigWindow**
+  Paramètre : **sigWindow**
 
 Lorsqu'une certification est émise par un membre A, elle restera stockée en "piscine" pour au plus `sigWindow` secondes. Si la certification en question n'a toujours pas été écrite en blockchain passé ce délai, elle est purement supprimée.
 
-### 8. Règle de la fenêtre d'écriture d'une identité 
+### 8. Règle de la fenêtre d’écriture d'une identité 
 
-  paramètre : **idtyWindow**
+  Paramètre : **idtyWindow**
 
 Lorsqu'une identitée est émise, elle restera stockée en "piscine" pour au plus `idtyWindow` secondes. Si l'identitée en question n'a toujours pas été écrite en blockchain passé ce délai, elle est purement supprimée.
 
-## Le cas particulier de la toile initiale au block zéro
+## Le cas particulier de la toile initiale au bloc zéro
 
-  L'application des règles présentées ne rend l'expansion d'une toile possible qu'a partir d'une toile pré-éxistante, il y a donc un cas particulier ou certaines règles ne s'appliquent pas : l'écriture du block zéro.
+L'application des règles présentées ne rend l'expansion d'une toile possible qu’à partir d'une toile pré-éxistante, il y a donc un cas particulier ou certaines règles ne s'appliquent pas : l'écriture du bloc zéro.
 
-Seules les règles 2 et 5 s'appliquent lors de l'écriture du block zéro.
+Seules les règles 2 et 5 s'appliquent lors de l'écriture du bloc zéro.
 
-Dans la pratique, c'est l'humain qui génère le bloc zéro qui choisi manuellement qu'elles identités il écrira dans le block zéro, mais toutes les identités et certifications écrites dans le block zéro doivent respecter les règles 2 et 5 et de plus le block zéro doit être signé avec la clé privée d'une des identités écrites.
-Dés lors qu'un bloc zéro correct a été généré, toute identité inscrite dans ce block zéro peut soumettre le block suivant, de fait l'auteur du block zéro n'a donc plus la main.
+Dans la pratique, c'est l'humain qui génère le bloc zéro qui choisi manuellement quelles identités sont écrites dans le bloc zéro, mais toutes les identités et certifications écrites dans le bloc zéro doivent respecter les règles 2 et 5 et de plus le bloc zéro doit être signé avec la clé privée d'une des identités écrites.
+Dès lors qu'un bloc zéro correct a été généré, toute identité inscrite dans le bloc zéro peut soumettre le bloc suivant, de fait l'auteur du bloc zéro n'a donc plus la main.
 
 ## Origine des règles et cas de la Ğ1
 
 ### 1. Distance et taille limite
 
-La règle de distance à pour objectif de limiter la taille maximale d'une région sybil ainsi que la taille maximale de la communauté monétaire.
+La règle de distance a pour objectif de limiter la taille maximale d'une région sybil ainsi que la taille maximale de la communauté monétaire.
 `xpercent` permet d'éviter une minorité de blocage (membres trop peu actifs).
 
 ![zone sybil]({filename}/images/wiki/toile-de-confiance/zone-sybil.png)
 
-Les régions sybil sont isolés du reste du graphe, car les comptes sybil ne recevrons de certifications que de la part d'autres comptes sybil ou de la part des auteurs de l'attaque. Ainsi, tout plus court chemins entre un membre légitime et un compte sybil passe forcément par un auteur de l'attaque. La limite de la profondeur de la région sybil dépend donc de la distance max entre les auteurs de l'attaque et les xpercent% membres référents les plus proches, cette distance caractérisqtique est nommée `stepAttackers`.
+Les régions sybil sont isolés du reste du graphe, car les comptes sybil ne reçevrons de certifications que de la part d'autres comptes sybil ou de la part des auteurs de l'attaque. Ainsi, tout plus court chemins entre un membre légitime et un compte sybil passe forcément par un auteur de l'attaque. La limite de la profondeur de la région sybil dépend donc de la distance maximum entre les auteurs de l'attaque et les xpercent% membres référents les plus proches, cette distance caractéristique est nommée `stepAttackers`.
 La taille maximale d'une région sybil crée par sigQty membres malveillants dépend du levier L=sigQty/sigStock :
 
     taille max région sybil = (sigStock-sigQty)*(1-L^(stepMax-stepAttackers))/(1-L)
@@ -215,17 +214,17 @@ Et de même la taille maximale théorique de la toile de confiance est :
 
     WoTmax = (sigStock)*L^(stepMax-1)
 
-Sauf que dans les fait, la plupart des membres ne consommeront pas tout leur stock de certifications. De nombreuses études sociologiques montrent qu'un humain connait en moyenne 50 personnes, remplaçons donc sigStock par 50 : 
+Sauf que dans les faits, la plupart des membres ne consommeront pas tout leurs stocks de certifications. De nombreuses études sociologiques montrent qu'un humain connaît en moyenne cinquante personnes, remplaçons donc sigStock par 50 :
 
   WoTmoy= (50)*(50/sigQty)^(stepMax-1)
 
-Notre toile de confiance peut donc être dimensionnée avec seulement 2 paramètres, notre objectif avec la Ğ1 est de créer une zone économique libre de l'ordre du million d'utilisateurs, voyons donc quelles combinaisons du couple (sigQty;stepMax) permettent d'attendre le million : 
+Notre toile de confiance peut donc être dimensionnée avec seulement deux paramètres, notre objectif avec la Ğ1 est de créer une zone économique libre de l'ordre du million d'utilisateurs, voyons donc quelles combinaisons du couple (sigQty;stepMax) permettent d'attendre le million :
 
 ![graphe WoTmoy en fonction de sigQty et stepMax]({filename}/images/wiki/toile-de-confiance/graphe-WoTmoy.png)
 
-La taille max d'une région sybil croît linéairement par rapport a sigQty mais exponentionellement par rapport à stepMax, donc pour avoir une toile la plus solide possible nous devons minimiser la valeur de stepMax. le graphe ci-dessus nous montre que la valeur de stepMax la plus faible pêrmettant d'attendre le million de membres est 5.
-Pour la valeur de sigQty nous avons le choix entre 4 pour atteindre 1,2million ou 5 pour atteindre 1/2 million.
-Sachant que la formule WoTmoy nous donne un ordre de grandeur et qu'elle considère tout les comtpes comme référents (ce qui n'est pas le cas en réalité), la taille maximale réelle que nous pourrons atteindre est certainement plus élevée, 1/2 millon est donc suffisant d'autant que plus sigQty est faible plus il est facile de lancer une attaque sybil (c'est plus simple d'être 4 complices que d'être 5). Par mesure de sécurité nous avons donc choisi 5, ce qui nous donne déjà : 
+La taille maximale d'une région sybil croît linéairement par rapport à sigQty mais exponentionellement par rapport à stepMax, donc pour avoir une toile la plus solide possible, nous devons minimiser la valeur de stepMax. Le graphe ci-dessus nous montre que la valeur de stepMax la plus faible permettant d'attendre le million de membres est de cinq.
+Pour la valeur de sigQty nous avons le choix entre quatre pour atteindre 1,2 million ou cinq pour atteindre le demi million.
+Sachant que la formule WoTmoy nous donne un ordre de grandeur et qu'elle considère tous les comtpes comme référents (ce qui n'est pas le cas en réalité), la taille maximale réelle que nous pourrons atteindre est certainement plus élevée, un demi millon est donc suffisant d'autant que plus sigQty est faible plus il est facile de lancer une attaque sybil (c'est plus simple d'être quatre complices que d'être cinq). Par mesure de sécurité nous avons donc choisi cinq, ce qui nous donne déjà :
 
 stepMax = 5
 sigQty = 5
@@ -235,17 +234,17 @@ la taille max d'une région sybil est donc : `(sigStock-sigQty)*(1-(sigStock/5)^
 
 avec sigStock = 50 cela fait une région sybil de : `45*(1-10^(5-stepAttackers))/(-9)`
 
-Une bonne façon de nous protéger est donc de maximiser stepAttackers. C'est pour cela que nous avons fait en sorte que dans la toile initiale Ğ1 beaucoup de membres référents soit déjà à 4 de distance les un des autres.
+Une bonne façon de nous protéger est donc de maximiser `stepAttackers`. C'est pour cela que nous avons fait en sorte que dans la toile initiale Ğ1 beaucoup de membres référents soient déjà à quatre de distance les un des autres.
 
-Autre moyen de nous prémunir d'une attaque sybil, si elle était suffisamment lente pour que nous ayons le temps de la détecter alors les membres référentes pourraits tendre volontairement la toile pour stopper l'élargissement de la zone sybil le temps que les auteurs de l'attaque soit déchut de leur statut de membre par non renouvellement des certifications légitimes dont ils avaient bénéficier pour devenir membre.
-Le problème c'est qu'une attaque sybil peut etre propagée par des comptes robots qui ce certifieront très vite et de manière optimale, comment donc pourrions nous les ralentir de force ?
-En imposant un délai minimal entre deux certifications !
+Autre moyen de nous prémunir d'une attaque sybil, si elle était suffisamment lente pour que nous ayons le temps de la détecter alors les membres référentes pourraits tendre volontairement la toile pour stopper l'élargissement de la zone sybil le temps que les auteurs de l'attaque soit déchut de leur statut de membre par non renouvellement des certifications légitimes dont ils avaient bénéficié pour devenir membre.
+Le problème c'est qu'une attaque sybil peut être propagée par des comptes robots qui se certifieront très rapidement et de manière optimale, comment donc pourrions-nous les ralentir de force ?
+En imposant un délai minimal entre deux certifications !
 
 ### 2. une question de temps
 
-  Nous venons de voir que pour ralentir de déploiement d'une attaque sybil afin d'avoir le temps de la détecter et de prendre des mesures, nous pourrions imposer un délai minimal entre deux écritures de certifications par le même compte. c'est la raison pour laquelle nous avons créer le paramètre sigPeriod.
+Nous venons de voir que pour ralentir de déploiement d'une attaque sybil afin d'avoir le temps de la détecter et de prendre des mesures, nous pourrions imposer un délai minimal entre deux écritures de certifications par le même compte. C’est la raison pour laquelle nous avons créé le paramètre `sigPeriod`.
 
-Voici un graphe d'évolution de la taille d'une région sybil en fonction de sigPeriod et de stepAttackers :
+Voici un graphe d'évolution de la taille d'une région sybil en fonction de `sigPeriod` et de `stepAttackers` :
 
 f[stepAttackers](t) = {p=0, t
 			p=1, t(sigStock/5)
@@ -255,42 +254,42 @@ f[stepAttackers](t) = {p=0, t
 
 ### 3. Une confiance éternelle ? (sigValidity, msValidity)
 
-Si toute certification restait valable at vitam eternam, cela serait problématique pour au moins 2 raisons :
-D'une part il est important que les membres qui décedent cessent de créer des DU
-D'autre part, il est important que les faux comptes détectet par la communauté puissent ne pas rester membre indéfiniment.
+Si toute certification restait valable at vitam eternam, cela serait problématique pour au moins deux raisons :
+D'une part il est important que les membres qui décédent cessent de créer des DU.
+D'autre part, il est important que les faux comptes détectés par la communauté puissent ne pas rester membre indéfiniment.
 
-Pour ce faire, il est nécessaire que les certifications est une durée de vie limités et qu'il faille donc renouveller sa confiance envers ses pairs régulièrement.
-D'un autre coté, il ne faut pas non plus que les membres passent leur vie a renouveller leurs certifications plutot qu'a effectuer des échanges économiques.
-De plus, des certifications a durée de vie trop courte rendrait l'acte de certification trop léger, il faut que l'acte de certification reste conséquent pour être pris au sérieux.
-Enfin, nous souhaitons également que la durée de vie d'une certification soit une durée vraiment très très simple a retenir pour que le plus rgand nombre l'est bien en tête.
+Pour ce faire, il est nécessaire que les certifications aient une durée de vie limités et qu'il faille donc renouveller sa confiance envers ses pairs régulièrement.
+D'un autre côté, il ne faut pas non plus que les membres passent leur vie à renouveller leurs certifications plutôt qu'à participer à des échanges économiques.
+De plus, une certification à durée de vie trop courte rendrait l'acte de certification trop léger. Il faut que l'acte de certification reste conséquent pour être pris au sérieux.
+Enfin, nous souhaitons également que la durée de vie d'une certification soit une durée simple à retenir pour que le plus grand nombre s’en souvienne.
 
-Une fois tout ces critères pris en compte, nous hésitions entre 1 an, 2 ans ou 3 ans.
-Historiquement, nous avons d'abord trancher sur les valeurs de sigPeriod et sigStock, ce qui impliquait qu'il fallait a minima 495 jours pour épuiser tout son stock de certifications, 1 an n'est donc pas possible.
-3 ans nous semblait trop long, nous avons donc choisi 2 ans.
+Une fois tous ces critères pris en compte, nous hésitions entre un, deux ou trois ans.
+Historiquement, nous avons d'abord tranché sur les valeurs de `sigPeriod` et `sigStock`, ce qui impliquait qu'il fallait a minima 495 jours pour épuiser tout son stock de certifications, un an n'est donc pas possible.
+Trois ans nous semblait trop long, nous avons donc choisi deux ans.
 
-Mais considérer qu'un mort va continuer a créer des DU dont personne ne pourra bénéficier pendant une durée pouvant aller jusqu'a 2 ans, cela nous semblait trop. C'est pourquoi nous avons opter pour une durée de vie plus faible concernant le renouvellement de l'adhésion.
-Nous avons donc choisi 1 an mais nous aurions aussi pu choisir 6 mois, la valeur de **msValidity** est au final assez secondaire et pourrait facilement etre modifée dans le futur si la communauté le souhaite.
+Mais considérer qu'un mort va continuer à créer des DU dont personne ne pourra bénéficier pendant une durée pouvant aller jusqu'à deux ans, cela nous semblait trop. C'est pourquoi nous avons opté pour une durée de vie plus faible concernant le renouvellement de l'adhésion.
+Nous avons donc choisi un an. Mais, nous aurions aussi pu choisir six mois. La valeur de **msValidity** est au final assez secondaire et pourrait facilement être modifée dans le futur si la communauté le souhaite.
 
-### 4. Éviter que les piscines ne deviennent des dépots sédimentaires (idtyWindow, sigWindow, msWindow)
+### 4. Éviter que les piscines ne deviennent des dépôts sédimentaires (idtyWindow, sigWindow, msWindow)
 
-Il faut nettoyer régulièrement les piscines pour éviter qu'elles n'atteignent des tailles astronomiques et pour garantir que même les petites machines peu puissantes puissent éxécuter un noeud duniter.
-Pour ce faire il faut que les identités et certifications en attentes restent le moins longtemps possible en piscine, elle doivent cependant y rester suffisamment longtemps pour avoir une chance raisonnable d'être inscrites en blockchain.
-Pour la Ğ1, nous avons estimer que 2 mois était un minimum pour que tout les certificateur potentiels d'une nouvelle identité aient le temps de se synchroniser. Nous voulions aussi que cette durée corresponde a un faible nombre d'unités d'une grandeur usuelle, afin d'être facilement intégrée et mémorisée par le plus grand nombre.
-Typiquement, choisir 7 semaines aurait été plus compliqué a intégrer et retenir, nous voulions que les durées a connaitre reste le plus facilement intégrables et mémorisables.
-1 mois nous semblait trop court, la valeur de 2 mois s'est donc imposée. Et par souci de simplicité, nous avons appliquer cette même valeur de 2 mois aux 3 paramètres idtyWindow, sigWindow et msWindow.
+Il faut nettoyer régulièrement les piscines pour éviter qu'elles n'atteignent des tailles astronomiques et pour garantir que même les petites machines peu puissantes puissent exécuter un nœud Duniter.
+Pour ce faire il faut que les identités et certifications en attentes restent le moins longtemps possible en piscine, elles doivent cependant y rester suffisamment longtemps pour avoir une chance raisonnable d'être inscrites en blockchain.
+Pour la Ğ1, nous avons estimé que deux mois étaient un minimum pour que tous les certificateurs potentiels d'une nouvelle identité aient le temps de se synchroniser. Nous voulions aussi que cette durée corresponde à un faible nombre d'unités d'une grandeur usuelle, afin d'être facilement intégrée et mémorisée par le plus grand nombre.
+Typiquement, choisir sept semaines aurait été plus compliqué à intégrer et à retenir. Nous voulions que les durées à connaître restent le plus facilement intégrable et mémorisables.
+Un mois nous semblait trop court, la valeur de deux mois s'est donc imposée. Et par souci de simplicité, nous avons appliqué cette même valeur de deux mois aux trois paramètres `idtyWindow`, `sigWindow` et `msWindow`.
 
 ### 5. Éviter de limiter les membres connaissant beaucoup de monde (sigStock)
 
-De nombreuses études sociologiques montrent qu'un humain connait en moyenne 50 personnes, mais c'est une moyenne, certains humains en connaissent beaucoup plus, d'autres beaucoup moins.
-La encore, nous avons trancher par le critère "nombre facile a retenir".  
-Bien que l'impact de sigStock sur la taille max des régions sybil soit secondaire, il conviens tout de même de ne pas choisir un sigStock trop grand !
-150 nous semblait trop élevé, nous avons donc choisis 100.
+De nombreuses études sociologiques montrent qu'un humain connait en moyenne cinquante personnes. Bien entendu, c'est une moyenne. Certains humains en connaissent beaucoup plus, d'autres beaucoup moins.
+Là encore, nous avons tranché par le critère "nombre facile à retenir".
+Bien que l'impact de `sigStock` sur la taille maximale des régions sybil soit secondaire, il convient tout de même de ne pas choisir un `sigStock` trop grand !
+150 nous semblait trop élevé, nous avons donc choisi 100.
 
 ### 6. Se prémunir des minorités de blocage (xpercent)
 
 ### 7. L'ajout de msPeriod, une protection anti-spam
 
-Ce paramètre un peu a part, rajouté après le bloc zéro, ne sert pas a réguler la toile de confiance mais a proteger le réseau informatique qui porte la monnaie contre les atatque de type spam.
-En effet, des membres malveillants qui souhaitent nuire au bon fonctionnement de la monnaie pourraient demander leur renouvellement a chaque block (toute les 5 min), ou pire encore, envoyer des centaines de requete de renouvellement par minute pour déborder les noeuds duniter. En l'absence de limitation, les noeuds duniter sont cencés traiter toutes vos requetes de renouvellement, même si vous vous êtes renouvellés il y a 5min !
+Ce paramètre un peu à part, rajouté après le bloc zéro, ne sert pas à réguler la toile de confiance mais à proteger le réseau informatique qui porte la monnaie contre les attaques de type spam.
+En effet, des membres malveillants qui souhaitent nuire au bon fonctionnement de la monnaie pourraient demander leur renouvellement à chaque bloc (toutes les cinq minutes), ou pire encore, envoyer des centaines de requêtes de renouvellement par minute pour submerger les nœuds Duniter. En l'absence de limitation, les nœuds Duniter sont cencés traiter toutes les requêtes de renouvellement, même si l’adhésion a été renouvellées il y a cinq minutes !
 Pour nous prémunir de cette possibilité d'attaque nous avons ajouté le paramètre `msPeriod`.
-Par souci de simplicité, nous avons choisi de lui attribuer la même valeurs qu'aux paramètres idtyWindow, sigWindow et msWindow.
+Par souci de simplicité, nous avons choisi de lui attribuer la même valeurs qu'aux paramètres `idtyWindow`, `sigWindow` et `msWindow`.
-- 
GitLab


From b00058a52c21d1bb2eafb56c3f00488fc28bd2be Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Thu, 12 Apr 2018 23:20:22 +0200
Subject: [PATCH 5/6] comply markdownlint

---
 content/pages/wiki/toile-de-confiance.md | 96 ++++++++++++------------
 1 file changed, 48 insertions(+), 48 deletions(-)

diff --git a/content/pages/wiki/toile-de-confiance.md b/content/pages/wiki/toile-de-confiance.md
index cd0d02f..2fd72ed 100644
--- a/content/pages/wiki/toile-de-confiance.md
+++ b/content/pages/wiki/toile-de-confiance.md
@@ -10,15 +10,18 @@ Aucune connaissance particulière n'est requise pour comprendre ce qui suit, car
 Cependant nous irons assez loin, nous rentrerons nottament dans le détail du protocole duniter (uniquement sur les parties toile de confiance biensûr) ainsi que dans des aspects de théorie des graphes car cela me semble essentiel pour vraiment comprendre tous les rouages d'une toile de confiance duniter.
 Rassurez-vous, nous allons y aller progressivement, nous commencerons par une vision d'ensemble puis nous détaillerons graduellement :)
 
-## Prérequis
+# Prérequis
+
 Avant de lire cet article, il est vivement recommendé d'étudier la [licence Ğ1](https://duniter.org/fr/wiki/licence-g1) et de lire les pages suivantes :
+
 * [Devenir membre de la toile de confiance Äž1](../devenir-membre)
 * [Certifier de nouveaux membres](../certifier-de-nouveaux-membres)
 * [Question Fréquentes sur la toile de confiance](../faq)
 
-## Pourquoi a-t-on besoin d’une toile de confiance ?
+# Pourquoi a-t-on besoin d’une toile de confiance
 
 Nous avons besoin d'une toile de confiance pour répondre à deux objectifs :
+
 1. S'assurer que chaque être humain membre de la monnaie co-créer bien le même nombre de Dividendes Universel par intervalles de création (dans le cas de la Ğ1 cet intervalle est `86400` (=1 jour exprimé en secondes), c'est le paramètre monétaire* `dt`).
 2. Identifier les calculateurs de blocs pour leur affecter une difficulté personnalisée. Cela est nécessaire afin d'éviter que le mécanisme de [preuve de travail](../duniter/preuve-de-travail) ne permette une centralisation du support de la monnaie (la blockchain) comme c'est hélas le cas dans de nombreuses crypto-monnaies non-libres.
 
@@ -33,6 +36,7 @@ Nous ne traiterons pas ici le deuxième objectif relatif à la preuve de travail
 Revenons donc au premier objectif, s'assurer que chaque humain n'ait qu'un seul compte membre.
 En pratique, le risque zéro n'existe pas, notre objectif n'est donc pas de concevoir une toile de confiance au sein de laquelle la fraude serait impossible (ce qui est de toute manière impossible).
 Voici donc une reformulation plus réaliste en quatre sous-objectifs :
+
 1. Rendre l’acte de certification suffisamment lourd pour obliger les membres à un minimum de vigilance.
 2. Rendre la fraude suffisamment difficile pour qu'elle soit marginale.
 3. Éviter que les éventuelles attaques sybil aient un impact significatif sur la monnaie. (_que les faux DU créés aient un poids négligeable par rapport à la masse monétaire légitime._)
@@ -55,29 +59,29 @@ Mais, nous serions alors dépendants de ces systèmes d'identification centralis
 De plus, les membres d'une monnaie libre peuvent être de n'importe quelle nationalité ou culture, nous perdrions cette universalité en dépendant d'un système d'identification étatique. De plus, cela exclurait les sans-papiers et les apatrides.
 Il est essentiel pour nous de ne dépendre d'aucun état ni d'aucune institution. Nous ne dépendons que du réseau internet, et encore, il existe d'autres réseaux, si internet vennait a s'éteindre, les humains membres d'une monnaie libre pourrait très bien créer leur propre réseau d'information, c'est déjà ce que font certaines d’associations en créant leurs propres bout de réseau, donc c'est possible.
 
-## Quelques bases en théorie des graphes
-
-### Un peu de vocabulaire
-
-- graphe : ensemble de points (nommés sommets) reliées entre eux par des flèches (nommées arcs).
-- 
-- graphe simple : graphe sans boucle (arc reliant un sommet à lui-même) et sans arcs superposés (plusieurs arcs reliant le même couple de sommets dans le même sens).
-- 
-- graphe orientés : graphe ou les arcs ont un sens, l'arc A –> B est donc différent de l'arc B –> A.
-- 
-- extrémité initiale et finale d'un arc : l'arc A –> B a pour extrémité initiale A et pour extrémité finale B.
-- 
-- sommet isolé : sommet n'étant lié à aucun arc.
-- 
-- degré d'un sommet : nombre d'arcs reliant ce sommet (dans les deux sens).
-- 
-- demi-degré extérieur d'un sommet A : nombre d'arcs ayant pour extrémités initiales le sommet A
-- 
-- demi-degré intérieur d'un sommet A : nombre d'arcs ayant pour extrémités finales le sommet A
-- 
-- chemin : trajet qu'il faut suivre pour se rendre d'un sommet A à un sommet B en respectant le sens des arcs. Le nombre d'arcs traversés est la longueur du chemin.
-
-### Définition d’une toile de confiance Duniter
+# Quelques bases en théorie des graphes
+
+## Un peu de vocabulaire
+
+* graphe : ensemble de points (nommés sommets) reliées entre eux par des flèches (nommées arcs).
+
+* graphe simple : graphe sans boucle (arc reliant un sommet à lui-même) et sans arcs superposés (plusieurs arcs reliant le même couple de sommets dans le même sens).
+
+* graphe orientés : graphe ou les arcs ont un sens, l'arc A –> B est donc différent de l'arc B –> A.
+
+* extrémité initiale et finale d'un arc : l'arc A –> B a pour extrémité initiale A et pour extrémité finale B.
+
+* sommet isolé : sommet n'étant lié à aucun arc.
+
+* degré d'un sommet : nombre d'arcs reliant ce sommet (dans les deux sens).
+
+* demi-degré extérieur d'un sommet A : nombre d'arcs ayant pour extrémités initiales le sommet A
+
+* demi-degré intérieur d'un sommet A : nombre d'arcs ayant pour extrémités finales le sommet A
+
+* chemin : trajet qu'il faut suivre pour se rendre d'un sommet A à un sommet B en respectant le sens des arcs. Le nombre d'arcs traversés est la longueur du chemin.
+
+## Définition d’une toile de confiance Duniter
 
 Les toiles de confiance Duniter (une par monnaie) sont des graphes simples orientés et sans sommets isolés.
 Les sommets en sont les membres et les arcs les certifications.
@@ -101,20 +105,20 @@ Résumons tout cela avec un exemple :
 
     A -> B -> C
          |
-	 \--> D
+         \--> D
 
 Si pour une raison x ou y, A perd son statut de membre, alors la toile s'effondre et tous les autres membres perdent aussi leurs statuts de membre en cascade. Pour éviter cela, la certification A –> B restera valide jusqu'à sa date d'expiration, laissant à B le temps de se faire certifier par C ou D par exemple.
 
 L'absence de sommet isolé implique également que lorsque qu'un nouveau membre est ajouté à la toile de confiance il faut ajouter en même temps (c'est-à-dire dans le même bloc) l'ensemble des certifications qui lui permettent de devenir membre.
 C'est pourquoi nous avons besoin d'un espace de stockage intermédiaire qui contient les identités **en attente** de devenir membre ainsi que les certifications émises par des membres envers ces identités, c'est espace c'est la fameuse "piscine" des nœuds Duniter (que l'on aurait aussi pu nommer "bac à sable" puisque dans le code de Duniter c'est le terme `sandbox` qui est utilisé). Notons que ces "piscines" contiennent également d'autres types de documents non mentionnés ici.
 
-## Définition des règles d’une toile de confiance Duniter
+# Définition des règles d’une toile de confiance Duniter
 
 Les toiles de confiance Duniter (une par monnaie) sont régies par huit règles présentées ci-après.
 L'application de ces règles dépendent de onze paramètres variables d'une monnaie à l'autre. La valeur de dix d'entre eux sont fixés dans le bloc zéro, le onzième paramètre `msPeriod` est écrit en dur dans le code, car il a été ajouté après l'écriture du bloc zéro de la Ğ1.
 Cette partie ne présente que les définitions des règles, les raisons d'être de ces règles sont présentés dans le cadre de l'historicité de leur apparition dans la partie "Origine des règles et cas de la  Ğ1".
 
-### 1. Règle de distance et membres référents
+## 1. Règle de distance et membres référents
 
   Paramètres : **StepMax** et **xPercent**
 
@@ -135,14 +139,14 @@ Dans un toile aboutie, c'est-à-dire dans une toile ou chaque membre a certifié
 La vérification de la règle de distance étant couteuse en calcul, elle ne s'applique que lors de l'obtention et du renouvellement du statut de membre. (Voir partie "renouvellement du statut de membre").
 _Cas particulier : la règle de distance ne s'applique pas au bloc zéro (écriture de la toile initiale)._
 
-### 2. Règle du nombre minimal de certifications reçus
+## 2. Règle du nombre minimal de certifications reçus
 
   Paramètre : **sigQty**
 
 C'est la règle la plus simple, elle stipule que tout membre doit à tout moment (comprendre à tous blocs) être le destinataire d'au moins `sigQty` certifications actives.
 Si ne serait-ce que pour le temps d'un seul bloc, un membre A se retrouve avec moins de `sigQty` certifications actives reçus, alors il perd le statut de membre à ce bloc. Il doit alors publier une demande de renouvellement de son adhésion.
 
-### 3. Règle de renouvellement de l’adhésion
+## 3. Règle de renouvellement de l’adhésion
 
   Paramètres : **msValidity**, **msPeriod** et **msWindow**
 
@@ -153,7 +157,7 @@ Lorsqu'une demande de renouvellement d'adhésion est émise, elle est stockée e
 
 Tout membre dont le dernier renouvellement date de plus de `msValidity` secondes perd le statut de membre au premier bloc ou cette durée est atteinte. Dans ce cas, l'ancien membre dispose à nouveau d'une durée de `msValidity` secondes pour redevenir membre par cette même procédure de renouvellement. Passé ce délai, donc `2 × msValidity` après le dernier renouvellement, l'ancien membre est exclu définitivement et ne pourra plus jamais redevenir membre avec ce compte. S'il souhaite redevenir membre il devra se créer un nouveau compte à partir de zéro.
 
-### 4. Règle d’expiration des certifications
+## 4. Règle d’expiration des certifications
 
   Paramètre : **sigValidity**
 
@@ -161,7 +165,7 @@ Toute certification inscrite en blockchain expire **sigValidity** secondes aprè
 
 /!\ L'émission et l'écriture d'une certification ont lieu à des instants différents. Lorsque le membre A émet une certifiation à un instant t1, elle est d'abord stockée en piscine à cet instant t1, puis sera écrite en blockchain à un instant t2, dès que les règles de la toile le permettent, il peut y avoir plusieurs semaines d'écarts entre t1 et t2 !!
 
-### 5. Règle du stock limité de certifications actives
+## 5. Règle du stock limité de certifications actives
 
   Paramètre : **sigStock**
 
@@ -169,25 +173,25 @@ Par certification active nous entendons certification inscrite en blockchain et
 
 À tout bloc et pour tout membre, l'ensemble des certifications émises par ce membre et actives doit être inférieur ou égal à sigStock. Lorsque ce quota est atteint, le membre en question devra attendre qu'une certification active dont il est l'émetteur expire pour pouvoir en écrire une autre.
 
-### 6. Règle de l’intervalle d’écriture entre deux certifications
+## 6. Règle de l’intervalle d’écriture entre deux certifications
 
   Paramètre : **sigPeriod**
 
 Lorsqu'une certification émise par un membre A est écrite en blockchain, aucune autre certification émise par A ne pourra être écrite en blockchain avant `sigPeriod` secondes.
 
-### 7. Règle de la fenêtre d’écriture d’une certification
+## 7. Règle de la fenêtre d’écriture d’une certification
 
   Paramètre : **sigWindow**
 
 Lorsqu'une certification est émise par un membre A, elle restera stockée en "piscine" pour au plus `sigWindow` secondes. Si la certification en question n'a toujours pas été écrite en blockchain passé ce délai, elle est purement supprimée.
 
-### 8. Règle de la fenêtre d’écriture d'une identité 
+## 8. Règle de la fenêtre d’écriture d'une identité
 
   Paramètre : **idtyWindow**
 
 Lorsqu'une identitée est émise, elle restera stockée en "piscine" pour au plus `idtyWindow` secondes. Si l'identitée en question n'a toujours pas été écrite en blockchain passé ce délai, elle est purement supprimée.
 
-## Le cas particulier de la toile initiale au bloc zéro
+# Le cas particulier de la toile initiale au bloc zéro
 
 L'application des règles présentées ne rend l'expansion d'une toile possible qu’à partir d'une toile pré-éxistante, il y a donc un cas particulier ou certaines règles ne s'appliquent pas : l'écriture du bloc zéro.
 
@@ -196,9 +200,9 @@ Seules les règles 2 et 5 s'appliquent lors de l'écriture du bloc zéro.
 Dans la pratique, c'est l'humain qui génère le bloc zéro qui choisi manuellement quelles identités sont écrites dans le bloc zéro, mais toutes les identités et certifications écrites dans le bloc zéro doivent respecter les règles 2 et 5 et de plus le bloc zéro doit être signé avec la clé privée d'une des identités écrites.
 Dès lors qu'un bloc zéro correct a été généré, toute identité inscrite dans le bloc zéro peut soumettre le bloc suivant, de fait l'auteur du bloc zéro n'a donc plus la main.
 
-## Origine des règles et cas de la Ğ1
+# Origine des règles et cas de la Ğ1
 
-### 1. Distance et taille limite
+## 1. Distance et taille limite
 
 La règle de distance a pour objectif de limiter la taille maximale d'une région sybil ainsi que la taille maximale de la communauté monétaire.
 `xpercent` permet d'éviter une minorité de blocage (membres trop peu actifs).
@@ -240,19 +244,15 @@ Autre moyen de nous prémunir d'une attaque sybil, si elle était suffisamment l
 Le problème c'est qu'une attaque sybil peut être propagée par des comptes robots qui se certifieront très rapidement et de manière optimale, comment donc pourrions-nous les ralentir de force ?
 En imposant un délai minimal entre deux certifications !
 
-### 2. une question de temps
+## 2. une question de temps
 
 Nous venons de voir que pour ralentir de déploiement d'une attaque sybil afin d'avoir le temps de la détecter et de prendre des mesures, nous pourrions imposer un délai minimal entre deux écritures de certifications par le même compte. C’est la raison pour laquelle nous avons créé le paramètre `sigPeriod`.
 
 Voici un graphe d'évolution de la taille d'une région sybil en fonction de `sigPeriod` et de `stepAttackers` :
 
-f[stepAttackers](t) = {p=0, t
-			p=1, t(sigStock/5)
-			...p=n, t(sigStock/5)^n}
-
 ![graphe taille sybil en fonction de sigPeriod et stepAttackers]({filename}/images/wiki/toile-de-confiance/graphe-sigPeriod.png)
 
-### 3. Une confiance éternelle ? (sigValidity, msValidity)
+## 3. Une confiance éternelle ? (sigValidity, msValidity)
 
 Si toute certification restait valable at vitam eternam, cela serait problématique pour au moins deux raisons :
 D'une part il est important que les membres qui décédent cessent de créer des DU.
@@ -270,7 +270,7 @@ Trois ans nous semblait trop long, nous avons donc choisi deux ans.
 Mais considérer qu'un mort va continuer à créer des DU dont personne ne pourra bénéficier pendant une durée pouvant aller jusqu'à deux ans, cela nous semblait trop. C'est pourquoi nous avons opté pour une durée de vie plus faible concernant le renouvellement de l'adhésion.
 Nous avons donc choisi un an. Mais, nous aurions aussi pu choisir six mois. La valeur de **msValidity** est au final assez secondaire et pourrait facilement être modifée dans le futur si la communauté le souhaite.
 
-### 4. Éviter que les piscines ne deviennent des dépôts sédimentaires (idtyWindow, sigWindow, msWindow)
+## 4. Éviter que les piscines ne deviennent des dépôts sédimentaires (idtyWindow, sigWindow, msWindow)
 
 Il faut nettoyer régulièrement les piscines pour éviter qu'elles n'atteignent des tailles astronomiques et pour garantir que même les petites machines peu puissantes puissent exécuter un nœud Duniter.
 Pour ce faire il faut que les identités et certifications en attentes restent le moins longtemps possible en piscine, elles doivent cependant y rester suffisamment longtemps pour avoir une chance raisonnable d'être inscrites en blockchain.
@@ -278,16 +278,16 @@ Pour la Ğ1, nous avons estimé que deux mois étaient un minimum pour que tous
 Typiquement, choisir sept semaines aurait été plus compliqué à intégrer et à retenir. Nous voulions que les durées à connaître restent le plus facilement intégrable et mémorisables.
 Un mois nous semblait trop court, la valeur de deux mois s'est donc imposée. Et par souci de simplicité, nous avons appliqué cette même valeur de deux mois aux trois paramètres `idtyWindow`, `sigWindow` et `msWindow`.
 
-### 5. Éviter de limiter les membres connaissant beaucoup de monde (sigStock)
+## 5. Éviter de limiter les membres connaissant beaucoup de monde (sigStock)
 
 De nombreuses études sociologiques montrent qu'un humain connait en moyenne cinquante personnes. Bien entendu, c'est une moyenne. Certains humains en connaissent beaucoup plus, d'autres beaucoup moins.
 Là encore, nous avons tranché par le critère "nombre facile à retenir".
 Bien que l'impact de `sigStock` sur la taille maximale des régions sybil soit secondaire, il convient tout de même de ne pas choisir un `sigStock` trop grand !
 150 nous semblait trop élevé, nous avons donc choisi 100.
 
-### 6. Se prémunir des minorités de blocage (xpercent)
+## 6. Se prémunir des minorités de blocage (xpercent)
 
-### 7. L'ajout de msPeriod, une protection anti-spam
+## 7. L'ajout de msPeriod, une protection anti-spam
 
 Ce paramètre un peu à part, rajouté après le bloc zéro, ne sert pas à réguler la toile de confiance mais à proteger le réseau informatique qui porte la monnaie contre les attaques de type spam.
 En effet, des membres malveillants qui souhaitent nuire au bon fonctionnement de la monnaie pourraient demander leur renouvellement à chaque bloc (toutes les cinq minutes), ou pire encore, envoyer des centaines de requêtes de renouvellement par minute pour submerger les nœuds Duniter. En l'absence de limitation, les nœuds Duniter sont cencés traiter toutes les requêtes de renouvellement, même si l’adhésion a été renouvellées il y a cinq minutes !
-- 
GitLab


From eab029148eceeb004d89953f658c71e8ffc91460 Mon Sep 17 00:00:00 2001
From: librelois <elois@ifee.fr>
Date: Fri, 13 Apr 2018 00:39:46 +0200
Subject: [PATCH 6/6] wot details article : add images

---
 .../toile-de-confiance/impact_sig_period.png    | Bin 0 -> 68146 bytes
 .../images/wiki/toile-de-confiance/wot-moy.png  | Bin 0 -> 47253 bytes
 .../wiki/toile-de-confiance/wot-sybil.jpg       | Bin 0 -> 22107 bytes
 content/pages/wiki/toile-de-confiance.md        |   8 ++++----
 4 files changed, 4 insertions(+), 4 deletions(-)
 create mode 100644 content/images/wiki/toile-de-confiance/impact_sig_period.png
 create mode 100755 content/images/wiki/toile-de-confiance/wot-moy.png
 create mode 100755 content/images/wiki/toile-de-confiance/wot-sybil.jpg

diff --git a/content/images/wiki/toile-de-confiance/impact_sig_period.png b/content/images/wiki/toile-de-confiance/impact_sig_period.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3f56fd62439344dc39d9599911e3837f5e14394
GIT binary patch
literal 68146
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
Q68txB)*|y8W;Xl&4{0}T>;M1&

literal 0
HcmV?d00001

diff --git a/content/images/wiki/toile-de-confiance/wot-moy.png b/content/images/wiki/toile-de-confiance/wot-moy.png
new file mode 100755
index 0000000000000000000000000000000000000000..beaf76bb47226453cb18e1acddf7406661ee96d9
GIT binary patch
literal 47253
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

literal 0
HcmV?d00001

diff --git a/content/images/wiki/toile-de-confiance/wot-sybil.jpg b/content/images/wiki/toile-de-confiance/wot-sybil.jpg
new file mode 100755
index 0000000000000000000000000000000000000000..5c94b58b44db35387774b6bc823cf33bbe67a863
GIT binary patch
literal 22107
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

literal 0
HcmV?d00001

diff --git a/content/pages/wiki/toile-de-confiance.md b/content/pages/wiki/toile-de-confiance.md
index 2fd72ed..adbbfa2 100644
--- a/content/pages/wiki/toile-de-confiance.md
+++ b/content/pages/wiki/toile-de-confiance.md
@@ -207,7 +207,7 @@ Dès lors qu'un bloc zéro correct a été généré, toute identité inscrite d
 La règle de distance a pour objectif de limiter la taille maximale d'une région sybil ainsi que la taille maximale de la communauté monétaire.
 `xpercent` permet d'éviter une minorité de blocage (membres trop peu actifs).
 
-![zone sybil]({filename}/images/wiki/toile-de-confiance/zone-sybil.png)
+![zone sybil]({filename}/images/wiki/toile-de-confiance/wot-sybil.jpg)
 
 Les régions sybil sont isolés du reste du graphe, car les comptes sybil ne reçevrons de certifications que de la part d'autres comptes sybil ou de la part des auteurs de l'attaque. Ainsi, tout plus court chemins entre un membre légitime et un compte sybil passe forcément par un auteur de l'attaque. La limite de la profondeur de la région sybil dépend donc de la distance maximum entre les auteurs de l'attaque et les xpercent% membres référents les plus proches, cette distance caractéristique est nommée `stepAttackers`.
 La taille maximale d'une région sybil crée par sigQty membres malveillants dépend du levier L=sigQty/sigStock :
@@ -224,7 +224,7 @@ Sauf que dans les faits, la plupart des membres ne consommeront pas tout leurs s
 
 Notre toile de confiance peut donc être dimensionnée avec seulement deux paramètres, notre objectif avec la Ğ1 est de créer une zone économique libre de l'ordre du million d'utilisateurs, voyons donc quelles combinaisons du couple (sigQty;stepMax) permettent d'attendre le million :
 
-![graphe WoTmoy en fonction de sigQty et stepMax]({filename}/images/wiki/toile-de-confiance/graphe-WoTmoy.png)
+![graphe WoTmoy en fonction de sigQty et stepMax]({filename}/images/wiki/toile-de-confiance/wot-moy.png)
 
 La taille maximale d'une région sybil croît linéairement par rapport à sigQty mais exponentionellement par rapport à stepMax, donc pour avoir une toile la plus solide possible, nous devons minimiser la valeur de stepMax. Le graphe ci-dessus nous montre que la valeur de stepMax la plus faible permettant d'attendre le million de membres est de cinq.
 Pour la valeur de sigQty nous avons le choix entre quatre pour atteindre 1,2 million ou cinq pour atteindre le demi million.
@@ -248,9 +248,9 @@ En imposant un délai minimal entre deux certifications !
 
 Nous venons de voir que pour ralentir de déploiement d'une attaque sybil afin d'avoir le temps de la détecter et de prendre des mesures, nous pourrions imposer un délai minimal entre deux écritures de certifications par le même compte. C’est la raison pour laquelle nous avons créé le paramètre `sigPeriod`.
 
-Voici un graphe d'évolution de la taille d'une région sybil en fonction de `sigPeriod` et de `stepAttackers` :
+Voici un graphe d'évolution de la taille d'une région sybil en fonction de `sigPeriod` :
 
-![graphe taille sybil en fonction de sigPeriod et stepAttackers]({filename}/images/wiki/toile-de-confiance/graphe-sigPeriod.png)
+![graphe taille sybil en fonction de sigPeriod et stepAttackers]({filename}/images/wiki/toile-de-confiance/impact_sig_period.png)
 
 ## 3. Une confiance éternelle ? (sigValidity, msValidity)
 
-- 
GitLab