La technologie de registre distribué a le vent en poupe depuis quelques années (depuis la popularisation des cryptomonnaies telles que le bitcoin). On appelle aussi ça « chaîne de blocs », traduction plus littérale mais technique : ça dit ce que c’est, mais pas ce que ça fait, à l’inverse de « registre distribué ».
Le principe très grossier d’un registre distribué est de faire valider un registre d’information (une liste d’informations) par une communauté ouverte et décentralisée d’utilisateurs, à l’inverse des systèmes traditionnels où il y a un « maître des données » et une structure hiérarchique qui maintiennent la cohérence des données.
Définition
Smile définit cette techologie ainsi :
Les données entrant dans la blockchain sont notamment figées (immutables), prouvées (grâce à des techniques cryptographiques), transparentes. Dans une chaîne classique, ouverte et publique, un nombre élevé d’utilisateurs diminue le risque de disparition de la chaîne, puisque chaque noeud (chaque intervenant) dispose d’une copie valide et intègre de la blockchain.
Noeud et compte
Chaque intervenant dans une blockchain dispose d’un compte, auquel on associe une bi-clé (ou clé asymétrique), afin de pouvoir signer les transactions. L’identifiant de compte est unique et peut être anonyme (ou tout au moins pseudonyme). Un noeud désigne une machine sur le réseau, qui peut être simple utilisatrice de la blockchain ou alors elle peut également miner pour la chaîne.
Blocs et validation
Par construction, une blockchain est une liste de blocs de données, ordonnés et validés. Chaque bloc est composé d’un ensemble de transactions (dont on a vérifié la validité d’après les règles définies pour la chaîne en question).
La validation consiste à résoudre un « casse-tête » mathématique (souvent cryptographique) associé au bloc ; le résultat doit être difficile à trouver pour éviter les falsifications mais facile à vérifier. Un calcul de hash se prête très bien à cette problématique. Une fois le bloc validé, toutes les transactions incluses dans le bloc sont ainsi validées et donc irréfutables, et le bloc est incorporé dans la chaîne. Généralement, le bloc est accompagné d’un en-tête qui contient son hash et l’identifiant du bloc précédent (d’où la structure chaînée des blocs).
Smart Contract
Un « contrat intelligent » est un programme informatique autonome dont le code contrôle et conditionne, sous certaines conditions (internes ou externes à la chaîne), le transfert de devises ou d’actifs entre différentes parties. Une application possible est un contrat d’assurance qui déclenche automatiquement une transaction dans la blockchain en fonction de certaines conditions, comme rembourser le prix de votre séjour de vacances si la météo a été trop mauvaise ou votre billet d’avion s’il a trop de retard. Attention : malgré son nom, un Smart Contract est bien un programme appliquant un contrat juridique, et non un contrat en lui-même.
Le problème principal des smart contracts est leur fiabilité, en raison de l’irréversibilité des opérations introduites dans une blockchain. Ces contrats doivent, en théorie, être fiables et parfaits, aussi bien techniquement que fonctionnellement. Or, comme il s’agit de programmes, ils sont fatalement imparfaits et sujets aux bogues et erreurs de conception. En 2018, des chercheurs1 ont estimé qu’une partie non négligeable de ces contrats (environ 3,5% d’entre eux) avaient des anomalies très sérieuses2. La vérification de la qualité devient un enjeu de sécurité, plusieurs chercheurs se penchent sur le sujet3.
It’s a kind of magic
Councillors and managers think that problems – however large and fundamental they are – evaporate instantaneously thanks to technology they’ve heard about in a fancy PowerPoint presentation4.
Le bitcoin est-il soluble dans le RGPD ?
Bonne question à creuser : la technologie des chaînes de blocs est-elle compatible avec le RGPD ? En effet, point d’anonymisation dans la plupart des cryptomonnaies, juste de la pseudonymisation, donc point de vie privée, mais également pas de droit à l’oubli ni de rectification puisque par construction les blocs crées dans la chaîne ne peuvent plus être modifiés !
Tout cela demande à mon avis une bonne relecture, car je suppose que dans certains usages, on ne peut pas s’opposer au traitement d’informations personnelles (par exemple une banque a besoin de connaître votre nom, votre adresse, etc.), donc la réponse dépend peut-être de l’usage qui est fait de la chaîne de blocs…
Usage
The same rules apply for blockchain as for any database: if people put garbage into it, what comes out is also garbage5.
Liens externes
- https://github.com/Azure/azure-blockchain-projects/blob/master/bletchley/bletchley-whitepaper.md#bletchley
- http://www.capital.fr/finances-perso/dossiers/vous-ne-comprenez-rien-a-la-blockchain-on-vous-explique-1219711
- https://www.capital.fr/entreprises-marches/societe-generale-aller-au-dela-des-effets-dannonce-sur-la-blockchain-1336615
- Blockchain, the amazing solution for almost nothing
- Les bases de la Blockchain | Blog Eleven Labs (eleven-labs.com)