Tout ce que vous avez toujours voulu savoir sur la Blockchain, sans jamais oser le demander
Ce post a été initialement publié sur huffpostmaghreb.com
Promis, on décrypte tout ça sans discours ultra-technique.
Voici un mot à la mode, aujourd’hui sur toutes les lèvres. De l’informaticien au banquier en passant par l’anarchiste, la notion de Blockchain intrigue, intéresse et suscite de grands espoirs, à tel point qu’on la décrit parfois de “nouvel internet”.
De la même manière qu’Internet a permis de libérer les échanges d’informations des moyens traditionnels et de s’affranchir de la distance, la Blockchain a permis une nouvelle forme de communication sécurisé et tracée: les échanges d’information sont ainsi liés à une identité numérique inviolable. Ils sont de plus validés non pas par une entité unique et centrale, mais par un grand nombre de participants à ce nouveau réseau. C’est là l’une des promesses essentielle de la Blockchain: s’affranchir d’une autorité centrale de contrôle ou de régulation pour converger vers une logique peer to peer (p2p).
L’idée de la Blockchain est née d’un article publié en 2008 et intitulé “Bitcoin: A Peer-to-Peer Electronic Cash System”, publié vraisemblablement par un groupe de personnes sous le pseudonyme Satoshi Nakamoto.
Cet article a posé les grands principes des Blockchains modernes. De nombreuses implémentations de ces principes ont depuis vu le jour, dont celle du Bitcoin qui fut historiquement la première. Ces implémentations étant publiques, chacun est libre de créer sa propre Blockchain pour ses besoins comme l’a été la blockchain Ethereum ou de nombreuses Blockchains privées utilisées dans les services financiers.
“Issam vend sa voiture à Amine pour 100.000 DH”
Ce simple message émis par Issam et Amine sur la Blockchain aurait comme équivalent dans le monde réel les étapes suivantes:
Issam et Amine doivent aller se présenter chez des dizaines de milliers de notaires dans le monde qui vont vérifier leurs identités et ainsi que l’authenticité du message. Les notaires doivent alors se mettre tous d’accord et signer un document commun qui énonce que la transaction et le paiement sont bien validés et enregistrés. Ce document est alors disponible publiquement pour tous.
La logistique parait compliquée, n’est-ce pas? La Blockchain permet de dématérialiser ce type de processus, même si celle-ci n’a pas encore de valeur juridique aujourd’hui.
Au risque de simplifier, prenons un peu de hauteur:
La blockchain est un protocole, c’est à dire une façon de discuter. Ce protocole permet à un groupe de personnes volontaires de s’accorder au fur et à mesure sur des faits qui se passent dans notre monde. Ce groupe de personne consigne ces faits dans un registre identique partagé dit Blockchain.
Le groupe de personne peut être :
- Ceux qui émettent des faits, on les appelle utilisateurs finaux (ou clients en anglais). Ils peuvent être des personnes comme vous et moi, ou bien des algorithmes, dits smart contracts.
- Ceux qui participent à la consignation, on les appelle les mineurs.
- Ceux qui récupèrent le registre sans interagir avec, dits les observateurs.
Le protocole est l’ensemble de règles qu’utilisent les mineurs et les utilisateurs finaux pour travailler ensemble.
Les faits sont émis par un utilisateur final à destination d’un autre utilisateur final. Un fait peut être une transaction monétaire ou un simple message.
La consignation d’un fait transforme celui-ci en une vérité admise par tous les mineurs, utilisateurs finaux et observateurs. Le protocole doit contenir les règles de consignation, c’est-à-dire les conditions sous lesquelles un fait devient une vérité.
Tout ce travail se fait au fur et à mesure, c’est-à-dire que dès qu’un nouveau fait est émis, les mineurs cherchent à l’incorporer le plus vite possible dans un bloc puis dans le registre. La plupart du temps, ils sont rémunérés pour ce travail.
Il faut savoir que les mineurs ne se connaissent pas forcément. Ils ne se font à priori pas confiance car l’un d’entre eux peut être malveillant et chercher la zizanie. Mais ce protocole doit permettre d’arriver à un consensus au bout d’un certain temps si une majorité de mineurs joue le jeu.
La Blockchain est donc ce qu’on appelle une implémentation de consensus distribué.
Mais qu’apporte réellement le consensus distribué par rapport aux technologies existantes ?
Le consensus distribué tel que décrit par la Blockchain :
- Est robuste aux attaques malveillantes de mineurs pirates qui voudraient substituer un fait par un autre, comme par exemple changer le bénéficiaire d’une transaction
- Est robuste aux mineurs qui ne jouent pas le jeu du protocole comme par exemple ceux qui rejettent tous les faits qu’ils soient valides ou pas. Cette robustesse est vraie tant que les mauvais mineurs sont en minorité numérique
- Permet de mettre d’accord des gens qui ne se connaissent pas et ne se font pas confiance sans l’intervention d’un tiers de confiance
- S’applique à un grand nombre de cas d’usages de partage d’information
Concrètement, les utilisateurs finaux génèrent des faits qu’ils signent avec leur identité numérique. Ces faits signés sont rassemblés par des mineurs. Les mineurs en font un bloc. Un des mineurs est alors élu selon un critère défini par le protocole pour consigner le bloc de faits qui devient un bloc de vérités. Le bloc est alors envoyé à tous les autres mineurs qui l’acceptent et l’ajoutent aux blocs précédents. Les blocs sont ainsi chaînés en une Blockchain
Dans l’exemple illustré, le fait 2 a été rejeté car invalide au regard des règles de consignation. Cela arrive notamment lorsqu’un utilisateur final émet une transaction invalide. C’est le cas par exemple, si l’utilisateur Issam émet la transaction “Amine envoie 1 bitcoin à Badr” alors que Issam n’est pas propriétaire du compte de Amine. Ou si Issam émet la transaction “Issam envoie 2 bitcoin à Amine” alors que le solde du compte de Issam n’est que de 1 bitcoin.
D’autres cas de figure plus complexes peuvent se présenter dès lors que ce sont des smarts contracts qui émettent des faits. Un prochain article se penchera sur la question.