Qu’est-ce que la blockchain ?

En bref, la blockchain équivaut à un registre numérique décentralisé qui enregistre une série de données. Ces données sont organisées en blocs, protégés par cryptographie, et classés par ordre chronologique.​

Les premiers modèles de blockchain ont été construits au début des années 1990. À l'époque, l'informaticien Stuart Haber et le physicien W. Scott Stornetta utilisaient la technologie de cryptage pour protéger les données contre la falsification.​

Cette réussite de Haber et Stornetta a inspiré de nombreux informaticiens et passionnés de cryptographie à étudier la blockchain, ce qui a également favorisé la naissance du Bitcoin, le premier système de monnaie électronique décentralisé au monde (la première crypto-monnaie).

Bien que la technologie blockchain ait précédé les cryptomonnaies, ce n’est qu’en 2008, année de la naissance du Bitcoin, que la première s’est progressivement imposée. Depuis lors, l’intérêt du public pour la technologie blockchain s’est accru et les crypto-monnaies ont commencé à gagner en popularité.

La technologie Blockchain est principalement utilisée pour enregistrer les transactions en cryptomonnaies, mais elle peut également enregistrer diverses données numériques et peut également être appliquée à d’autres domaines. Le réseau blockchain le plus ancien, le plus sécurisé et le plus vaste est Bitcoin, qui a été soigneusement conçu pour mélanger de manière équilibrée la cryptographie et la théorie des jeux.


Comment fonctionne la blockchain ?

Dans le monde des cryptomonnaies, nous pouvons considérer une blockchain comme une chaîne de blocs stables, dont chacun stocke une séquence de données de transaction préalablement confirmées. Le réseau blockchain est entretenu conjointement par d’innombrables ordinateurs, sa fonction principale est donc d’agir comme une base de données (ou grand livre) décentralisée. En d’autres termes, tous les participants (c’est-à-dire les nœuds) de la blockchain conservent une copie des données de la blockchain et maintiennent une bonne communication entre eux pour garantir que tout le monde est toujours sur la même page (ou bloc).

En conséquence, les transactions blockchain se produisent dans un réseau mondial peer-to-peer, faisant la promotion du Bitcoin comme une crypto-monnaie décentralisée, sans frontières et résistante à la censure. Cependant, la plupart des blockchains ne nécessitent aucun mécanisme de confiance et sont considérées comme des systèmes sans confiance. Bitcoin n’a pas non plus de régulateur indépendant.

Presque toutes les blockchains reposent sur le minage, qui est indissociable des algorithmes de hachage. Bitcoin utilise l'algorithme SHA-256 (Secure Hash Algorithm 256 bits), qui permet de saisir une chaîne de n'importe quelle longueur pour produire une sortie de même longueur. Le résultat de sortie peut être appelé une « valeur de hachage », qui comporte toujours 64 caractères (256 bits).

Par conséquent, quel que soit le nombre de fois où le « minage » est répété, la même entrée produit toujours la même sortie. Cependant, si l’entrée change légèrement, la sortie sera complètement différente. Par conséquent, la fonction de hachage est déterministe, alors que la plupart des crypto-monnaies sont conçues avec une fonction de hachage unidirectionnelle.

Ce type de fonction détermine que l'utilisateur ne peut pas déduire l'entrée en fonction des résultats de sortie. Le seul moyen est de deviner, mais la probabilité de deviner est très mince. C’est l’une des raisons pour lesquelles la blockchain Bitcoin est sûre et fiable.

Maintenant que nous comprenons la fonctionnalité de l’algorithme, illustrons le fonctionnement de la blockchain à travers un exemple de transaction simple.

Supposons qu'Alice et Bob soient deux détenteurs de Bitcoin et qu'Alice doive deux Bitcoins à Bob.

Afin de rembourser Bob avec deux Bitcoins, Alice diffuse ces informations de transaction aux mineurs de l'ensemble du réseau.

Dans cette transaction, Alice informe les mineurs de l'adresse de Bob et du nombre de Bitcoins échangés, et attache une signature numérique à sa clé publique. Cette signature est générée par la clé privée d'Alice et permet aux mineurs de vérifier qu'Alice est la véritable propriétaire de ces Bitcoins.

Après avoir confirmé que la transaction est authentique et valide, le mineur peut mettre ces informations de transaction dans un bloc avec d'autres informations de transaction et essayer de « miner » ce bloc. Ce bloc est exploité via l'algorithme SHA-256, et le résultat de l'opération doit commencer par un certain nombre de « 0 » avant de pouvoir être jugé valide. Le nombre « 0 » dépend de la « difficulté » de l'opération, qui changera avec l'évolution de la puissance de calcul de l'ensemble du réseau.

Afin d'afficher correctement le nombre attendu de hachages « 0 », les mineurs ajoutent un « nonce » au bloc avant d'exécuter l'algorithme de chiffrement. De légers changements dans cette valeur modifieront complètement le résultat de l'opération, et les mineurs doivent essayer différents noms occasionnels aléatoires jusqu'à ce qu'ils obtiennent la valeur de hachage correcte.

Chaque fois qu'un bloc est extrait, les mineurs diffusent les nouvelles informations sur le bloc à l'ensemble du réseau afin que les autres mineurs puissent confirmer la validité du bloc. Ensuite, ils ajouteront les informations de bloc valides à leur propre blockchain, indiquant que la transaction est terminée. Cependant, les mineurs doivent encore ajouter la valeur de hachage du bloc précédent au nouveau bloc, et éventuellement connecter tous les blocs pour former une véritable « blockchain ». Ceci est très important et reflète le rôle de la confiance dans le système.

Chaque mineur stocke sa propre copie de la blockchain sur un ordinateur personnel et parvient à un consensus : la blockchain ayant la plus grande puissance de calcul doit être la plus longue. Si quelqu'un souhaite modifier les informations de transaction dans le bloc précédent, la valeur de hachage de ce bloc changera également, entraînant la modification des valeurs de hachage de tous les blocs après ce bloc. Il doit refaire tous les calculs précédents pour convaincre les autres que ses informations de bloc sont correctes. Par conséquent, si un mineur tente de falsifier les informations d’un bloc, il doit investir plus de 50 % de la puissance de calcul de l’ensemble du réseau, ce qui relève presque du fantasme. Des attaques réseau similaires sont donc appelées attaques à 51 %.

Ce modèle qui nécessite des opérations informatiques pour générer de nouveaux blocs est appelé Proof of Work (PoW). Il existe également d'autres mécanismes, tels que le Proof of Stake (PoS), qui ne nécessitent pas une énorme puissance de calcul, consomment moins d'énergie et incitent davantage d'utilisateurs à participer.