Représenter un texte de constitution par une blockchain

De Willforge
Aller à : navigation, rechercher

A-But de ce texte[modifier]

Le but de ce texte est décrire comment représenter le texte d'une constitution par une blockchain :

  • montrer qu'un texte de constitution est constitué d'assertions.
  • montrer à quelles conditions ces assertions sont traduisibles en formules du (langage des prédicats), donc compréhensibles par un programme informatique.
  • montrer que l'on peut créer une blockchain (la blockchain-constitution) dont les blocs contiennent les assertions des articles de la constitution, couplés à leur image sous forme logique.
  • montrer que l'introduction de contrat-intelligents dans les blocs de la blockchain-constitution permet d'effectuer automatiquement une partie des opérations de validation du texte de la constitution.
  • esquisser un protocole d'évolution dans le temps de la blockchain-constitution (?)
N.B. 
On notera qu'il n'est pas question ici du processus de rédaction de la constitution, mais

d'une simple représentation.

B-Une constitution est faite d'assertions[modifier]

Le texte d'une constitution est un texte très particulier : il est rédigé sous forme d'assertions, c'est-à-dire de propositions qui ont la propriété d'être soit vraie soit fausse.

Par exemple, dans le texte de la Constitution de la France de 2008 nous lisons :

Article I de :

  • a La France est une République indivisible, laïque, démocratique et sociale.
  • b Elle assure l'égalité devant la loi de tous les citoyens sans distinction d'origine, de race ou de religion.

etc...
Article II

  • a La langue de la République est le français.

etc...
Article III

  • a La souveraineté nationale appartient au peuple qui l'exerce par ses représentants et par la voie du référendum.

etc...

Une constitution est donc une liste d'assertions, qui sont regroupées sous forme d'articles et les articles sous forme de titres.

Ces assertions expriment les valeurs d'une population et forment un système cohérent (sans contradiction).

Pour que ces valeurs soient l'objet d'un large consensus, il est nécessaire que toute ambiguïté soit levée, ce qui exige d'ajouter au texte les définitions des termes qui pourraient introduire plusieurs interprétations.

C-Formaliser les assertions pour en automatiser la validation[modifier]

Si la constitution est bien rédigée les assertions, écrites en français, qui la constituent sont

  • non ambigües
  • non redondantes
  • cohérentes

Il sera alors possible de les traduire en une formule logique ou assertion-formalisée ayant la même signification mais qui sera manipulable par un programme informatique (donc de manière objective).

Nous supposons qu'il existe un tel protocole de transformation d'une assertion en une assertion-formalisée.

Ainsi, pour chaque phrase de chaque article du texte il existera une traduction formalisée de signification équivalente : son image formelle.

exemples[modifier]

Article I a[modifier]

  • La France est une République indivisible, laïque, démocratique et sociale.

sera traduit par les quatre assertion-formalisées :

  • A : (La France) (est) (une République indivisible)
  • B : (La France) (est) (une République laïque)
  • C : (La France) (est) (une République démocratique)
  • D : (La France) (est) (une République sociale)

à condition que les quatre termes suivants soient définis :

République indivisible 
République laïque 
République démocratique 
République sociale 

On aura : Article I a = A et B et C et D

Article III a[modifier]

  • La souveraineté nationale appartient au peuple qui l'exerce par ses représentants et par la voie du référendum.

sera traduit par les trois assertion-formalisées :

  • A : (Le peuple) (possède la souveraineté nationale).
  • B : (les représentants du peuple) (exerce la souveraineté nationale).
  • C : (Le peuple) (exerce (par le référendum) la souveraineté nationale) ).

On voit alors apparaître toute l'ambiguïté du texte. Les termes suivants ne sont pas définis

peuple 
souveraineté nationale 
posséder la souveraineté nationale 
exercer la souveraineté nationale 
  • A et B semblent contradictoires.
  • le et est un ou

D-Utiliser les contrat-intelligents des blockchains pour automatiser la validation d'un texte de constitution[modifier]

Une fois obtenus les assertion formalisées on peut construire une blockchain (la blockchain-constitution), dont chaque bloc contient entre autres les éléments suivants :

  • une assertion-brute (une phrase d'un futur article),
  • l'assertion formalisée correspondante.
  • des contrat-intelligents capables de vérifier la cohérence logique des assertion-formalisées de deux blocs quelconques de la blockchain-constitution.

Alors la validation d'un ajout pourra être effectuée automatiquement par les contrat-intelligents agissant sur les seules assertion-formalisées.

Remarque : nous supposons que les définitions nécessaires à la désambiguation du texte sont toujours décomposables sous forme d'une liste de couples (assertion-brute, assertion-formalisée) comme les articles.