Proposition de protocole de rédaction collaborative auto-régulée

De Willforge
Aller à : navigation, rechercher

Le But[modifier]

  • Il existe un réseau de millions d'ordinateurs personnels connectables en pair-à-pair (P2P) (les noeud-citoyens).
  • Il s'agit de :
    • permettre à ce réseau de se mettre d'accord sur la finalité d'un texte à rédiger collectivement.
    • produire une version unique du texte
    • permettre à chaque noeud-citoyen qui le désire de participer à la rédaction collective.

Par exemple : définir collectivement l'intérêt général d'une population, écrire collectivement une Constitution conforme à cet intérêt général, écrire une loi.

La méthode[modifier]

définir le but du texte[modifier]

Pour éviter que la communauté ne disperse ses efforts, il est impératif, qu'avant de commencer la rédaction, elle se mette d'accord sur la finalité du texte selon un protocole spécifique. (cette finalité doit être exprimée sous forme d'une liste d'assertions claires dans lesquelles les termes ambigus sont définis) [voir le protocole de construction du but d'un texte]

Ceci peut-être aussi simple comme "énoncer l'intérêt général", "écrire la Constitution".

éclater le processus de rédaction en sous-processus élémentaires[modifier]

L'essentiel de la méthode que nous proposons repose sur la réduction du problème à un ensemble de sous-problèmes indépendants.

S'il s'agit d'écrire un texte nous procéderons ainsi :

écrire le plan du texte[modifier]

Ceci définira une structure arborescente allant des chapitres aux paragraphes

écrire les phrases parties de chaque paragraphe[modifier]

Afin de réduire la participation simultanée des très nombreux noeud-citoyens, on va créer des sous-réseaux ne travaillant que sur la plus faible portion possible du texte (par exemple, une seule phrase) à une date et une heure données pendant un certaine durée de connexion à définir au préalable.

A cette fin :

  1. les phrases du texte à produire sont regroupées sous forme d'un arbre (l'arbre-texte) de noeud-textes (voir ci-dessous).
  2. chaque intervention s'effectuera sur un noeud-texte (par exemple le Paragraphe 1) bien défini dans l'arbre. Deux interventions sur deux noeud-textes situés sur des branches indépendantes de l'arbre seront elles aussi indépendantes. Comme elles ne concerneront chacune qu'un nombre restreint de noeud-citoyens, à une date donnée, ces noeuds constitueront autant de sous-réseaux indépendants.

L'arbre-texte[modifier]

arbre-texte

Le texte est donc organisé sous la forme d'un arbre-texte de noeud-textes.

Par exemple, le texte d'une constitution est organisé ainsi :

  1. chaque phrase est une feuille.
  2. chaque paragraphe est une liste de phrases.
  3. chaque article est une liste de paragraphes.
  4. chaque titre est une liste d'articles.
  5. chaque section est une liste de titre.
  6. le préambule et le corps de la constitution regroupent plusieurs sections.
  7. la Constitution regroupe le préambule et le corps.
  • Chaque élément (noeud-texte) de l'arbre-texte possède un père et des frères. Pour différencier les frères on les numérote. Pour repérer un élément à l'intérieur de l'arbre-texte on utilise (une liste d'entier formée par son numéro dans sa fratrie suivi de la liste des numéros de ses pères : le chemin des numéros qui conduit au sommet de l'arbre).

indice d'un noeud-texte[modifier]

Par exemple : la phrase "Le droit de vote des membres du Parlement est personnel", deuxième phrase de l'article 27 (troisième article du Titre IV) du corps de la Constitution (le Préambule portant le numéro 1). a pour indice (2, 3, 4, 2).

blockchains des noeud-textes[modifier]

Le texte de chaque feuille évolue de modification en modification. Chacune de ces versions est stockée dans une blockchain indépendante. Il en va de même pour chaque noeud-texte dont les versions successives sont conservées dans autant de blockchains.

Chaque bloc est numéroté. Le bloc genesis portant le numéro 1. L'indice de bloc est obtenu en ajoutant le numéro du bloc à son indice de noeud-texte ainsi : (2, 3, 4, 2; 5) pour le bloc de la 5ème étape.

demande d'une intervention[modifier]

Une intervention porte sur un élément défini par son indice-de-bloc dans l'arbre-texte. Un seul noeud-citoyen, le noeud-intervenant est autorisé à intervenir sur cet élément de l'arbre-texte à un instant donné.

Un noeud-intervenant qui souhaite intervenir introduit sa demande d'intervention sous forme d'un bloc qu'il ajoute à la blockchain-intervention. Ce bloc-intervention contient six informations :

  1. l'indice du noeud-texte sur lequel l'intervention aura lieu.
  2. la date à laquelle l'intervention aura lieu.
  3. l'heure à laquelle l'intervention aura lieu.
  4. la durée prévue pour l'intervention.
  5. la clé publique du noeud-citoyen qui se propose à intervenir.
  6. le type de l'intervention (soit active : création, suppression, modification, soit passive : validation).

La durée d'une intervention

  • est limitée dans le temps
  • n'intéresse que les noeud-validants concernés par l'indice du noeud-texte.

acceptation d'une intervention[modifier]

  1. Si la blockchain-intervention contient une demande d'intervention ayant le même indice du noeud-texte elle le remplace si la date de celui-ci est postérieure.
  2. est-ce que l'intervention est conforme aux règles des interventions ?
  3. parmi les interventions candidates, celles de plus bas niveau dans l'arbre-texte ont priorité sur celles de plus haut niveau (leur date est décalée d'un jour).

intervention effective par un noeud-intervenant[modifier]

intervention au niveau des feuilles de l'arbre-texte[modifier]

  1. Un noeud-intervenant peut : créer, modifier ou supprimer le texte d'une feuille-phrase.
  2. Une modification doit viser à améliorer la conformité du texte avec son but, elle peut être :
    1. une précision.
    2. une clarification.
    3. un ajout de définition.
    4. une suppression pour contradiction.
    5. une création pour combler un manque.
  3. Chaque intervention doit être justifiée en citant une des actions ci-dessus.
  4. Chaque intervention est soumise à des règles.
  5. Un noeud-intervenant propose à tous les noeud-citoyens du réseau sa modification en 3 parties : ancienne version, nouvelle version, justification du changement. Ce noeud signe son intervention avec sa clé privée.

intervention aux niveaux supérieurs de l'arbre-texte[modifier]

l'organisation du texte peut être modifiée en intervenant aux niveaux hiérarchiques supérieurs de l'arbre-texte

l'introduction de définition[modifier]

L'exigence de clarté implique la nécessité de définir les termes utilisés dans le texte. Ces définition sont introduites soit en tête du texte, soit après le texte.

le réseau[modifier]

Pour une plage horaire donnée Pour un couple (noeud-texte, plage-horaire) il existe plusieurs types de noeud-citoyens :

  1. un noeud-intervenant qui propose une modification sur le texte.
  2. des noeud-validants qui valident le modification.
  • Chaque noeud crée sa clé privée et sa clé publique.
  • Il existe une blockchain-annuaire contenant les bloc-identités de chaque noeud-citoyen.
  • Quand un nouveau noeud-citoyen entre dans le réseau il s'inscrit dans la blockchain-annuaire.

L'identité d'un noeud-citoyen consiste en[modifier]

  1. clé publique unique.

des données constantes[modifier]

  1. un numéro de carte d'identité.
  2. un nom arbitraire unique.

des données variables[modifier]

  1. un poids, initialisé à 1.
  2. la liste d'indices de noeud-textes qui l'intéressent.
  3. la liste des plages horaires où il veut participer.
  4. la liste des jours de la semaine où il veut participer.


  • Chaque noeud signe son bloc-identité avec sa clé privée et la stocke dans la blockchain-annuaire.
  • N'importe qui peut vérifier l'identité d'un noeud avec la clé publique de celui-ci.

validation[modifier]

Un noeud-citoyen qui se porte volontaire pour valider une intervention sur un noeud-texte, devient un noeud-validant. Il reçoit de la part du noeud-intervenant une copie de la blockchain-noeud-texte correspondante et du nouveau bloc-noeud-texte.

validation de la modification d'une phrase[modifier]

La validation consiste à répondre oui ou non dans une liste de champs stockés dans un bloc-validation :

  1. la succession des hashs des blocs de la blockchain est correcte ? oui / non
  2. l'identité du noeud-intervenant inscrite dans le nouveau bloc est correcte ? oui / non
  3. la modification est conforme aux #règles de modification d'un texte : oui / non. Si non : quelle règle a été violée ?.
  4. pertinence de la modification : vote pondéré par le poids du noeud-validant

( ??? Ces 4 champs sont signés par la clé privée du noeud-validant et stockés dans le bloc validé. Si le bloc est validé il est ajouté à la blockchain courante. La nouvelle version de la blockchain est envoyée aux pairs.)


  1. chaque noeud-validant voit son poids diminué de ? si son refus n'est pas justifié.
  2. chaque noeud-validant voit son poids augmenté de ? pour le récompenser d'avoir participé.
  1. Si la modification est validée le poids du noeud-intervenant est multiplié par nombre plus grand que 1.
  2. Si la modification n'est pas validée le poids du noeud-intervenant est multiplié par nombre plus petit que 1.

validation de la modification de la structure du texte[modifier]

Si une modification est validée par le sous-réseau des noeud-validants elle est ajoutée à la blockchain-texte du noeud-texte concerné.

  • Chaque modification du d'un noeud-texte est enregistrée dans une blockchain-noeud-texte spécifique.
  • Un bloc-feuille-texte contient : l'identité du noeud-intervenant, la date, la version précédente, la version modifiée, la justification, la clé de hashage du bloc précédent dans sa blockchain.
  • Un bloc-noeud-texte de l'arbre-texte contient : l'identité du noeud-intervenant, la date, la liste des clés de hashage des bloc-noeuds fils dans l'arbre-texte.

validation[modifier]

Comprendre la blockchain Ethereum – Article 1 : Bitcoin, première implémentation de la blockchain

Cas du bitcoin : la POW valide le bloc. Dès qu’un mineur a trouvé un bloc valide, il le transmet au réseau.

