ÉTUDE COMPARATIVE ENTRE UNE BASE DE DONNÉES RELATIONNELLE ET LA CHAÎNE DE BLOCS (BLOCKCHAIN) BITCOIN (fin)
- RESULTAT GLOBAL DES CONFRONTATIONS ET DISCUSSION
Partant des définitions ci-haut évoquées considérant une base de données comme étant un grand fichier dans lequel on retrouve des petits fichiers ayant des liens entre eux, renfermant des informations nécessaires, non répétitives et permettant à plusieurs utilisateurs d’y accéder simultanément, et celle de la blockchain qui est un fichier informatique composé des pages ordonnées évoluant par addition des nouvelles pages qui contiennent un résumé des celles qui précèdent, il s’avère que les deux sont des fichiers permettant de stocker des données mais présentent des différences majeures dans la manière de gérer les données.
Le tableau ci-dessous représente un condensé des différents critères retenus pour la confrontation dans le présent article ainsi que le résultat obtenu.
Tableau I : Points convergeant et divergeant
Le tableau ci-haut représentés (Tableau I) expose de façon claire les points convergeant et divergeant entre une base de données relationnelle et une blockchain que nous résumons :
- Des critères ACID
Le tableau nous montre que les deux bases de données parviennent à tenir compte des propriétés ACID et à les respecter. La seule différence réside dans la manière d’y parvenir :
- Les bases de données relationnelles y parviennent à l’aide de la sérialisabilité des traitements, du contrôle des concurrences, de la journalisation des transactions ainsi que la réplication des données
- La blockchain quant à elle y parvient en passant par le minage, la preuve de Travail, le hashage ainsi que par la validation de la chaîne la plus longue.
Dans la blockchain il y a une contrainte d’intégrité fonctionnelle qu’il faudra respecter. Cette contrainte exige à ce que le bloc à ajouter à la chaîne de blocs soit temporellement récent au bloc qui le précède. Cet écart temporel entre les blocs est fixé à dix (10) minutes. En effet, si le bloc précédent (Bp) a été ajouté à un temps (t) le nouveau bloc doit répondre à la condition suivante :
Bn = Bp + t
Où :
- Bn : Nouveau Bloc ;
- Bp : Bloc précédent ;
- t : le temps (10 minutes de plus que le Bloc précédent)
La blockchain Bitcoin peut être ainsi résumé :
En plus des propriétés ACID, la Blockchain bénéficie des avantages des propriétés BASE (- Basic Availability, Soft state, Eventually Consistent) relative aux bases de données NoSQL. Cela assure à la Base de données Bitcoin l’accessibilité à tout temps et la cohérence toutes les 60 minutes (6 blocs). En effet Bitcoin utilise le moteur de base de données Berkeley_DB, un gratuiciel de la firme Oracle.
- De l’environnement de travail
Les bases de données relationnelles ont été créées pour répondre aux besoins des entreprises. Cela les prédisposait déjà à être utilisées par plusieurs personnes pouvant être située dans différents sites. Quant à la blockchain, elle a été conçue pour répondre à un besoin spécifique, et à être utilisée dans un environnement bien déterminé.
- Du point de vue étendu géographique, les bases de données relations peuvent être utilisées dans réseau LAN, MAN et WAN. Du point de vue champs d’action elles peuvent être utilisées dans un INTRANET (réseau fermé) tout comme dans un réseau EXTRANET (réseau ouvert). Du point de vue architectural, les bases de données relationnelles se prêtent bien à une architecture client-serveur qu’à l’architecture poste à poste.
- La base de données Bitcoin quant à elle, a été conçue pour être utilisée dans un réseau ouvert à tous (EXTRANET), passant par le réseau Internet (WAN). Quant à l’architecture, la base de données Bitcoin n’a été conçue que pour être déployée dans l’architecture poste à poste.
Il s’avère que les deux convergent sur le plan étendu géographique : elles peuvent être déployées sur un réseau MAN. Du point de vue champs d’action elles peuvent être déployées sur un réseau EXTRANET et du point de vue architecture sur un réseau Poste à Poste.
La base de données relationnelle possède donc l’avantage de pouvoir être déployée sur tous les types de réseau, contrairement à la base de données Bitcoin qui en exclu d’autres.
- Des opérations
- Les bases de données relationnelles permettent plusieurs opérations : Ajout, Consultation, Modification et Suppression
- La base de données Bitcoin ne permet d’effectuer que deux opérations : l’Ajout et la Consultation
Il apparait clairement ici que la base de données Bitcoin ne permet que l’ajout et la Consultation contrairement à la base de données relationnelle. Cela est dû au fait que le Bitcoin est déployé dans un environnement dépourvu d’autorité de régulation pouvant se porter garent d’une modification de l’historique. Cette « faiblesse » constitue en fait le point fort de cette base de données car elle lui assure l’inviolabilité des transactions.
- Des redondances
Les deux bases de données tolèrent une redondance calculée. Dans le cas de la base de données relationnelle, cette redondance est faite au moyen de clé secondaire. Pour la base de données Bitcoin c’est la valeur du hash précédent qui sera reprise dans le bloc suivant
- Des objectifs
- Les bases de données relationnelles ont été créées dans le but de centraliser les données pour éviter la redondance des informations en vue de gagner de l’espace disque et d’assurer la cohérence des données. La nature des données stockées dépendant bien sûr du domaine d’application pour lequel la base de données relationnelle est créée.
- La blockchain Bitcoin a pour objectif de garantir l’unicité des transactions financières dans un environnement dépourvu d’une autorité de régulation en résolvant au passage la problématique de la double dépense
Pour le Professeur Serge MIRANDA, les bases de données relationnelles, comme tout domaine clé de l’informatique, doivent être envisagées dans l’enseignement, la recherche et l’industrie sous trois aspects complémentaires :
- Une science, caractérisée par des concepts (ayant une durée de vie supérieure à 20 ans, ex modèle relationnel CODD)
- Une technologie, caractérisée par des méthodes (ayant une durée de vie supérieure à 5 ans ex MERISE
- Une technique caractérisée par des outils (ayant une durée de vie inférieure à 2 ans, ex Oracle)[1]
Partant de ce qui précède, la base de données Blockchain qui à ce jour totalise dix ans peut déjà être enseignée comme une technique et une technologie dans les universités de notre pays comme cela est déjà le cas dans d’autres pays.
- CONCLUSION
Plusieurs articles sur les crypto-monnaies et la blockchain existent mais elle ne parle pas de la comparaison entre une base de données relationnelle et la blockchain Bitcoin. Ces articles se focalisent sur l’explication générale des concepts de SATOSHI NAKAMOTO.
Il nous a paru opportun de partir de la base de données basée sur le modèle relationnel pour effectuer cette étude comparative au vue de son adoption et de son utilisation par la grande communauté des développeurs.
Les différents critères de confrontation mise en exergue nous ont permis de mettre en évidence les points convergeant et divergeant entre les deux bases de données ainsi certains avantages et inconvénients.
Enfin, Il apparait clairement qu’en plus des avantages du concept ACID la chaîne de blocs Bitcoin profite aussi de ceux du concept BASE.
BIBLIOGRAPHIE ET WEBOGRAPHIE
- C. MVIBUDULU et L.D. KONKFIE IPEPE, Technique des bases de données : Etude et cas, 2e Edition, Ed. CRIGED
- MARCENAC, SGBD relationnels, optimisation des performances, Ed. Eyrolles
- Antonopoulos, Mastering Bitcoin
- NAKAMOTO, Bitcoin : Système de Monnaie Electronique en Pair-à-Pair.
- ADAM et C. KOLSKI, Etude comparative de méthodes du Génie Logiciel en vue du développement de systèmes interactifs dans les processus administratifs complexes
- Philippe Rigaux : Cours de bases de données – Aspects systèmes (http://sys.bdpedia.fr/)
- P. Delahaye: http://www.scilogs.fr/complexites/search/blockchain
- Zaninotto, La blockchain expliquée aux développeurs web, partie 1: la théorie (https://marmelab.com/blog/2016/05/12/ blockchain- expliquee-aux-developpeurs-web-la-theorie.html)
- Borderie, Atomicité, cohérence, isolation et durabilité sont les quatre conditions d’une transaction réussie au sein d’une base de données. Définition et raison d’être de chacune (http://www.journaldunet.com/developpeur/tutoriel/theo/060615-theo-db-acid.shtml)
- Martin : Blockchain vs relational database: Which is right for your application?
- http://www.droitconstitutionnel.org/congresNancy/comN/barrueBelouTD4.pdf
- https://www.cryptoencyclopedie.com
- https://cours.etsmtl.ca/gpa775/
- https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql/1970063-transactions
- https://techbeacon.com/Blockchain-relational-database-which-right-for-your-application
- http://www.cnrtl.fr/definition/redondance
- https://fr.wikipedia.org/
[1] P. MARCENAC, SGBD relationnels, optimisation des performances, 1993, Préface de S. MIRANDA