Préambule

Les blockchain publiques sont, par construction :

  • ouvertes à tous : vous pouvez déposer des données, interroger celles qui ont été déposées par d’autres
  • non modifiables : ces données sont conservées sans limite de temps par d’autres que vous

C’est ainsi que la confiance se gagne : ce que vous y faites est accessible à d’autres, et inversement. En d’autres termes, tout le monde peut surveiller tout le monde, et donc chacun se doit de bien se tenir. C’est en ça que cette machine est vertueuse : https://www.contractchain.io/la-blockchain-une-machine-vertueuse/

Est-ce pour autant que ces données sont publiques ? Non, fort heureusement

Comment sont-elles rendues confidentielles ?

Sur le sujet de la protection des données, beaucoup emploient indifféremment les termes cryptage et chiffrement. Dans les blockchain, il ne s’agit ni de l’un, ni de l’autre:

  • La cryptographie est une science qui traite des techniques de chiffrement et de déchiffrement.
  • Le chiffrement est une technique qui permet de rendre des données illisibles (grâce à une clé de chiffrement) à qui ne possède pas la clé de déchiffrement. Cette méthode est donc bi-directionnelle : le document peut être reconstitué

Si cette technique était utilisée, alors cela voudrait dire que vos données sont sur la blockchain. Or elles n’y sont pas. La méthode utilisée est celle du hashage. A la différence du chiffrement, une fonction de hachage est ce que l’on appelle une fonction à sens unique, ce qui veut dire que le calcul du hash d’une donnée est aisé tandis que le calcul de sa fonction inverse est infaisable : on ne peut pas reconstruire le document à partir de son hash (plus il sera complexe, plus les risques de collision sera faible). L’algorithme utilisé par l’essentiel des blockchain est le SHA-256

L’exemple visuel ci-dessous ( source wikipedia) est sans doute le plus parlant : celui qui possède la Joconde peut la hasher. Si on ne connait que le hash, on ne peut ni savoir qu’il s’agit de la Joconde, ni bien sûr la reconstituer. Le détenteur d’une donnée peut ainsi prouver son intégrité, sa propriété, ou son antériorité.

Cette technique est celle qui est utilisée pour vos codes secrets : quand vous tapez un code sur votre clavier, ça n’est évidemment pas lui qui part dans le tuyau d’internet (il pourrait être volé), c’est le hash de votre code secret (que même votre banquier ne connait pas).

Avec les blockchain, il faut donc comprendre que vos données ne quittent pas votre ordinateur, et que seules les preuves d’intégrité de ces dernières seront déposées sur la blockchain et rendues publiques.

Les blockchain ne sont donc efficacement interrogeables que par les détenteurs des données. Le simple fait qu’elles le soient par tous (même inefficacement) vous empêchera de vous contredire. C’est en ça qu’elles fabriquent un environnement dans lequel on ne peut pas tricher.

Qu’en est-il de l’immuabilité des données des blockchain au regard du RGPD ?

Il est souvent dit que cette immuabilité était incompatible avec le règlement sur la protection des données. Il est vrai que l’article 17 du RGPD (également connu sous le nom de droit à l’oubli numérique) traite du droit à l’effacement des données et permet à tout citoyen résidant dans un pays membre de l’Union européenne de demander à un organisme d’effacer les « données personnelles » qui le concerne.

Une donnée à caractère personnel correspond en droit français « à toute information relative à une personne physique identifiée ou qui peut être identifiée, directement ou indirectement  » cf cnil.fr. Pour que ces données ne soient plus considérées comme personnelles, elles doivent « être rendues anonymes de manière à rendre impossible toute identification de la personne concernée : noms masqués, visages floutés, etc. »

En synthèse, on peut considérer sans risque que le hash décrit ci-dessus est sans doute le plus efficace des masques et des flous exigés par la CNIL.

christophe@contractchain.io