Return to site

Voyage en blockchain - bis

Encore un texte qui présente blockchain ?
Alors que j'en ai déjà publié un le mois dernier ?
Eh oui ! Profite, ami lecteur :-)

Qu'est-ce que le blockchain ?

Répondre à cette question, c'est devoir faire un choix. Donner une réponse précise et détaillée, et sombrer dans la plus infâme technique, ou faire appel à une métaphore, plus accessible et nécessairement moins fidèle ? Décrire une base de données distribuée sur un réseau asynchrone, sans autorité centrale, permettant aux utilisateurs d'effectuer des opérations entre eux ... ou trouver une image ?

Je vais opter pour l'image ... Les masochistes ou esthètes qui aiment les infamies me contacteront en privé, j'ai de quoi assouvir leurs désirs.

Il faut imaginer une grande place. Un endroit où se rassemblent des gens. Des gens qui ont besoin, ou envie, de passer des contrats entre eux. De façons très générique, il y a contrat lorsque deux personnes conviennent de quelque chose entre elles. Cela peut être un échange d'argent (->bitcoin), un contrat de service, un enregistrement, ou que sais-je encore. On peut y adjoindre des conditions de réalisation, une date limite, d'autres intervenants.

Voici le décor.

Quels sont les points à surveiller ?

Ils sont multiples. Commençons par les contrats.

  • comment garantir l'existence d'un contrat ?
  • comment garantir sa conformité ?
  • comment garantir son exécution ?
  • comment assurer l'identité des contractants ?

Afin d'illustrer ces points, je vais les traduire dans le cas d'un forme spécifique de contrat : la monnaie virtuelle.

Supposons qu'Alice veuille payer 1 BT a Bob :

  • comment enregistrer cette transaction ? (existence)
  • comment être sur qu'Alice possède cette somme ? (conformité)
  • comment être sur qu'Alice ne va pas dépenser ce même bitcoin plusieurs fois ? (conformité)
  • comment garantir que la transaction a été effectuée ? (exécution)
  • comment être sur que l'argent que Bob a reçu vient bien de Alice ? (identité)
  • comment être sur que la somme envoyée par Alice a bien été reçu par Bob ? (identité)

Blockchain permet de répondre à ces questions.
Une preuve ?
Bitcoin fonctionne.

Regardons les détails ! Revenons donc à notre grande place, et restons dans le cadre général des contrats. Alice veut donc passer un contrat avec Bob. L'idée est de partir d'un protocole très simple, et de l'ajuster pour garantir les quatre points listés plus haut : existence, conformité, exécution, identité.

Au milieu de la foule, Alice se lève et commence :

- "Moi, Alice, je passe un contrat avec Bob, ici présent". S'en suit une description orale du contrat, dont le contenu ne nous intéresse pas pour l'instant. Ses voisins immédiats, qu sont à portée de voix, vont enregistrer le contrat. Temporairement, d'abord, en le notant dans un grand cahier, que chacun détient et conserve précieusement, que j’appellerai registre, et ensuite répéter le message d'Alice. De proche en proche, l'annonce du contrat se propage, si
bien qu'au bout d'un certain temps, chaque personne l'a enregistré. Alice et Bob sont donc tenus de reconnaitre ce contrat : s'ils peuvent l'effacer de leurs registres, ils ne peuvent pas en faire autant pour les autres registres. L'existence est garantie.

Le contrat n'est que pas encore définitivement enregistré : sa conformité n'a pas été vérifiée. Cette vérification se fait par un calcul. Il faut imaginer que le contrat peut être exprimé dans un langage mathématique, ou, plus généralement, qu'il peut être traduit fidèlement en une suite de nombres. Vérifier la conformité d'un contrat revient à effectuer un calcul compliqué qui est lié à cette traduction mathématique du contrat. Une fois le calcul effectué, ce qui prend un certain temps, sa conformité sera établie (ou non) et il pourra être définitivement enregistré (ou non). Ce processus de calcul rend inutile de se référer à une autorité centrale puisque tout le monde peut l'effectuer. D'ailleurs,sur la place publique, plusieurs personnes vont vérifier le contrat établi entre Alice et Bob. Dès qu'une personne annoncera qu'il est conforme, ses voisins enregistreront définitivement le contrat sur leur registre, et relayeront la nouvelle, comme précédemment.

Le contrat est donc établi et conforme. Pour vérifier sa bonne exécution, on peut imaginer deux situations. Soit la réalisation est effectuée publiquement, et chacun peut donc la constater. Soit la réalisation est privée, et on peut imaginer que l’exécution du contrat permet à Alice et Bob de générer, chacun de manière privée et indépendante, un nombre unique. Chacun fournit donc deux nombres, et un calcul permet de vérifier qu'ils sont cohérents entre eux et avec le contrat passé.

Reste l'identité des contractants. Pour que cela ne soit pas trop facile, imaginons-les anonymes, cachés derrière un masque. Comment être sur qu'Alice est Alice, que Bob est Bob ? On ne le peut pas, ou très difficilement. Par contre, on peut donner à Alice, Bob, ainsi qu'à toute autre personne le désirant, un ou plusieurs tampons ou sceaux, chacun uniques, permettant de marquer leurs actions. Quand Alice et Bob annoncent leur contrat, ils le marquent de leurs tampons. Il y a là une subtilité, que j'ai du mal à illustrer : chacun peut vérifier que ces deux tampons appartiennent à Alice et Bob, mais personne ne peut les contrefaire pour marquer d'autres contrats.

More to come soon ... again ... stay tuned !

All Posts
×

Almost done…

We just sent you an email. Please click the link in the email to confirm your subscription!

OKSubscriptions powered by Strikingly