Concluez sur l’intérêt d’une blockchain comme support de base de données pour un annuaire et les impacts d’une évolution de schéma.
Tout d’abord, commençons par définir les termes clés de la question.
Annuaire: Un annuaire est une base de données particulière puisqu’elle est optimisée pour l’accès des données en lecture. Ainsi, un annuaire n’est pas conçu pour archiver des données en mouvement. Chaque bloc dépend de ses voisins pour en garantir l’intégrité.
Blockchain: Mode de stockage de données dans des blocs chaînés les uns aux autres à leurs prédécesseurs et leurs successeurs respectifs.
Si un annuaire est fait pour être rapide en lecture, il paraît indispensable que sa structure de données soit sélectionnée avec soin. Il est important de choisir une structure qui organise la donnée avec des critères objectifs et pertinents selon les usages afin de réduire au maximum la complexité d’accès à la donnée. Le principal problème de la blockchain est que la donnée n’est pas organisée comment dans des arbres, mais stockée de manière linéaire. Ainsi, pour accéder à une donnée en particulier, toute la chaîne devra potentiellement être parcourue de manière séquentielle. C’est donc un problème majeur pour un annuaire. Cependant, la blockchain pourrait être couplée à une autre structure qui se contenterait d’exposer sa donnée de manière hiérarchique.
En général, les annuaires sont centralisés. Dans le cas d’une blockchain, la centralisation joue en sa défaveur. En effet, une blockchain est difficile à corrompre lorsqu’elle est partagée par un grand nombre de personnes. L’argument de l’intégrité qui a fait en partie la réputation de la blockchaine tombe à l’eau lorsqu’il s’agit de la centraliser. Il suffirait d’un acte malveillant ciblé fructueux pour que la corruption ait lieu.
En poursuivant sur le concept de centralité d’un annuaire, si une base de données est centralisée, c’est qu’elle est administrée par une autorité compétente. Il devient alors difficile de justifier le concept de preuve de travail de la blockchain. Celui-ci devient alors un frein dans l’administration de l’annuaire par l’autorité compétente qui par définition sait ce qu’elle fait.
La simple modification d’un bloc peut engendrer un re-calcul intégrale de la blockchain, incluant la preuve de travail. Même si un annuaire n’est pas fait pour ré-écrire de la donnée en permanence, il doit pouvoir être édité dans des dimensions temporelles décentes. La blockchain est faite pour fixer dans le marbre des événements comme des transactions, ou des données qui ne pourrons pas être modifiées dans le temps. L’annuaire doit quand même garder une certaine souplesse dans l’écriture des données.
Pour résumer, par nature, la blockchain s’oppose de concept d’annuaire centralisé. Le stockage de la donnée par chaînage de manière linéaire ne joue pas en faveur de la performance dans l’accès à la donnée, bien que celle-ci pourrait être accompagnée d’une structure d’exposition de la donnée (arbre, …). La preuve de travail perd son sens lorsqu’il s’agit de centraliser une blockchain gérée par une autorité compétente. Pour finir, une simple modification pourrait engendrer un coût de calcul déraisonné. Pour toutes ces raisons, et dans les contextes qui ont été énoncés, une blockchain ne nous paraît pas une bonne solution pour entreposer les données d’un annuaire.
Si une telle architecture d’annuaire venait à voir le jour, il faudrait repenser la façon de gérer un annuaire avec éventuellement une décentralisation. Celle-ci permettrait de bénéficier des avantages d’une blockchain en matière d’intégrité.