Comment fonctionne une blockchain ?
Comment fonctionne une blockchain ?
Accueil
Articles
Comment fonctionne une blockchain ?

Comment fonctionne une blockchain ?

Intermédiaire
Publié(e) Dec 9, 2018Mis à jour Oct 4, 2022
5m

Qu'est-ce que la blockchain ?

En résumé, une blockchain est une liste d'enregistrements de données qui fonctionne comme une base de données décentralisée. Les données sont organisées en blocs, qui sont classés chronologiquement et sécurisés par cryptographie.
Le premier concept de blockchain a été créé au début des années 1990 lorsque l'informaticien Stuart Haber et le physicien W. Scott Stornetta ont utilisé des techniques cryptographiques dans une blockchain afin de protéger des documents numériques contre la falsification des données.
Les travaux de Haber et Stornetta ont certainement inspiré ceux de nombreux autres informaticiens et passionnés de cryptographie, qui ont finalement abouti à la création du bitcoin, premier système de monnaie électronique décentralisé (et la première cryptomonnaie).

Bien que la technologie blockchain soit plus ancienne que les cryptomonnaies, ce n'est qu'après la création du bitcoin en 2008 que son potentiel a commencé à être reconnu. Depuis lors, l'intérêt pour la technologie blockchain s'est progressivement accru et les cryptomonnaies sont désormais reconnues à plus grande échelle.

La technologie blockchain est surtout utilisée pour enregistrer les transactions en cryptomonnaies, mais elle convient à de nombreux autres types de données numériques et peut être appliquée à un large éventail de cas d'utilisation. Le plus ancien, le plus sûr et le plus grand réseau de blockchain est celui du Bitcoin, qui a été conçu grâce à une combinaison équilibrée de cryptographie et de théorie des jeux.


Comment fonctionne une blockchain ?

Dans le contexte des cryptomonnaies, une blockchain consiste en une chaîne de blocs, chacun d'entre eux stockant une liste de transactions précédemment confirmées.Comme le réseau blockchain est entretenu par une myriade d'ordinateurs répartis dans le monde entier, il fonctionne comme une base de données décentralisée. Cela signifie que les participants (ou nœuds) conservent chacun une copie des données de la blockchain et communiquent les uns avec les autres pour s'assurer d'être au même diapason (ou bloc).
Par conséquent, les transactions blockchain ont lieu au sein d'un réseau mondial pair à pair et c'est ce qui fait du bitcoin une monnaie numérique décentralisée, sans frontières et résistante à la censure. En outre, la plupart des systèmes blockchain sont considérés comme sans confiance, car ils ne nécessitent aucune confiance. Il n'y a pas d'autorité unique qui contrôle le bitcoin.
Un élément central de presque toutes les blockchains est le processus de minage, qui repose sur des algorithmes de hachage. Le bitcoin utilise l'algorithme SHA-256 (Secure hash algorithm 256 bits). Il prend une entrée de n'importe quelle longueur et génère une sortie qui aura toujours la même longueur. La sortie produite est appelée « hachage » et, dans ce cas, elle est toujours constituée de 64 caractères (256 bits).

Ainsi, la même entrée entraînera la même sortie, peu importe le nombre de répétitions du processus. Mais si une petite modification est apportée à l'entrée, la sortie changera complètement. En tant que telles, les fonctions de hachage sont déterministes, et dans le monde des cryptomonnaies, la plupart d'entre elles sont conçues comme une fonction de hachage unidirectionnelle.

Être une fonction unidirectionnelle signifie qu'il est presque impossible de calculer l'entrée à partir de la sortie. On ne peut que deviner ce qu'était l'entrée, mais les chances de la deviner correctement sont extrêmement faibles. C'est l'une des raisons pour lesquelles la blockchain Bitcoin est sécurisée.

Maintenant que nous savons ce que fait l'algorithme, montrons comment une blockchain fonctionne avec un exemple simple de transaction.

Imaginez que Alice et Bob ont chacun un solde de bitcoins. Supposons qu'Alice doive 2 bitcoins à Bob.

Pour qu'Alice puisse envoyer à Bob ces 2 bitcoins, elle diffuse un message contenant la transaction qu'elle souhaite effectuer à tous les mineurs du réseau.
Dans cette transaction, Alice donne l'adresse de Bob aux mineurs et la quantité de bitcoins qu'elle souhaite envoyer, ainsi qu'une signature numérique et sa clé publique. La signature est effectuée avec la clé privée d'Alice et les mineurs peuvent valider qu'Alice est bien la propriétaire de ces bitcoins.

Une fois que les mineurs sont sûrs que la transaction est valide, ils peuvent la placer dans un bloc avec de nombreuses autres transactions et tenter de miner le bloc. Pour ce faire, le bloc est soumis à l'algorithme SHA-256. La sortie doit commencer avec un certain nombre de 0 pour être considérée comme valide. La quantité nécessaire de 0 dépend de ce qu'on appelle la « difficulté » qui change en fonction de la puissance de calcul du réseau.

Afin de produire un hachage de sortie avec la quantité souhaitée de 0 au début, les mineurs ajoutent ce que l'on appelle un « nonce » dans le bloc avant de le faire passer dans l'algorithme. Comme une petite modification de l'entrée change complètement la sortie, les mineurs essaient des nonces aléatoires jusqu'à ce qu'ils trouvent un hachage de sortie valide.

Une fois que le bloc est miné, le mineur diffuse ce bloc nouvellement miné à tous les autres mineurs. Ils vérifient ensuite que le bloc est valide afin de pouvoir l'ajouter à leur copie de la blockchain et la transaction est terminée. Mais dans le bloc, les mineurs doivent également inclure le hachage de sortie du bloc précédent afin que tous les blocs soient liés entre eux, d'où le nom de blockchain. Il s'agit d'une partie importante en raison de la manière dont la confiance fonctionne dans le système.

Chaque mineur possède sa propre copie de la blockchain sur son ordinateur et tout le monde fait confiance à la blockchain qui a fait l'objet du plus de travail, ou la blockchain la plus longue. Si un mineur modifie une transaction dans un bloc précédent, le hachage de sortie de ce bloc changera, ce qui impliquera une modification de tous les hachages des blocs suivants. Le mineur devrait refaire tout le travail pour que quiconque accepte sa blockchain comme la bonne. Ainsi, si un mineur voulait tricher, il lui faudrait plus de 50 % de la puissance de calcul du réseau, ce qui est très peu probable. Les attaques réseau comme celle-ci s'appellent donc des attaques 51 %.
Le modèle consistant à faire travailler les ordinateurs afin de produire des blocs est appelé Preuve de travail (PoW) ; il existe également d'autres modèles comme la preuve d'enjeu (PoS) qui ne nécessite pas autant de puissance de calcul et est censé nécessiter moins d'électricité tout en étant capable de s'adapter à un plus grand nombre d'utilisateurs.