LA BLOCKCHAIN – INTRODUCTION

LA BLOCKCHAIN – INTRODUCTION

  • Post author:
  • Post category:Tech (PnP)

Par Etienne Almodovar

Qu’est-ce que la blockchain ? 

Une blockchain désigne un protocole réseau décentralisé en pair-à-pair (ou peer-to-peer en anglais, c’est-à-dire, un modèle d’échange où chaque entité du réseau est à la fois client et serveur) qui peut être vu comme un grand livre où des informations sont ajoutées et stockées de manière immuable et sécurisée. Bitcoin et Ethereum sont les deux blockchains publiques les plus importantes. La technologie peut être également utilisée pour supporter des réseaux privés. Reprenons-en les grands principes ! 

Un réseau peer-to-peer décentralisé 

La blockchain est un réseau constitué de « clients » (aussi appelés « nœuds »). Il n’y a aucun serveur pour structurer ce réseau, qui est donc décentralisé. Cela apporte une fiabilité certaine dans le cadre d’un réseau public car il est impossible de déconnecter l’ensemble des nœuds simultanément : le réseau restera ainsi toujours en ligne. L’autre avantage de ce type de réseau est que chaque ajout d’information doit être approuvé par une majorité de nœuds ce qui crée un format de consensus où personne ne peut être seul décideur (au-delà du fait qu’il soit quasi impossible qu’un acteur détienne plus de 50% d’un réseau public, des mécanismes existent pour éviter une manipulation unilatérale de la chaîne). 

Transactions et utilisateurs

Les transactions sont les données ajoutées et stockées dans le « grand livre » et chaque nœud en détient une copie. Une transaction a un émetteur, un contenu et un destinataire. Le contenu peut être un envoi de crypto-monnaie comme un simple texte (droits de propriétés, brevets etc) voire un programme (nous y reviendrons en parlant de Ethereum). Chaque transaction est datée quand envoyée sur la blockchain. Elle est vérifiée à l’aide d’un protocole de cryptage par des nœuds particuliers appelés « mineurs ». Si la transaction est correcte, elle devient alors inchangeable. En effet, la technologie blockchain ne permet pas de modifier ou de supprimer une transaction précédemment ajoutée. 

Comment est-ce que les utilisateurs sont-ils identifiés ? Il n’y a pas d’enregistrement sur la blockchain mais une génération de deux clés : une clé privée et une clé publique. Elles prennent la forme de nombres hexadécimaux qui sont suffisamment grands pour que personne ne puisse les générer à l’identique de manière aléatoire. Ces deux clés assurent ainsi que personne ne puisse se faire passer pour un autre utilisateur et envoie des transactions à sa place. 

La clé privée sert à crypter la transaction à l’aide d’une fonction mathématique qui résulte en un autre nombre appelé signature. Elle ne doit pas être partagée puisque ça permettrait à quiconque de passer des transactions à la place de l’utilisateur. Elle peut être stockée sous format papier, numérique, ou sous format de clé physique. 

La clé publique sert d’identifiant, elle peut être communiquée et vue par les autres utilisateurs, notamment pour pouvoir vous envoyer des transactions. C’est une représentation de votre clé privée qui contient suffisamment d’information pour vérifier votre signature (il est mathématiquement impossible de remonter à la clé privée de l’utilisateur). Pour simplifier sa communication, une image simplifiée de cette clé publique appelée adresse peut être générée. 

Dans le cadre d’une transaction monétaire où un utilisateur envoie des fonds, le mineur va pouvoir vérifier l’historique des transactions incluant l’utilisateur afin de vérifier la présence des fonds nécessaires (il n’y a pas de balance mais une vérification des UTXO – Unspent Transaction Output, c’est-à-dire, la sortie d’une transaction blockchain qui n’est utilisée comme entrée dans une nouvelle transaction). Si vous n’avez pas assez de fonds, la transaction ne sera pas validée. Il est ainsi impossible de falsifier le montant des fonds que vous détenez.

Les blocs : protocole de cryptage

La méthode de validation et de sécurisation des transactions se base sur la création de blocs. Le protocole cryptographique peut varier selon les blockchains. Le principe général est que, pour que les transactions et le bloc de ces transactions soient valides, une équation mathématique très complexe utilisant de nombreuses informations doit être résolue. Pour résoudre cette équation, les mineurs utilisent la puissance de calcul des CPU (Central Processing Unit) et des GPU (Graphics Processing Unit ; le processeur de la carte graphique, majoritairement utilisé aujourd’hui). Dans le cadre de bitcoin, le nombre de bloc total possible est limité. Plus on tend vers la limite du nombre de bloc, plus le niveau de difficulté (une variable du processus de cryptage) augmente et plus la résolution est complexe et demande du temps / de la puissance de calcul.  

Lorsqu’un mineur vérifie des transactions, il les agglomère en un seul bloc. Un des avantages de cette méthode est d’éviter le « double sending ». En général, le mineur vérifiant le prochain bloc de la chaîne est assigné aléatoirement. Si vous envoyez l’ensemble de vos fonds à deux destinataires en même temps, le même mineur recevra vos deux transactions et ignorera l’une d’entre elle après avoir vérifié que vous ne pouviez pas envoyer deux fois les mêmes fonds. Cela évite qu’une partie du réseau pense que vous avez envoyé les fonds à X et l’autre partie du réseau à Y. 

En bref :

Un réseau utilise la blockchain pour apporter fiabilité, immuabilité et sécurité à ses données. Ces atouts sont considérables par rapport aux protocoles réseaux standards. On peut comprendre l’intérêt de la blockchain pour les échanges qui touchent à l’argent, à la propriété et aux problématiques de gestion des données de manière générale.