Blockchain et information géographique

11 juillet 2018
Actualités

Suite à une série de présentations publiques sur le thème de la blockchain depuis le printemps (FOSS4G-FR, GeoDataDays notamment) il est temps de rendre compte des diverses réflexions qui ont motivé cette démarche et qui ont aussi été alimentées par des échanges nourris avec les participants.

Qu’est-ce que la blockchain ?

La blockchain n’est que le dernier avatar d’une longue série de techniques destinées à conserver de l’information de manière durable. Les premiers exemples d’écriture témoignent déjà de ce besoin. Ce sont les comptables qui les premiers ont tracé des symboles dans l’argile, ce sont aussi les comptables qui les premiers ont vu l’intérêt de la technologie blockchain pour inventer les cryptomonnaies. La blockchain n’est rien de plus qu’un registre numérique sécurisé et distribué, permettant de s’affranchir d’une autorité régulatrice, chacun faisant office de tiers de confiance (mais on parle déjà là de gouvernance, nous y reviendrons). Ce registre numérique sécurisé vise à reproduire dans notre monde de fake news et copies illicites la notion d’infalsifiabilité qui fait la valeur des registres papier reliés. Dans ceux-ci, une page sans rature signifie que les informations n’y ont pas été altérées. La présence de toutes les pages, vérifiables par leur numérotation ou l’absence de déchirure, permet de certifier que toutes les informations sont bien présentes. C’est exactement ce que vise à reproduire la blockchain dans le contexte d’un registre numérique.

Comment ça marche ?

Si le principe de la blockchain est finalement assez simple, il recourt à des algorithmes très sophistiqués que je serais bien en peine de vous expliquer en détail et que l’on désigne sous le nom de fonctions de hachage (hash en anglais). Ceux-ci sont capables de générer des chaînes de caractères de longueur fixe (32 bits, 64 bits…) uniques (si la longueur est bien choisie évidemment) à partir d’un contenu quelconque (fichier, image, texte, chiffres) servant ainsi d’empreinte numérique compacte à des choses très variées. On s’en sert pour vérifier l’intégrité d’un téléchargement par exemple, car l’altération du moindre bit change radicalement l’empreinte numérique. Par exemple le hachage par SHA256 (un des algorithmes les plus répandus) du terme « géomatique » donne D47A202B297CB6CCD4238CB88BBD49670209447787BE73EA834725A1AB184F6E tandis que pour « geomatique » (sans accent donc) on obtient
3BF2C56948337C47F1E031E2ACE3F4EEFEE62FC2D3AB55625688683FE385274E ! Impossible de les confondre ou de supposer de leur proximité littérale.
A l’aide de ces puissants algorithmes, la blockchain reproduit les deux preuves de non altération du registre qu’offre la version papier broché :

  • La page devient le bloc. Il est composé de lignes d’écriture (transactions, opérations diverses). Dans l’en-tête du bloc (le haut de page en quelque sorte), on écrit l’empreinte numérique des opérations, de telle sorte que si une d’entre elles venait à être modifiée, l’empreinte ne correspondrait plus au contenu. Le registre ayant vocation à être public et distribué, chacun peut faire ce genre de vérification.
  • Chaque bloc est relié au bloc précédent, en reprenant également son empreinte numérique dans son en-tête. Ainsi, si tout le bloc venait à être modifié (opération + en-tête), c’est dans le bloc suivant qu’on verrait l’incohérence. La falsification n’est pas impossible, mais imposerait de réécrire toute la chaîne, de régénérer tous les hash, en suffisamment peu de temps pour que ça passe inaperçu. C’est donc de facto irréalisable.

Ça donne alors à peu près ça :

On a ici le bloc n° 3 référençant le bloc précédent (previous) par son hash, contenant une charge utile composée de transactions, dont l’empreinte numérique et l’horodatée sont également inscrits. Toute altération de ce contenu serait détectable très rapidement, car le hash se calcule en quelques centièmes de seconde et peut donc être vérifié par tout utilisateur, voire automatiquement par des programmes spécialisés.

Pour quoi faire ?

