Mieux comprendre la Blockchain

Juil 27, 2021 Tech

Cet article permet de mieux comprendre la Blockchain et est destiné à des lecteurs qui souhaitent développer une connaissance générale de son fonctionnement sans se perdre dans la complexité des spécificités. Que l’on adhère ou pas à l’engouement et aux valorisations des crypto-monnaies, il est indéniable que la technologie de la Blockchain offre de nombreuses autres applications qui ont le potentiel de bouleverser la gestion des chaines logistiques et des transactions de notre vie quotidienne.

Qu’est-ce qu’une Blockchain?

Une Blockchain est une base de données structurée sous forme d’un assemblage de blocs. Chaque bloc contient un nombre limité d’informations et lorsqu’il est saturé, un nouveau bloc est créé et attaché à ce bloc formant une chaine. Lorsqu’un bloc est ajouté, une empreinte de temps spécifique est allouée à ce bloc. Les nouveaux blocs sont enregistrés de manière linéaire et chronologique.

Structure-Blockchain-Cofcap-Consulting
Chaque bloc dans la chaîne est lié au précédent et contient les données du bloc précédent ainsi que les données propre au bloc.

Pour mieux comprendre le concept de Blockchain, il faut d’abord assimiler la notion de réseau pair-à-pair. Le principe de base de la blockchain est de distribuer et dupliquer un registre de données entre plusieurs acteurs faisant partie d’un réseau P2P.

Reseau-P2P-Cofcap-Consulting
Dans une architecture P2P, les échanges s’effectuent sans serveur dédié, chaque entité tient le rôle de serveur et de client.

Le fait d’avoir plusieurs exemplaires identiques du registre sur le réseau permet de ne pas devoir faire appel à un organisme central de contrôle mais de se reposer sur la validation des transactions par la communauté.

Lorsqu’il y a de nouvelles transactions, le réseau fait appel aux membres de la communauté en utilisant un système de validation spécifique (voir système de validation par preuve de travail ci-dessous) afin de vérifier et ajouter les transactions dans la base de données.

Le fonctionnement d’une Blockchain

-1- Deux utilisateurs initient une transaction en signant avec leurs clés privées (signature crypto). Cette signature digitale est utilisée pour prouver l’authenticité de la transaction au réseau.

-2- La transaction est transmise au réseau pair à pair constitué d’un grand nombre d’ordinateurs interconnectés qui vérifient son authenticité.

-3- La transaction est ajoutée à un bloc. Pour former et ajouter le bloc, plusieurs groupes de mineurs sont mis en concurrence pour résoudre un problème mathématique aléatoire qui nécessite une importante puissance de calcul (proof of work).

-4- Le pool de mineurs qui parvient à résoudre le problème en premier peut alors ajouter le bloc miné à la chaîne.

-5- La transaction est exécutée/confirmée.

Le hachage et la validation par preuve de travail

Le système de « hachage cryptographique » au coeur du système de preuve de travail consiste à transformer des données transmises de n’importe quelle longueur (input/clés) en une sortie de longueur fixe (output/valeur de contrôle/hash) en utilisant un algorithme/ une formule mathématique déterminée par un protocole. Cette fonction de hachage est à sens unique ne peut pas facilement être inversée et il est donc quasi impossible d’obtenir l’input sur base de l’output. Dans la Blockchain, l’input représente l’état de la chaîne, càd l’ensemble des transactions antérieures et les nouvelles transactions à ajouter. Dans le graphique illustrant la structure des Blockchain (voir ci-dessus), ce sont en fait les hash des transactions qui sont contenues dans les blocs.

Hachage-cryptographique-comprendre-Blockchain-Cofcap

Le hachage des données facilite l’identification de la transaction sur la Blockchain et augmente considérablement la sécurité des données en s’assurant que les données n’ont pas été modifiées.

