[blockchain #2] blockchain privée vs blockchain publique [technique et juridique] expliqué en BD

[13 novembre 2018] Maintenant que vous êtes devenu(e)s des professionnel(le)s de la cryptographie, et parce que vous avez révisé les concepts techniques autours du protocole blockchain, vous êtes mûr(e)s pour faire un peu de droit. Dès à présent, faites vous à l’idée que le comparatif blockchain privée vs blockchain publique – pour ce qui est du droit – ne donne strictement aucun avantage aux blockchains publiques. A part le droit pénal qui applique unilatéralement ses critères, si vous n’avez pas effectivement conclu de contrat, vous allez au devant de difficultés majeures. Tandis que si vous vous positionnez dans une blockchain privée, et que votre contrat est suffisamment détaillé, alors là, on peut discuter.

Cette présentation ne vous servira pas à obtenir des explications juridiques sur le minage, les crypto-monnaies ou les smart contracts. Les seules blockchains que je connaisse et qui fonctionnent effectivement aujourd’hui en production permettent de collecter des data entre professionnels, lesquelles servent soit à faire du Big Data (analyse de données de supply chain principalement) soit à mettre de l’information de traçabilité à disposition des consommateurs. Evidemment, une même blockchain privée permet de faire les deux simultanément.

Revue de détail dans la présentation en BD dans le slider ci-dessous, avant une seconde présentation spéciale « Blockchain as a Service » (très bientôt). Pour les littéraires, un résumé de la présentation après le slider, illustré avec « Le Dernier Troyen » aux éditions Soleil. @Mme Valérie Mangin : auriez-vous imaginé un jour que vos Troyens perdus dans l’espace parleraient de blockchain ?

Pour ne pas faire trop long, cette présentation « blockchain privée vs blockchain publique » est « éclatée » en deux chapitres : 

Chapitre 1 —-> définition juridico-fonctionnelle détaillée



Chapitre 2 —> à quoi ça sert et comment ça marche 



blockchain privée vs blockchain publique : rappel préliminaire indispensable…

Dans tout protocole blockchain, les « messages » échangés entre « membres » sont envoyés vers des « noeud » (des serveurs qui utilisent un même logiciel). Les noeuds convertissent les messages en « hash » (les empreintes ou #) et remplissent des « blocs » avec les hashs obtenus. Chaque bloc est validé, signé et verrouillé par un noeud qui adresse ce bloc aux autres noeuds. Tous les noeuds possèdent les mêmes blocs, donc tous les messages de tous les « membres » de la chaine. C’est le système, le « protocole » qui est organisé comme ça.

En tant que tel, un protocole blockchain n’est donc qu’une méthode d’organisation de la collecte et du stockage de data numérique entre participants à une même chaine. C’est juste un outil logiciel et des data hachées.


Blockchain : quelles règles légales en France en novembre 2018 ?

Depuis 2016, il existe un encadrement légal en France de certains « bons de caisse » (Ordonnance n°2016-520 du 28 avril 2016 et son « Rapport au Président de la république« ) et autres « mini-bons » (décret n° 2016-1453 du 28 octobre 2016 relatif aux titres et aux prêts proposés dans le cadre du financement participatif) prévus pour fonctionner avec un protocole blockchain.

2017, grande année pour la blockchain bleu-blanc-rouge : l’avis de la Commission d’enrichissement de la langue française au Journal Officiel du 23 mai 2017 vous apportera une série de définitions officielles (à défaut d’être légales). Juste une : « chaine de blocs » :

« Mode d’enregistrement de données produites en continu, sous forme de blocs liés les uns aux autres dans l’ordre chronologique de leur validation, chacun des blocs et leur séquence étant protégés contre toute modification. Note : La chaîne de blocs est notamment utilisée dans le domaine de la cybermonnaie, où elle remplit la fonction de registre public des transactions. »

Vous noterez que déjà, dans l’exemple donné par cette Commission, « blockchain = crypto-monnaie ». Un peu comme si on écrivait « logiciel = comptabilité » !

Plus interessant en 2018 : un arrêt du Conseil d’Etat (26 avril 2018) tranche le statut fiscal en France du Bitcoin (un « bien meuble incorporel » auquel on peut appliquer le régime des plus-values des biens meubles – article 150 UA du code général des impôts).

Enfin, pour celles et ceux qui s’intéressent à la problématique des données personnelles (vous savez, la GDPR…), consultez le rapport de la CNIL du 24 septembre 2018 « Blockchain et RGPD », qui pose plus de question qu’il n’en règle, mais bon, la démarche est prospective, il faut s’en féliciter.

Vous constatez au final combien la blockchain est aujourd’hui largement assimilée aux crypto-monnaies. Forcément, la première blockchain connue s’appelle « Bitcoin« . Mais un protocole blockchain ne peut donc servir qu’à ça ? Bien sûr que non ! Oublions un instant l’univers so chic des fintechs et des ICOs pour nous intéresser à des problématiques très concrètes de collecte et de stockage sécurisés de data. Car elle est là, la révolution blockchain (Le Point 7 mai 2017) !


blockchain privée vs blockchain publique : la définition en mots « normaux »

Nous, les juristes, nous aimons bien les définitions. Celle que je vous propose n’a rien de légal, c’est une extrapolation de blockchains privées dont je sais qu’elles sont aujourd’hui opérées « en production », pour de vrai ! Cette définition servira de fil conducteur dans la présentation en BD « définition juridico-fonctionnelle détaillée », chaque pavé (je n’ose dire « bloc ») de la définition ci-dessous faisant l’objet d’explications spécifiques.


blockchain privée vs blockchain publique : un protocole décentralisé – SANS MASTER de référence !!!

Techniquement et juridiquement, une des révolutions du protocole blockchain est (i) l’absence de fichier « master » original de référence ET (ii) la validité de la chaine à titre de preuve. Tous les noeuds disposent de tous les messages dans des blocs qu’ils s’échangent en peer-to-peer.

Juridiquement, c’est très innovant si l’on considère que chaque bloc de la chaine de chaque membre a une même valeur (nous reviendrons plus loin sur la convention sur la preuve à conclure).

Techniquement, c’est aussi extrêmement intéressant : plus besoin de maintenir un système d’information « central » avec un « site de secours » pour l’organisation d’une collecte de data. Car l’information est distribuée à égalité entre les opérateurs d’une même chaine, dans des conditions techniques qui assurent que chaque membre de la chaine dispose bien de la totalité des mêmes informations que les autres membres.

Si l’on veut également évoquer l’aspect pécuniaire de la chose, une blockchain privée (peu gourmande en énergie car la chaine se passe de la course fastidieuse au minage) permet de faire de notables économies en termes d’infrastructures matérielles et logicielles : plus besoin de posséder « en propre » un système d’information pour gérer ses masters de bases de données, le stockage est mutualisé ET réparti entre TOUS les opérateurs de la chaine !


blockchain privée vs blockchain publique : le « registre » décentralisé est juridiquement une base de données

Je vous cite l’article 1.2 de la Directive 96/9 du 11 mars 1996 : « on entend par «base de données»: un recueil d’oeuvres, de données ou d’autres éléments indépendants, disposés de manière systématique ou méthodique et individuellement accessibles par des moyens électroniques…« . Personnellement, je trouve que ça correspond assez précisément à la réalité technique des blockchains. Et dans les textes ayant force légale dans l’UE, je n’ai pas trouvé mieux.


blockchain privée vs blockchain publique : qui est « producteur » dans une blockchain publique ? c’est plus qu’un problème !

Une base de données, c’est bien. Des droits sur le contenu d’une base de données, c’est bien mieux. Il faut pour cela pouvoir prouver être « producteur » de la base de données, au sens de la Directive 96/9 du 11 mars 1996. Et quand on pense à une blockchain publique, on comprend vite que… ça va pas être facile de convaincre un juge que l’opérateur d’un noeud qui reçoit des messages et les convertit en hash est « producteur » d’une base de données. Cette évidence technique nous conduit nécessairement à nous interroger sur la nature des droits applicables à la chaine des blocs (s’ils existent). Oui, une chaine de bloc est indéniablement une base de données (what else ?). Je serai beaucoup moins affirmatif sur la protection de ce type de base de données par la Directive 96/9. Il suffit de regarder la jurisprudence française et européenne sur la protection du contenu des bases de données pour comprendre rapidement que le problème sera difficile à résoudre dans les blockchains publiques.


blockchain privée vs blockchain publique : la solution du contrat pour les blockchain privées

Evidemment, si une partie à un contrat donne des garanties sur le contenu de ses bases de données, ça change tout ! Comme le font les éditeurs de logiciel qui garantissent dans les contrats de licence (i) le caractère original de leur programme et (ii) leur pleine titularité sur les droits de propriété intellectuelle.


blockchain privée vs blockchain publique : le point commun : des « messages » conservés dans la chaine des blocs 

C’est ici qu’il faut quelques mots d’explication technique. Les « noeuds » (des serveurs sur lesquels on installe le logiciel pilotant le protocole blockchain) récupèrent chaque message, les convertissent en « empreinte » (ou « hash ») et regroupent ces empreintes dans des blocs. Lorsqu’un noeud valide un bloc rempli de hashs (en le signant et en le verrouillant), il l’adresse aux autres noeuds. Et chaque noeud conserve les blocs validés par les autres noeuds. Donc, tous les noeuds ont la même chaine de blocs, sans avoir besoin de fichier master, sans « tiers de confiance ». La technique est sûre, ne reste plus au contrat qu’à encadrer le système et à expliquer pourquoi les membres de la chaine peuvent se faire confiance.

Evidemment, l’un des intérêts majeurs de ce procédé de gestion de messages est l’horodatage systématique de toutes les opérations effectuées par chaque noeud avec chaque message. Cet horodatage combiné avec la signature numérique (« qui » expédie ? « qui » reçoit ? « qui » valide le bloc contenant le message ?) permettent ensemble d’assurer techniquement ET juridiquement des conditions de grande certitude pour l’authentification des parties à un message.


blockchain privée vs blockchain publique : chaque noeud peut vérifier chaque message

Comme chaque bloc est signé par le noeud qui l’a validé, il est facile de rechercher un message et de déterminer quel noeud l’a validé, et à quelle heure. Et pour celui des membres de la chaine qui peut vérifier le message original, il est facile de hacher l’original et de comparer ce hash avec le hash contenu dans la chaine. Si les 2 hashs sont identiques, l’intégrité du message est avérée. Et si la convention sur la preuve entre membres de la chaine est bien écrite, le message peut alors servir de preuve au sens du Code civil. Au bénéfice ou au détriment de celui des membres qui a envoyé le message dans la chaine. ça devient plus concret pour vous ?


blockchain privée vs blockchain publique : à quoi ça sert ? 

Si un transporteur routier annonce à son client dans un message envoyé dans une chaine qu’il va livrer 14 palettes (de ce que vous voulez) et que le client destinataire envoie un message dans la chaine selon lequel il en a réceptionnés 12 (hypothèse classique du vol de 2 palettes pendant le transport) ou 18 (hypothèse plus récente mais très répandue en matière de contrefaçon), chaque message sera non-modifiable, une fois dans la chaine.

Restera alors à un membre de la chaine à traiter les informations contenues dans ces messages pour :

1) détecter le problème (ici, manifeste mais imaginez la difficulté lorsque qu’un industriel fabrique un produit à des dizaines ou des centaines de millions d’unités par an) et

2) identifier lequel des opérateurs est la cause (volontaire ou non) du problème détecté.

