Étude comparative entre la Blockchain Bitcoin et une Base de Données Relationnelle

  1. INTRODUCTION

Il ne passe pas un jour sans qu’un media (Journal télévisé, magazine, enquête, émission radiodiffusée et télévisée) ne parle de la chaîne de blocs ou des crypto-monnaies (monnaies numériques), et surtout du Bitcoin  dont la valeur ne cesse de  fluctuer sur les places des changes(Trade). Cette publicité engendre plus d’intérêt, plus de questionnement par rapport au fonctionnement de cette dernière et dans la compréhension de tous ces nouveaux termes qui l’accompagne.

La compréhension de la blockchain pose un sérieux problème, vue que pour fonctionner, elle fait appel à plusieurs domaines de l’informatique, des mathématiques et de la finance (base de données, la cryptographie, le hachage des fichiers, les transactions. La blockchain étant aussi définie comme une base de données, nous avons jugé bon de faire une étude comparative partant des caractéristiques d’une base de données relationnelle et celles de la blockchain en vue d’en faciliter la compréhension aux administrateurs des bases de données.

  1. LE CONTEXTE

Aperçu historique de la blockchain

Suite à la crise mondiale provoquée par l’effondrement du secteur immobilier entrainant par la suite celle des certaines grandes banques aux Etats-Unis d’Amérique et dans certains pays en 2008 et le manque de confiance dans les institutions bancaires qui s’en suivi, SATOSHI NAKAMOTO conçu un système qui permettrai de se passer d’un régulateur central (autorité de régulation) dans la validation des transactions financières, qu’il appela BITCOIN. Ce système permettra de placer la confiance, lors de la validation des transactions entre deux acteurs, dans un algorithme infalsifiable géré par un ordinateur plutôt que en un humain faillible. Ainsi toutes les transactions validées à un moment donné par un ordinateur (après compétition entre tous les ordinateurs du réseau) sont empaquetées dans un bloc. Ce nouveau bloc sera ainsi ajouté à l’historique et envoyé (distribué) à tous les ordinateurs qui participent à cette compétition de validation des transactions, constituant ainsi une chaîne de blocs validés et infalsifiables. Cette chaîne constitue ainsi une base de données distribuée. En vue de mettre en pratique ces théories, en janvier 2009, il lança le BITCOIN, une application permettant d’effectuer des transactions financières entre deux individus sans passer par l’autorité de régulation (la banque).

Les concepts généraux

Il y a plusieurs types de base de données parmi lesquelles nous pouvons citer :

  • Les bases de données réseaux dans lesquelles les données sont placées de façon quelconques sur leur graphe et reliées entre elles par des pointeurs
  • Les bases de données hiérarchiques semblables aux bases données réseaux, n’étant différent de cette dernière que par son organisation des données en arborescences
  • Les bases de données relationnelles dans lesquelles l’information est organisée dans des tableaux à deux dimensions appelés des relations ou tables  selon le modèle introduit par Codd en 1970

D’après le site web Engine-db, spécialisé dans le classement mondial des bases de données, actuellement les bases de données relationnelles sont les plus utilisées au monde en occupant le top quatre (4) du classement mondial[1]. D’où notre choix d’effectuer, dans la compréhension de la blockchain, une étude comparative entre les bases de données relationnelles et les bases de données Blockchain.

 Nous utiliserons la méthode comparative car la comparaison est un outil de l’activité scientifique qui oblige de procéder à une discrimination (c’est nous qui soulignons), impliquant au moins deux éléments. Classer, ordonner, hiérarchiser, mesurer, évaluer, c’est comparer[2]. Une comparaison est toujours faite sur base de certains critères de confrontation.

Aussi notre étude comparative se focalisera sur les critères de confrontation suivants :

  1. Définition
  2. Concepts de bases (Entité, attribut, association)
  3. Redondance des données
  4. Les propriétés ACID
  5. Les opérations
  6. Environnement de travail

Des critères de comparaison

En vue d’enlever toute équivoque, sont définis ici les différents concepts qui font partie des critères de comparaison utilisés dans la présente étude.

  1. Définition

C’est l’opération par laquelle on détermine le contenu d’un concept en énumérant ses caractères. C’est aussi une formule qui donne le ou les sens d’un mot, d’une expression et qui vise à être synonyme de ce qui est défini[3].

  1. Concepts de base (Entité, attribut, association)

L’entité: c’est une représentation d’un élément matériel ou immatériel dans le système que l’on désire décrire. Elle correspond à un ensemble homogène d’informations qui correspondent au même « objet » à informatiser. Cette entité a un nom unique afin de la manipuler facilement.

L’attribut: c’est une caractéristique d’une entité susceptible d’être enregistrée dans la base de données[4]

Association : Une association est la représentation d’une liaison logique entre plusieurs entités.

  1. Environnement de travail

L’environnement de travail représente l’ensemble de matériels informatiques qui sont mis ensemble pour permettre un fonctionnement optimal du système.

  1. Les propriétés ACID

En vue de garantir l’intégrité, la fiabilité et la cohérence des informations enregistrées dans la base de données, il est impérieux de tenir compte des propriétés ACID (définies par Jim Gray vers la fin des années 1970) suivants :

A (Atomicité)

Il arrive de fois que plusieurs personnes tentent d’effectuer différentes opérations sur un enregistrement simultanément, au risque d’affecter la cohérence des données. Une transaction forme une unité indivisible, soit exécutée dans sa totalité, soit annulée dans sa totalité.

C (Cohérence)

La cohérence n’est que la conséquence du respect de l’atomicité. Ainsi une transaction effectuée correctement doit faire quitter la base de données d’un état cohérent avant et après cette transaction.

I (Isolation)

 Lors de l’exécution d’une transaction aucune autre instruction ne faisant pas partie de cette transaction ne doit être exécutée ; et si deux transactions sont lancées simultanément, elles ne doivent jamais interférer entre elles.  Cela garantie que la base de données qui était avant la transaction dans état cohérant le restera après exécution de cette transaction.

D (Durabilité)

La durabilité est la propriété qui garantit qu’une transaction informatique qui a été confirmée survit de façon permanente, quels que soient les problèmes rencontrés par la base de données ou le système informatique où cette transaction a été traitée. Par exemple, dans un système de réservation de sièges d’avion, la durabilité assure qu’une réservation confirmée restera enregistrée quels que soient les problèmes rencontrés par l’ordinateur qui gère le système de réservation (panne d’électricité, écrasement de la tête sur le disque dur, etc.).

  1. La Redondance des données

Le dictionnaire en ligne du Centre National de Ressources Textuelles et Lexicales (CRTL) défini la redondance comme étant un Caractère d’un message, d’un code, présentant des répétitions, des éléments excédentaires par rapport au nombre de signes strictement nécessaires à la transmission de l’information et permettant ainsi une compréhension et une fiabilité meilleures[5]. Elle  se rapporte à la qualité ou à l’état d’être en surnombre, par rapport à la logique. Ce qui peut avoir la connotation négative de superflu, mais aussi un sens positif quand cette redondance est voulue afin de prévenir un dysfonctionnement[6].  

Lire la Suite…

[1] https://db-engines.com/en/ranking  consulté le 08/07/2018

[2]J. Rebotier. La rencontre dans la comparaison : outils, approches et concepts. Communication aux séminaires du VESPA faisant l’objet d’une note méthodologique, 2010. <halshs-00470550>

[3] Définitions proposé automatiquement par Google le 08/08/2018 (https://www.google.fr/search?num=20&newwindow=1&source=hp&ei=mZBqW5HXKMeNkwWHnq7wCw&q=d%C3%A9finition&oq=d%C3%A9finitio&gs_l=psy-ab.1.0.0l10.1128.4727.0.9254.10.9.0.0.0.0.613.2328.5-4.4.0….0…1.1.64.psy-ab..6.4.2325.0..0i131k1.0.u_73wRUkbU4)

[4] Colin Ritchie, Database Principles and Design, Cengage Learning EMEA – 2008, cité par WIKIPEDIA, consulté le 17/01/2018

[5] http://www.cnrtl.fr/definition/redondance consulté le 22/07/2018

[6] https://fr.wikipedia.org/wiki/Redondance consulté le 22/07/2018

Benjamin HYANGANGA

Je suis Assistant 2e Mandat à l'ISIPA, passionné des nouvelles technologies et la Programmation.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *