Par leurs propriétés naturelles, les technologies blockchain présentent une robustesse exemplaire. Entre autres, l’écueil du « single point of failure »[1] n’existe pas et les fonctions cryptographiques qui permettent l’échange de données de pair à pair y sont fondamentalement implémentées. Pour tirer profit de cette robustesse dans des cas d’usage qui nécessitent un haut degré de sûreté, de sécurité et de résilience, les technologies blockchain pourraient donc avoir leur place. Reste à identifier comment.

En effet, l’implémentation de ces technologies pose des questions d’ordre opérationnel et plusieurs niveaux d’intégration peuvent être envisagés. Parfois, une extension du système existant peut suffire. A l’inverse, nous verrons que dans d’autres cas d’usage spécifiques, il est plus pertinent que la blockchain soit au cœur des opérations.

Ici, nous exposerons pour chacun de ces deux modes d’implémentation – en exosquelette d’un système existant ou à partir d’une copie blanche – un exemple de cas pour lequel l’utilisation d’une blockchain apporte plus de robustesse au Système d’Information (SI).

Une blockchain pour renforcer un système existant

Si les blockchains sont désormais bien connues pour les applications dans lesquelles elles sont au centre de la solution, il existe également des cas où elles peuvent être utilisées en complément d’un autre système non-blockchain. Cela permet d’apporter un niveau de robustesse supplémentaire sans se lancer dans une refonte de la solution. Voyons, dans ce premier exemple, un cas qui implémente cette configuration hybride pour améliorer la résilience des procédés de réplication des données stockées en bases.

Dans un Système d’Information, il existe plusieurs raisons pour lesquelles nous pouvons être amenés à gérer la réplication de données dans des socles différents. Que ce soit à la suite d’évolutions historiques ou pour assurer la disponibilité des informations, il n’est pas anodin de retrouver plusieurs clones de la même base. Alors, s’assurer que les données sauvegardées sont identiques en tous points et à chaque instant est un défi.

Une des particularités des technologies blockchain est la duplication des données en chaque nœud du réseau. Elles semblent donc être candidates à la résolution de ce problème de synchronisation. Effectivement, s’il est encore aujourd’hui compliqué, pour des considérations de performance, de penser à remplacer les structures de duplication des données par un système blockchain seul, imaginer une configuration dans laquelle on adosse une technologie blockchain au système de sauvegarde existant semble pertinent pour améliorer les processus de synchronisation.

Illustrons notre propos par un exemple sur le cas particulier de la réplication volontaire des données dont l’objectif est d’en éviter la perte. Considérons ici un scénario dans lequel les données contenues dans une base maître sont dupliquées dans n bases esclaves, ici quatre. Les données de la base maître sont réputées les plus fiables et l’exercice consiste à en maintenir une copie exacte à chaque instant dans les quatre bases esclaves.

Dans une schématisation très simplifiée, un premier ensemble de données, D1, est versé dans la base maître et diffusé aux autres. C’est à ce moment que peuvent subvenir des problèmes de pertes de données ou de désynchronisation.

 

 

 

 

Pour tenter de résoudre ce problème, ajoutons-y comme un exosquelette, un réseau blockchain dans lequel un nœud est adossé à chacune des bases.

1. Chaque base, calcule un hash [2] des données modifiées depuis la dernière version qu’elle envoie au réseau blockchain dans une transaction par le nœud auquel elle est associée.

2. La logique implémentée dans un « smart contract »[3] valide l’égalité des hashes.

 

 

Penchons-nous désormais sur un cas de dysfonctionnement et voyons comment la blockchain peut le détecter.

1. Quand les données n’arrivent pas dans une des bases, nous avons un cas de désynchronisation.

2. Dans ce cas, la base esclave calcule à nouveau le hash des données modifiées et les envoie sur le réseau blockchain.

 

 

Cette modification est diffusée à l’ensemble des nœuds et la logique implémentée dans le smart contract teste à nouveau l’égalité avec le hash de référence.

Cette égalité n’est pas vérifiée, révélant la désynchronisation.

Bien sûr, c’est une description macro d’un système dont l’implémentation demanderait une réflexion plus avancée notamment sur :

  • la stratégie de calcul des hashes : périodique, à chaque mise à jour des données etc. ;
  • la politique d’interaction avec la blockchain : niveau de permissivité du consensus, etc. ;
  • les mécanismes de gestion des versions des ensembles de données.

Il faut ici noter que, sans modifier profondément le système de sauvegarde d’origine, l’utilisation d’une blockchain adossée permet de détecter les désynchronisations en temps réel. Elle ne permet pas de résoudre ce problème, mais son ajout est source de robustesse.

Une blockchain au centre d’un cas d’usage critique

Nous l’avons dit, certains cas d’usage spécifiques sont si critiques qu’une adaptation des solutions existantes pour répondre au niveau d’exigence attendu s’avère moins pertinente. Dans ce cas, il sera préférable de développer un nouveau système reposant entièrement sur une blockchain.

Pensons par exemple au cas de communication pair à pair dans un écosystème critique tel qu’une armée. Nous sommes ici loin des attentes du grand public qui espère aujourd’hui qu’une messagerie instantanée lui permette d’échanger du contenu multimédia volumineux et dont la sécurisation est moins critique. A l’inverse, notre système doit permettre l’échange de messages cryptés, sécuriser une disponibilité continue du service et détecter les tentatives d’écoute ou d’usurpation d’identité.

Dans ce contexte, les solutions existantes reposent sur des modèles client/serveur, avec l’inconvénient de faire transiter les messages par des serveurs centralisés qui sont alors des « single points of failure ». En plus d’être des cibles privilégiées des attaques extérieures, ces systèmes traditionnels peuvent également souffrir de malveillances venant de l’intérieur et nuire au besoin de confidentialité si le chiffrage des messages n’est pas suffisant. Ici, tenter d’apporter les bienfaits de la blockchain, décentralisée par essence, en l’adossant sur ce modèle centralisé, serait peu pertinent.

En revanche, il est possible de bâtir une solution fondée entièrement sur une blockchain. Elle sera sans organe central et les messages seront systématiquement propagés à tous les nœuds. L’implémentation des processus de chiffrement asymétrique permettra aux expéditeurs de chiffrer les messages de sorte que seuls les destinataires puissent les déchiffrer. Tous les autres participants verront une trace du message qui sera pour eux indéchiffrable.

Nous pouvons alors atteindre un haut niveau de décentralisation permettant de neutraliser, par construction, l’écueil du « single point of failure » et d’être résistant aux attaques extérieures habituellement commises sur les serveurs. Outre cet avantage, la blockchain apporte également un haut niveau de confidentialité à travers le système de chiffrage détaillé précédemment et omniprésent dans cette technologie.

A travers ces deux exemples, nous voyons que les technologies blockchain ont beaucoup à apporter aux systèmes d’information dans lesquels un niveau de résilience élevé est nécessaire. Observons également que le niveau d’intégration de ces technologies peut varier et les caractéristiques de la blockchain seront exploités en proportion du besoin à couvrir. C’est une question à adresser au cas par cas en recherchant le meilleur compromis entre le besoin de robustesse et les coûts afférents.


[1] Un unique point de défaillance

[2] Résultat d’une fonction de hachage non inversible qui associe à un ensemble de données de taille variable une image de taille constante.

[3] Partie du code de la blockchain qui implémente la logique métier exécutée


Contacts :

Hamza El Kacimi, Mohammed Karim Bouarafa, Matthieu Bougeard.

Tirer parti de la technologie pour accélérer la croissance de votre entreprise
Rechercher
Toggle location