C’est en cela qu’un message dans une chaine n’est pas intrinsèquement vrai : « ce n’est pas la vérité juste parce que c’est dans la blockchain !« . Ce qui est certain, en revanche, c’est qu’un message intégré dans une blockchain ne pourra pas être altéré par qui que ce soit. La preuve de l’information (y compris l’erreur ou la fraude) est irrémédiablement enregistrée dans la chaine des messages. 


blockchain privée vs blockchain publique : la procédure pour devenir membre

Un membre peut être expéditeur de messages dans une blockchain (on dirait « transaction » dans l’univers Bitcoin) sans pour autant opérer un noeud. Un noeud peut ne pas expédier de message, mais simplement valider des blocs de messages/hashs reçus. Le plus souvent, l’opérateur de noeud est également expéditeur de messages. Mais pour ce qui est d’intégrer une chaine comme membre, les principes sont identiques en blockchain publique comme en blockchain privée, il faut s’inscrire : création d’un compte + acceptation des Conditions Générales de Service. Comme pour beaucoup de services web.


blockchain privée vs blockchain publique : chaque membre dispose d’une signature numérique unique

Là, rien de secret, au contraire. Vous voulez devenir membre d’une chaine, vous devez disposer de votre identité numérique propre dans cette chaine. Il faut s’inscrire ! Dans une blockchain privée, le « maitre » de la chaine vous passera les codes vous permettant de créer votre identité numérique. Comme dans tous les lieux privés, il faut d’abord l’accord du maitre des lieux. Pour intégrer une blockchain publique, il faudra seulement suivre une « procédure » technique.