Chaque noeud qui reçoit ce bloc vérifie sa validité grâce à l’algorithme suivant :

  • Vérifier que le bloc précédent existe et est valide (revient à vérifier que le hash du dernier bloc correspond bien à l’élément « hash du bloc précédent » référencé en en-tête du bloc en cours de vérification)
  • Vérifier que la date du bloc est supérieure à la date du bloc précédent et inférieure à 2h après
  • Vérifier que la preuve de travail est valide (i.e. le hash de l’en-tête du bloc est inférieur au seuil)
  • Vérifier l’ensemble des transactions. Si l’une d’entre elles retourne une erreur, stopper et retourner FAUX
  • Mettre à jour l’ensemble des transactions non vérifiées et retourner VRAI

Si l’algorithme retourne vrai, le bloc est considéré valide et le noeud l’ajoute à la blockchain.

Dans le cas où ce noeud est un mineur, il se met alors à la recherche du prochain bloc : il collecte un nouveau set de transactions dans l’ensemble des transactions non vérifiées et recommence la preuve de travail pour ce set.

règles de rédaction d'une phrase[modifier]

  • une phrase ne doit pas comporter de terme ambigu : une ambiguïté est levée en rédigeant une définition.
  • une phrase doit être claire : une nouvelle version doit être plus claire que la précédente.
  • une phrase doit être syntaxiquement correcte.
  • une phrase doit être orthographiquement correcte.

règles de rédaction d'un texte[modifier]

règles de modification d'un texte[modifier]

  • Une modification doit rendre le texte plus précis.
  • Une modification doit rendre le texte plus clair.
  • Une modification doit rendre le texte plus conforme à son but.

procédure alternative (vote)[modifier]

Contrairement au cas du Bitcoin dans le cas d'un texte la POW n'a pas de sens, il faut donc d'autres critères pour la valider le bloc d'une modification. On doit donc évaluer la pertinence de la modification.

Une proposition :

  • Il existe un ensemble de Ni noeud-intervenants candidats à le modification d'un certain bloc d'indice Bloci.
  • On tire au sort au plus 5 d'entre eux ce sont les noeud-actifs.
  • Chacun propose sa modification au réseau des Nv noeud-validants associés à Bloci.
  • Chaque noeud-validant vérifie la conformité de chaque modification avec les #règles d'une modification
    • si la réponse est négative : le vote est négatif ...
    • sinon le noeud-validant vote avec son poids selon une procédure à la Condorcet.
    • chaque noeud-validant envoie chacun de ses 5 votes à chacun des 5 noeud-actifs.
  • Chaque noeud-actif fait le calcul du vote pour chaque modification.
  • Chaque pair de noeud-actif vérifie qu'il possède bien les mêmes résultats.
  • La modification qui a obtenu le meilleur score est seule valide.
    • en cas d'ex-aequo on tire au sort.
  • Chaque noeud-actif ajoute le bloc valide à la blockchain : les indice-de-blocs sont incrémentés de 1.
  • Chaque noeud-actif broadcast la portion de l'arbre texte modifiée ainsi que les blockchains associées à tous les noeud-citoyens

Limitations[modifier]

  • il faut s'assurer que plus personne n'a d'intervention à effectuer
  • il faut s'assurer que tous les noeud-citoyens concernés ont voté
  • il faut s'assurer que tous les noeud-citoyens ont été avertis de chaque modification (ont bien reçu la version courante de la blockchain)
  • il faut s'assurer qu'un nombre suffisant de noeud-citoyens ont participé à un (thème, plage-horaire), sinon la validation est mise en attente.
  • associer un deliberatorium
  • guerre d'édition

Le protocole[modifier]

Conséquences[modifier]

Une telle méthode appliquée à la rédaction d'un texte de décision politique pour un projet tend à exprimer la volonté générale d'une population sur ce projet.

C'est une rédaction collaborative[modifier]

Cela signifie que lorsqu'un internaute participe il ne doit pas affirmer ses convictions (je pense que ...), mais effacer son ego et chercher à exprimer ses convictions en apportant sa touche personnelle à la construction collective afin de mieux atteindre l'objectif commun.

Exemples[modifier]

L’objectif de la pensée collective est de construire, c’est à dire que deux personnes avec des idées différentes emploient leur énergie à construire quelque chose de nouveau. Il ne s’agit donc pas de mon idée ou de la tienne : ce sont les deux idées, ensemble, qui donneront lieu à un produit nouveau que nous ne connaissions pas, ni toi, ni moi. C’est pour cela que l’écoute active (dans laquelle on n’est pas seulement en train de préparer notre réplique) est fondamentale.
La pensée collective naît quand on comprend que toutes les opinions, les nôtres et celles qui sont différentes, sont nécessaires pour générer l’idée de consensus. Une idée qui, après sa construction de façon indirecte, nous transforme.

extrait du Guide rapide pour la dynamisation des Assemblées Populaires Plaza del Sol (Madrid) mai 2011#objectif

Contre-exemples[modifier]

Autres définitions[modifier]

Bibliographie[modifier]

Pages liées[modifier]