Les Blockchain utilisent principalement le système de validation par preuve de travail (« Proof of Work »). Ce système permet de dissuader les fraudes en se basant sur une forte puissance de calcul nécessaire afin de résoudre un casse-tête mathématique. Pour créer un nouveau bloc valide, des groupements de mineurs reçoivent le hash du bloc précédent et les transactions à ajouter dans le nouveau bloc. L’objectif est de trouver une valeur inconnue qui sera ajoutée au inputs et permettra de constituer le hash valide.

comprendre-Blockchain-minage-bloc-cofcap

Pour ce faire, les mineurs utilisent une méthode « essai erreur » et exécutent une multitude de hachage en utilisant un « nonce » aléatoire (« Number only used ONCE » : une valeur aléatoire qui peut être utilisée une seule fois).

Le premier groupe de mineurs qui trouve le nonce valide, càd qui respecte les règles fixées par le protocole, a le droit de créer le bloc et est récompensé selon les règles du protocole (pour les Bitcoins cela correspond actuellement à 6.25 BTC par bloc).

Les avantages et opportunités

Confiance et fiabilité

Contrairement aux autres bases de données, la Blockchain est généralement décentralisée et entièrement gérée par ses utilisateurs. La blockchain repose également sur des outils de cryptographie pour protéger l’identité de ses utilisateurs.

Accessibilité

Tout le monde peut utiliser le réseau blockchain, il suffit d’avoir un ordinateur et une connection internet (et télécharger le software utilisé par la blockchain).

Frais de transaction limités

Une des raisons principales pour le succès des crypto-monnaies est qu’elles ont des frais de transferts extrêmement limités.

Les limitations et obstacles

Attaques et fraudes

Pour les blockchain basées sur le protocole de consensus « Proof of Work », un groupe de mineurs contrôlant plus de 50% du computing power pourrait tromper le système à des fins malicieuses. En pratique, pour les blockchains de grandes tailles, ce serait physiquement impossible.

Pollution

Le système de preuve de travail tel que décrit ci-dessus requiert une puissance de calcul et de traitement par ordinateur considérable. Au fur et à mesure que le réseau de la Blockchain se développe, les algorithmes demandent de la puissance de calcul supplémentaire. La consommation d’électricité est donc importante.

Risque de perte d’accès definitive

La vaste majorité des blockchain repose sur des outils de cryptographie. En cas de perte de la clé, l’utilisateur perd donc définitivement l’accès aux données.

Quelques applications

Bitcoin

Le bitcoin, probablement l’application la plus connue, utilise la blockchain pour enregistrer chaque transaction effectuée. Il s’agit d’un réseau décentralisé qui repose sur des milliers d’ordinateurs indépendants répartis dans le monde. Chaque « noeud » contient l’historique de toutes les transactions effectuées depuis la création de la base de données. Lorsqu’une nouvelle transaction est effectuée dans un noeud, tous les autres noeuds du réseau sont utilisés afin de vérifier que la séquence des transactions précédentes est identique afin de valider la nouvelle transaction.

THETA

Cette société utilise la blockchain pour décentraliser la diffusion de vidéos en peer-to-peer. Les utilisateurs peuvent mettre à disposition une partie de leur bande passante à d’autres utilisateurs pour améliorer la qualité de visionnage des contenus disponibles en streaming. En échange, ils reçoivent des Theta Fuel (TFUEL), la crypto-monnaie échangée par les utilisateurs qui ont la possibilité de visionner et de diffuser du contenu sur les réseaux décentralisés.

SMART CONTRACTS OU CONTRATS INTELLIGENTS

Les « contrats intelligents » sont des programmes informatiques utilisés pour simplifier, automatiser et sécuriser l’implémentations de contrats en utilisant un code cryptographique. Ces contrats s’exécutent sans intervention extérieures et seulement si les conditions déterminées dans le code sont remplies. Cette technologie est principalement utilisée sur la plateforme Ethereum qui s’appuie sur la Blockchain et offre de multiples applications telles que l’organisation de votes pour des élections, la gestion des propriétés intellectuelles et les paiements des sinistres par les compagnies d’assurances.

Ressources pour mieux comprendre la Blockchain