Qu’est-ce que la blockchain ?

En bref, une blockchain est une liste d’enregistrements de données qui fonctionne comme un registre numérique décentralisé. Les données sont organisées en blocs classés chronologiquement et sécurisés par cryptographie.

Le premier modèle 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 chaîne de blocs afin de protéger les 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 conduit à la création du Bitcoin en tant que premier système de monnaie électronique décentralisé (ou simplement première crypto-monnaie).

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 crypto-monnaies sont désormais reconnues à plus grande échelle.

La technologie blockchain est principalement 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 réseau blockchain le plus ancien, le plus sûr et le plus vaste est Bitcoin, qui a été conçu avec une combinaison minutieuse et équilibrée de cryptographie et de théorie des jeux.


Comment fonctionne la blockchain ?

Dans le contexte des cryptomonnaies, une blockchain est constituée d’une chaîne stable de blocs, chacun stockant une liste de transactions préalablement confirmées. Étant donné que le réseau blockchain est entretenu par une myriade d’ordinateurs répartis dans le monde, il fonctionne comme une base de données (ou grand livre) décentralisée. Cela signifie que chaque participant (nœud) conserve une copie des données de la blockchain et communique entre eux pour s'assurer qu'ils se trouvent tous sur la même page (ou bloc).

Par conséquent, les transactions blockchain se produisent au sein d’un réseau mondial peer-to-peer et c’est ce qui fait du Bitcoin une monnaie numérique décentralisée, sans frontières et résistante à la censure. De plus, la plupart des systèmes blockchain sont considérés comme sans confiance car ils ne nécessitent aucune sorte de confiance. Il n’existe pas d’autorité unique contrôlant Bitcoin.

Un élément central de presque toutes les blockchains est le processus de minage, qui repose sur des algorithmes de hachage. Bitcoin utilise l'algorithme SHA-256 (algorithme de hachage sécurisé 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, est toujours composée de 64 caractères (256 bits).

Ainsi, la même entrée donnera le même résultat, quel que soit le nombre de fois que le processus est répété. 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 des fonctions de hachage à sens unique.

Étant une fonction à sens unique, cela signifie qu'il est presque impossible de calculer quelle a été l'entrée et la sortie. On ne peut que deviner quelle a été l’entrée, mais les chances de la deviner correctement sont extrêmement faibles. C'est l'une des raisons pour lesquelles la blockchain de Bitcoin est sécurisée.

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

Imagine that we have Alice and Bob along with their Bitcoin balance. Let's say Alice owes Bob 2 Bitcoins.

For Alice to send Bob that 2 bitcoin, Alice broadcasts a message with the transaction that she wants to make to all the miners in the network.

Dans cette transaction, Alice donne aux mineurs l'adresse de Bob et le montant de Bitcoins qu'elle souhaite envoyer, ainsi qu'une signature numérique et sa clé publique. La signature est faite avec la clé privée d'Alice, et les mineurs peuvent valider qu'Alice est bien la propriétaire de ces pièces.

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 d'exploiter le bloc. Cela se fait en soumettant le bloc à l'algorithme SHA-256. La sortie doit commencer par un certain nombre de 0 pour être considérée comme valide. Le nombre de 0 nécessaires dépend de ce qu'on appelle la « difficulté », qui change en fonction de la puissance de calcul disponible sur le réseau.

Afin de produire un hachage de sortie avec le nombre souhaité de 0 au début, les mineurs ajoutent ce qu'on appelle un « nonce » dans le bloc avant de l'exécuter dans l'algorithme. Puisqu'un petit changement dans l'entrée change complètement la sortie, les mineurs essaient des noms occasionnels aléatoires jusqu'à ce qu'ils trouvent un hachage de sortie valide.

Une fois le bloc extrait, le mineur diffuse ce bloc nouvellement extrait à tous les autres mineurs. Ils vérifient ensuite que le bloc est valide afin de pouvoir l'ajouter à leur copie de la blockchain et que la transaction soit 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 ensemble, d'où le nom de blockchain. Il s’agit d’un élément important en raison de la manière dont la confiance fonctionne dans le système.

Chaque mineur a sa propre copie de la blockchain sur son ordinateur, et tout le monde fait confiance à la blockchain qui contient le plus de travail informatique, 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 entraînera également la modification de tous les hachages après celui-ci, car les blocs sont appréciés avec des hachages. Le mineur devrait refaire tout le travail pour que quiconque accepte sa blockchain comme étant la bonne. Ainsi, si un mineur voulait tricher, il aurait besoin de plus de 50 % de la puissance de calcul du réseau, ce qui est très peu probable. De telles attaques réseau sont appelées attaques à 51 %.

Le modèle permettant de faire fonctionner les ordinateurs afin de produire des blocs est appelé Proof-of-Work (PoW). Il existe également d'autres modèles comme Proof-of-Stake (PoS) qui ne nécessitent pas autant de puissance de calcul et sont censés nécessiter moins d'électricité. tout en étant capable de s'adapter à davantage d'utilisateurs.