blockchain privée vs blockchain publique : quel droit applicable à une blockchain publique ?

Vous avez créé votre ID dans une chaine publique et vous n’avez cliqué sur aucun bouton « j’accepte ». Dans un excès de zèle (peu commun), vous cherchez les « conditions générales » et vous ne les trouvez nulle part. ça ne vous inquiète pas ? Vous trouvez plus simple la règle selon laquelle « Code is law » ? Si la machine le dit, c’est que c’est vrai ? et si la machine se trompe, vous téléphonez à la machine pour lui dire des gros mots ? Si le « code » comporte un bug, vous espérez que le code se corrige tout seul (et vous éjecte de la chaine) ? En plus, dans une chaine publique comme Bitcoin, vous ne savez même pas « qui » pilote la machine. Et vous avez confiance ?

La première I.A. devenue autonome de toute décision humaine dont je me souvienne au cinéma date de 1984 et s’appelait Skynet. Son but, je vous le rappelle, était d’exterminer l’humanité… Vous avez toujours confiance ?


blockchain privée vs blockchain publique : quel défendeur ? devant quel tribunal pour une blockchain publique ?

Ne cherchez pas du coté de l’éditeur du logiciel : la licence d’utilisation est en » open source » et le code source parfaitement disponible. Si cette « garantie » vous suffit, alors vous avez ce que vous souhaitiez. Pour les autres (assez nombreux parmi les juristes et les pro du code source), si vous ne savez pas « qui » pilote la machine, ni « où » est la machine, vous devinez bien que ça va être compliqué pour mener une procédure judiciaire… Quant à obtenir réparation d’un préjudice que vous auriez subi (si vous êtes « éjecté » de la chaine par exemple), je préfère ne même pas en parler. Vous avez intérêt à avoir sacrément confiance dans votre chaine publique…


blockchain privée vs blockchain publique : la solution du contrat de blockchain privée permet de répondre à toutes les questions 

Votre entreprise cherche à lever des fonds ? Et vous pensez qu’utiliser un système opaque (si génial soit-il) comme une blockchain publique vous permettra à votre tour d’inspirer confiance ? Il n’y a qu’une seule solution miracle pour cela. 


blockchain privée vs blockchain publique : l’organisation de la preuve entre les parties au contrat de blockchain privée

De manière général, le contrat est un outil juridique très performant pour instaurer de la confiance entre ceux qui le signent. C’est sa fonction première d’ailleurs, car on sait qu’un juge lui donnera toute sa portée en cas de conflit entre signataires.

Si l’on veut bien s’extraire de l’effet de mode actuel autours de la blockchain/crypto-monnaie, on imagine mal comment des blockchains publiques, sans gouvernance ouverte, sans règles de fonctionnement vérifiables, sans responsable identifiable, pourront réellement se déployer à une échelle industrielle. Dans le monde des affaires, « la nature a horreur du vide (juridique) ».


blockchain privée vs blockchain publique : en devenant membre d’une blockchain privée, chaque partie accepte le « contrat sur la preuve »

Si on veut qu’une blockchain puisse remplir sa fonction, il faut que cette fonction soit remplie à l’identique, sans discrimination, au profit de tous les membres. Comme les noeuds valident des blocs de messages, il faut bien qu’eux aussi acceptent la valeur juridique que le contrat confère aux messages. A cet égard, il me parait normal que le prestataire de Blockchain as a Service signe lui aussi cette convention. Surtout si, dans son service, le prestataire de blockchain à la carte opère lui aussi un noeud (on voit mal comment il pourrait faire autrement…).


blockchain privée vs blockchain publique : bon, c’est quand même pas simple…

Ce qui est certain, c’est que l’absence de tout contrat autre que la « domination » du code source pose un vrai problème de vacuité juridique. Aucun professionnel ne peut se satisfaire du prétendu sacro-saint principe « the code is law« . Evidemment, le fait pour TOUS les membres d’une blockchain privée d’avoir accepté un contrat identique permet de résoudre l’immense majorité des problèmes. Si le contrat est clair, la confiance peut naitre, adossée à une responsabilité identifiée d’acteurs qui le sont aussi. On revient en territoire connu et gérable contractuellement. On peut alors effectivement se servir de cet outil génial qu’est la blockchain. On le voit bien, sans contrat pour encadrer l’usage d’une blockchain, l’intérêt d’utiliser ce protocole est franchement limité, pour ne pas dire inexistant.


bientôt sur ce blog : « Blockchain as a Service »

Si vous souhaitez bénéficier de l’expertise d’un prestataire professionnel qui, lui, sait faire, vous allez gagner du temps et très probablement de l’argent. Et vous trouverez en la personne du prestataire un « responsable » au sens juridique du terme. Oui, ce sera pour une prochaine présentation…


blockchain privée vs blockchain publique : merci au « dernier Troyen » et aux éditions Soleil