Dans le cours : Les fondements de la blockchain

Utiliser les solutions offertes par la blockchain

Dans le cours : Les fondements de la blockchain

Utiliser les solutions offertes par la blockchain

Nous avons vu que l’une des principales caractéristiques d’une base de données traditionnelle est d’être régie par une autorité centrale. Une organisation qui crée une base de données possède ainsi tous les droits associés. Elle choisit les bénéficiaires des droits d’accès et le type d’accès autorisé. C’est elle qui décide ce qui est stocké, supprimé et archivé dans la base de données. Cependant, cette approche a au moins 2 défauts potentiels. Un, si un système repose sur une base de données centrale, il y a un point de défaillance unique. En d’autres termes, si l’autorité centrale est compromise, la base de données peut courir un certain nombre de risques. Deux, l’autorité centrale a les pleins pouvoirs, ce qui est un inconvénient. Généralement, ce n’est pas un problème. Si vous avez un site web e-commerce, vous voulez probablement le maîtriser entièrement. Votre propre autorité centrale, peut-être vous en tant que PDG, statue sur tous les aspects de cet environnement et peut notamment décider de tout arrêter. Elle peut aussi limiter les accès en mettant en place des contraintes financières ou en rendant obligatoires des compétences spéciales, pour équilibrer les pouvoirs, comme avec des workflows d’approbation. Par extension, dans la plupart des cas, c’est une personne qui établit la validité d’une transaction. C’est particulièrement le cas avec le travail contractuel. Un contrat en ligne entre 2 entités nécessite toujours une ou plusieurs autorités centrales pour valider les données. Pour un prêt, les banques doivent vérifier l’épargne et approuver les prêts, une société dédiée doit valider les titres de propriété et des experts juridiques doivent valider les signatures et autres exigences contractuelles. Chacune de ces autorités centrales a un pouvoir unique et prélève des frais élevés dans le cadre de la transaction. Dans une base de données, la transaction prend du temps, coûte de l’argent, peut être piratée, implique une participation limitée des acteurs concernés, nécessite des compétences spéciales et peut générer des erreurs. Jusqu’à aujourd’hui, on s’en accommodait. Mais la blockchain résout la plupart de ces problèmes. Voyons comment. La blockchain est un nouveau type de base de données. Contrairement à une base de données centralisée ou décentralisée sur un ou plusieurs serveurs, une base de données blockchain est installée sur les ordinateurs de tous les utilisateurs. Ainsi, une copie de la même base de données est installée sur l’ordinateur de chaque utilisateur de la base. Comme je l’ai montré, avec une base de données centrale, la base de données se trouve sur un serveur et est au centre, tandis qu’une base de données décentralisée est répartie sur plusieurs serveurs. Une base de données blockchain distribuée est quant à elle copiée sur chaque ordinateur client du réseau. Il n’y a pas de serveurs de bases de données. Voici ce qui arrive quand une transaction est effectuée dans cette base de données distribuée. Pour faire simple, reprenons l’exemple précédent d’une base de données de contacts contenant des noms et des numéros de téléphone. Créons d’abord une règle pour notre annuaire électronique. Selon cette règle, seul le propriétaire d’un numéro de téléphone peut le modifier. Cette règle est codifiée dans notre logiciel. J’ai un nouveau smartphone et je dois mettre à jour mon numéro de téléphone dans mon annuaire électronique. Je fais d’abord le changement dans la base de données qui se trouve sur mon ordinateur. Ensuite, ma base de données transmet cette transaction, via Internet, à toutes les bases de données identiques sur le réseau distribué. Tous les ordinateurs individuels sur lesquels se trouve la base de données doivent alors confirmer que j’ai l’autorisation de changer mon numéro de téléphone. Comme toutes les bases de données distribuées savent déjà que seul le propriétaire peut faire une modification, mon action est autorisée. On peut parler d’autorisation consensuelle, car tous les ordinateurs du réseau doivent se mettre d’accord avant d’autoriser un changement. Chaque base de données ajoute alors un nouveau bloc de données dans la base qui inclut mon nouveau numéro. Je vais vous montrer ça avec des blocs. Voici des données. J’ai une nouvelle entrée. Dans ce cas, imaginons qu’il s’agit de mon nouveau numéro de téléphone. Continuons et finalisons cette opération. Nous avons vu que cette entrée était ensuite répliquée pour tous les participants dans la base de données blockchain. J’ai 3 exemples d’une base de données blockchain normale. Il y a probablement des milliers d’ordinateurs. Continuons et ajoutons une nouvelle entrée à la base de données, par exemple le numéro de téléphone d’une autre personne. Ce numéro est ajouté à toutes les autres bases de données. Il doit être identique. La base de données elle-même a indiqué que c’était permis. Nous avons maintenant une chaîne de blocs, appelée blockchain, qui a des informations identiques dans toutes les différentes bases de données distribuées. Voyons maintenant le plus intéressant. Disons que quelqu’un veut pirater ce système, par exemple en changeant ce bloc-là pour le remplacer par un bloc bleu. La base de données blockchain n’autorise pas cette opération. Pourquoi ? Parce que pour chaque ligne de cette base de données ici, il y a la même ligne dans chaque base de données. Ce ne serait plus le cas si le changement du pirate était autorisé. L’intégrité de la base de données serait compromise. C’est extrêmement important. Les blocs sont toujours ajoutés et jamais supprimés. Chaque changement correspond à un nouveau bloc. On parle d’immuabilité caractéristique. En d’autres termes, une base de données blockchain est immuable. Elle garde une trace de tous les changements, comme un registre de comptes où sont consignées toutes les transactions financières d’une entreprise. Pour cette raison, on associe souvent la blockchain à un registre distribué. Étudions cet exemple plus en détail, pour bien mesurer l’ampleur de cette innovation. Un, il n’y a pas d’autorité centrale. Le pouvoir est réparti au sein de tout le réseau d’utilisateurs de la base de données. Il n’y a pas une personne ou un système qui peut valider ou refuser le changement de mon numéro de téléphone. Le pouvoir est décentralisé. Tous les ordinateurs doivent arriver à un consensus. Comme la base de données distribuée sait que je suis le seul à pouvoir changer mon propre numéro, tout piratage est quasiment impossible. Nous pouvons créer ces transactions immuables. Un pirate aurait besoin de changer les informations sur des centaines voire des milliers d’ordinateurs pour obtenir le droit d’effectuer un changement. Ainsi, l’intégrité de la base de données est garantie, ce qui est gage de confiance. Voilà pourquoi on parle parfois de protocole de confiance pour la blockchain. Ensuite, une fois mon numéro de téléphone modifié, le changement est accepté et effectué quasi instantanément. Il y a un petit délai, car avec la blockchain, les demandes de changements sont mises en file d’attente et traitées dans l’ordre. Nous verrons dans une autre vidéo que cette opération implique aussi un traitement mathématique par certains ordinateurs. Nous venons de voir de façon simplifiée les bases de la base de données blockchain. En bref, il n’y a pas de base de données centrale : une base de données blockchain se trouve sur tous les ordinateurs qui l’utilisent. Toute transaction dans la base de données doit être validée par tous les ordinateurs. Cette méthode est quasiment inviolable. Elle élimine les autorités centrales, réduit largement les coûts des transactions, accélère le traitement des transactions complexes, etc. Pour bien comprendre la blockchain, nous devons nous intéresser à ses origines, c’est-à-dire au bitcoin.

Table des matières