Belle technologie donc, mais on n’est pas des comptables non plus, et on n’a pas forcément envie de se convertir aux cryptomonnaies, qui recourent largement à ces technologies. Donc que va-t-on pouvoir bien faire d’un registre infalsifiable ? Mais ce qu’on veut, c’est ça qui est extrêmement séduisant ! On va pouvoir y écrire absolument ce qu’on veut, des positions de véhicules, des valeurs de capteurs, des noms de fichiers, des empreintes numériques de documents, mélanger le tout, secouer, la blockchain est agnostique. Dès lors qu’on doit pouvoir prouver l’enregistrement d’une information à un moment donné (la patrouille de police était devant la mairie, le document d’arpentage a été publié, le taux de CO2 dépassait la norme) sans avoir à douter de celui qui tient le registre, le serveur, la base de données, tous ces intermédiaires qui peuvent, avec les systèmes de bases de données traditionnels (fichiers ou SGBD), falsifier un contenu numérique, sans avoir à se reposer sur un tiers de confiance, la blockchain fait des merveilles.

Et l’information géographique là-dedans ?

Comme indiqué précédemment, on peut enregistrer ce qu’on veut dans la blockchain, de l’information géographique ou autre. On peut donc très bien avoir des geoblockchains dédiées et optimisées à cet usage, dans lesquelles on peut imaginer des conditions de validation supplémentaires (vérification de cohérence géographique, de topologie, tout ce qui fait le miel du géomaticien au quotidien). Mais on peut aussi en faire le déclencheur de la validation du bloc. C’est une notion que nous n’avons pas encore abordée, mais s’il peut sembler clair que tout un chacun (les utilisateurs de la blockchain au moins) vont être en mesure d’enregistrer des opérations, qui valide les blocs ? Pour le Bitcoin il s’agit également des utilisateurs eux-mêmes, suscitant des courses de vitesse très énergivores pour calculer le premier le Proof of Work, autre empreinte numérique obéissant à des contraintes fortes, afin de ne pas être calculable trop vite, car dans le monde des cryptomonnaies les validateurs de blocs sont rétribués et il ne faut pas trop stimuler la création monétaire. Tout est donc fait pour qu’un bloc mette 10 minutes en moyenne pour être validé. Dans un monde géomatique, les choses n’ont pas la même criticité, et surtout nous ne créons pas de monnaie. Donc qui valide le bloc, c’est tout l’enjeu de la gouvernance.

Qui c’est qui commande ?

On voit déjà s’indigner le burelain, le rond-de-cuir, appliqué à soigner les pleins et les déliés de son registre jalousement gardé dans son tiroir fermé à clé… « Ne seriez-vous pas un peu des anarchistes vous autres ? », « que vais-je devenir ? « . Mais comme pour ce qu’on met DANS la blockchain, la manière de piloter la blockchain, d’assurer sa gouvernance, est très libre. Au modèle égalitaire et horizontal revendiqué des cryptomonnaies, il existe des approches plus intégrées, des blockchains de consortium ou même privées, dans lesquelles les droits à l’écriture des opérations et à la validation des blocs sont réservés à certains utilisateurs, comme du temps des registres papier. La distribution du registre pour lecture peut ainsi être ouverte à certains utilisateurs, et les modifications à d’autres. Rien de très original donc, si ce n’est que même si vous déléguez la saisie des opérations à un tiers, il n’aura néanmoins pas la possibilité d’en falsifier le contenu. Ou s’il le fait ça se verra… L’information géographique peut elle-même servir de preuve. Parce que je suis à tel endroit je suis en mesure de certifier que : la voiture de location s’y trouve aussi, la borne cadastrale est bien positionnée, le bureau de l’AFIGEO est toujours au bistrot…

Alors on se lance ?

De nombreux secteurs d’activités s’intéressent de près à cette technologie. C’est évidemment le cas des banques, qui disposent déjà de blockchains de consortium en interbancaire, des assurances, de l’aviation… du foncier évidemment avec quelques programmes pilotes en Afrique. La totale liberté du contenu de la blockchain et de sa gouvernance devrait en séduire d’autres, dès lors que la réticence due à la proximité encore marquée avec les sulfureuses cryptomonnaies se sera dissipée et que la blockchain sera ramenée à la place qui est la sienne, un bon vieux registre.