La blockchain est devenue l'un des concepts les plus importants de l'univers des cryptomonnaies. Bitcoin, Ethereum et de nombreux autres réseaux d'actifs numériques reposent sur cette technologie. Ses applications vont toutefois bien au-delà des cryptomonnaies : elle peut servir à enregistrer des informations, à prouver la propriété, à effectuer des paiements ou à exécuter automatiquement certaines opérations.
Même si, d'un point de vue technique, la blockchain peut être très complexe, son principe de base peut s'expliquer assez simplement. Au lieu de stocker toutes les informations dans une base de données centrale gérée par une entreprise ou une institution spécifique, les données peuvent être enregistrées dans des blocs successifs et mises à la disposition de nombreux participants au sein d'un même réseau.
Comment ce mécanisme fonctionne-t-il exactement ? Pourquoi les informations, une fois enregistrées, sont-elles difficiles à modifier par la suite ? Et quel est le rapport avec la cryptographie, les nœuds et les mécanismes de consensus ?
Qu’est-ce que la blockchain ?
La blockchain, c'est-à-dire littéralement « chaîne de blocs », est un type de registre numérique servant à enregistrer des informations dans un ordre structuré.
Les données sont regroupées en blocs. Lorsqu'un bloc est créé et validé par le réseau, il est ajouté aux blocs enregistrés précédemment. C'est ainsi qu'au fil du temps, un historique des opérations de plus en plus long se constitue.
On peut la comparer à un registre dont les pages sont ajoutées l'une après l'autre. Chaque nouvelle page est liée à la précédente, ce qui permet de vérifier l'ordre des événements enregistrés.
La différence essentielle réside dans le fait que, dans de nombreuses blockchains, la copie d'un tel registre ne se trouve pas exclusivement sur un seul serveur. Elle peut être stockée sur plusieurs ordinateurs participant au réseau.
La blockchain et les bases de données traditionnelles
Le moyen le plus simple de comprendre les particularités de la blockchain est de la comparer à une base de données traditionnelle.
Dans un système classique, les informations sont généralement gérées par un seul administrateur, qui peut être une banque, une entreprise, une administration ou un opérateur de plateforme. Cet administrateur définit les règles d'accès aux données et peut les modifier.
Dans la blockchain, en revanche, le registre peut être partagé par de nombreux participants indépendants, et l'ajout de nouvelles informations s'effectue conformément aux règles en vigueur sur l'ensemble du réseau. Cela limite la possibilité de modifier unilatéralement l'historique enregistré.
Cela ne signifie toutefois pas que la blockchain soit toujours la meilleure solution. Les bases de données traditionnelles sont souvent plus simples, plus rapides, moins coûteuses à entretenir et plus faciles à gérer. La blockchain s'avère particulièrement utile lorsque plusieurs parties indépendantes ont besoin d'un registre commun et ne souhaitent pas confier le contrôle total de celui-ci à une seule entité.
Comment une nouvelle entrée est-elle créée dans la blockchain ?
Le processus exact dépend du réseau concerné, mais le principe général est similaire.
Imaginons un utilisateur qui souhaite envoyer des cryptomonnaies vers une autre adresse.
Il prépare d'abord l'opération et la confirme à l'aide de son portefeuille. L'information est ensuite transmise au réseau.
Les différentes étapes peuvent se dérouler comme suit :
- L'utilisateur lance l'opération
- L'information est transmise au réseau blockchain
- Les participants au réseau vérifient sa conformité avec les règles en vigueur
- Les opérations valides sont regroupées
- Un nouveau bloc de données est créé
- Le bloc est relié à l'historique existant
- L'état actuel du registre est mis à la disposition des participants au réseau
Ainsi, il n'est pas nécessaire de dépendre exclusivement d'une base de données centrale qui indique à tous les autres utilisateurs l'état actuel du système.
Que contient un bloc ?
Un bloc peut être défini comme un ensemble ordonné de données enregistrées conformément aux règles d'une blockchain donnée.
Dans un réseau de cryptomonnaies, il peut contenir, entre autres, des informations sur les transactions effectuées ainsi que les données techniques nécessaires au fonctionnement du système.
Les différentes blockchains peuvent présenter des différences considérables quant à la manière dont les blocs sont créés, à leur taille ou au type d'informations qu'elles contiennent.
Mais le plus important est leur interconnexion.
Lien entre les blocs successifs
Le nouveau bloc contient une information permettant de faire référence au bloc précédent. Ainsi, les éléments du registre s'organisent en une chaîne chronologique.
Si quelqu'un tentait de modifier les données contenues dans l'un des anciens blocs, cela modifierait également son lien avec la suite de la chaîne.
C'est précisément pour cette raison qu'il est très difficile d'altérer les anciennes entrées d'une blockchain bien sécurisée et étendue.
Qu'est-ce qu'un hash ?
L'un des éléments les plus importants de la technologie blockchain est le hash, c'est-à-dire une empreinte cryptographique.
Il s'agit d'une suite de caractères générée à partir de données spécifiques. On peut la considérer comme l'« empreinte digitale » numérique de ces informations.
Si ne serait-ce qu'une infime partie des données est modifiée, un hash différent est généré. Cela permet de détecter toute tentative de modification du contenu enregistré.
Un hash n'est toutefois pas la même chose qu'un chiffrement.
Le chiffrement sert avant tout à dissimuler des informations aux personnes qui ne disposent pas de la clé appropriée. Une empreinte cryptographique sert, quant à elle, à vérifier l'intégrité des données.
Pourquoi les nœuds sont-ils importants pour la blockchain ?
La blockchain ne pourrait pas fonctionner sans des appareils communiquant entre eux au sein d'un même réseau. On les appelle des nœuds, ou « nodes ».
Les nœuds peuvent :
- communiquer des informations sur les nouvelles opérations
- vérifier leur validité
- stocker les données relatives à la blockchain
- partager des informations avec les autres participants
Tous les nœuds ne doivent pas nécessairement remplir exactement la même fonction. Certains conservent l'historique complet de la blockchain, tandis que d'autres n'utilisent qu'une partie des données.
La répartition des informations entre plusieurs appareils peut renforcer la résilience du système face aux pannes. Un problème sur un seul ordinateur ne signifie pas nécessairement la perte de l'historique complet, si des copies de celui-ci se trouvent également chez les autres participants.
En quoi consiste la décentralisation ?
Dans un système traditionnel, il y a généralement un seul administrateur ou une seule entité responsable de la base de données.
Une blockchain décentralisée limite l'importance d'un tel point de contrôle unique. Des copies du registre peuvent être conservées par de nombreux participants indépendants, et les règles régissant sa mise à jour découlent du fonctionnement de l'ensemble du réseau.
La décentralisation peut contribuer à accroître :
- résistance aux pannes
- possibilité de vérifier les données de manière indépendante
- résistance à la manipulation unilatérale
- indépendance vis-à-vis d'un seul opérateur
Il ne faut toutefois pas supposer que toutes les blockchains sont décentralisées au même degré.
Le niveau de décentralisation dépend, entre autres, du nombre de participants au réseau, du mode de validation des opérations et de la répartition du contrôle sur le système.
Comment la blockchain détermine-t-elle quelles données sont correctes ?
Si le réseau compte de nombreux participants indépendants, il faut trouver un moyen de déterminer quelle version de l'information doit être considérée comme correcte.
C'est à cela que sert le mécanisme de consensus.
On peut le décrire comme un ensemble de règles permettant aux participants de parvenir à un accord sur l'état actuel de la blockchain.
Parmi les solutions les plus connues, on peut citer :
Proof of Work
Mécanisme reposant sur les calculs effectués par les mineurs. Il est notamment utilisé par le réseau Bitcoin.
Proof of Stake
Modèle dans lequel la possibilité de participer au processus de validation des opérations est subordonnée à la détention et au blocage des actifs correspondants.
Mécanismes des réseaux privés
Dans les blockchains fermées, la possibilité de valider des données ne peut être accordée qu'à certains participants, préalablement approuvés.
Les mécanismes de consensus diffèrent en termes de rapidité d'exécution, de coûts, de consommation d'énergie et de niveau de décentralisation.
Pourquoi la blockchain est-elle à la base des cryptomonnaies ?
Dans le cas des cryptomonnaies, la blockchain fait office de registre permettant de déterminer l'état des actifs numériques ainsi que l'historique des opérations effectuées.
Le réseau peut ainsi vérifier, entre autres, si l'utilisateur dispose des fonds qu'il souhaite utiliser et s'il ne tente pas d'utiliser ces mêmes actifs plus d'une fois.
Il convient de garder à l'esprit que la cryptomonnaie ne se trouve pas dans le portefeuille de la même manière qu'une photo ou un document se trouve dans la mémoire d'un téléphone.
La blockchain contient des informations permettant de déterminer quels actifs sont associés à chaque adresse.
L'accès à ces données est contrôlé par des clés cryptographiques.
L'adresse publique peut servir à recevoir des fonds.
La clé privée permet de valider les opérations et ne doit être connue que de son propriétaire.
Blockchain publique, privée et de consortium
Tous les réseaux ne fonctionnent pas selon les mêmes principes. L'une des différences les plus importantes réside dans le mode d'accès au système.
Blockchain publique
Un réseau public est accessible à un large public. Selon sa conception, il est possible de consulter l'historique des opérations, d'utiliser des applications ou de mettre en place son propre nœud.
Bitcoin et Ethereum sont des exemples de blockchains publiques.
Leurs principales caractéristiques sont la transparence et la limitation du contrôle exercé par une seule entité.
Blockchain privée
Sur un réseau privé, l'accès peut être contrôlé par une entreprise ou une organisation donnée.
Tous les utilisateurs ne doivent pas nécessairement avoir la possibilité de consulter toutes les données ou d'approuver de nouvelles opérations.
Cette solution peut être utilisée lorsque l'on a besoin d'un registre partagé, mais qu'il est en même temps nécessaire de garder le contrôle sur les droits d'accès.
Blockchain de consortium
Une solution intermédiaire consiste en une blockchain gérée conjointement par plusieurs entités.
Au lieu de confier le contrôle total à une seule organisation, les entreprises ou institutions participantes peuvent assumer conjointement la responsabilité du fonctionnement du système.
Pourquoi est-il difficile de modifier les données déjà enregistrées ?
La blockchain est souvent présentée comme une technologie garantissant l'inaltérabilité des données. Dans la pratique, il est plus juste de parler d'une très forte résistance aux modifications ultérieures.
Plusieurs éléments entrent en ligne de compte :
- liens cryptographiques entre les blocs
- le stockage d'informations sur plusieurs appareils
- mécanismes de consensus
- vérification des nouvelles opérations
- signatures numériques
Dans les réseaux publics et suffisamment décentralisés, il devient de plus en plus difficile de manipuler l'historique antérieur à mesure que de nouveaux blocs sont ajoutés.
Cela ne signifie toutefois pas une immuabilité absolue dans toutes les situations possibles. La blockchain peut faire l'objet de mises à jour de protocole, de réorganisations ou de scissions du réseau.
La blockchain est-elle totalement sécurisée ?
Le mode de stockage et d'association des données peut en soi garantir un niveau élevé de protection, mais la blockchain n'élimine pas toutes les menaces.
Des problèmes peuvent notamment survenir dans les domaines suivants :
- applications utilisant la blockchain
- portefeuilles de cryptomonnaies
- les smart contracts
- la manière de conserver les clés privées
La sécurité dépend également de la conception du réseau concerné et du nombre d'acteurs indépendants chargés de son fonctionnement.
C'est pourquoi le simple fait qu'une application ou un service repose sur la blockchain ne signifie pas qu'il soit totalement à l'abri des erreurs.
Que sont les smart contracts ?
Un smart contract, ou contrat intelligent, est un programme fonctionnant sur une blockchain.
Il peut exécuter automatiquement certaines instructions lorsque les conditions préalablement définies sont remplies.
Un smart contract peut par exemple :
- transférer des actifs numériques
- échanger des tokens
- répartir les fonds entre plusieurs adresses
- gérer certains aspects d'un prêt
- enregistrer le résultat du vote
- gérer des actifs numériques
Le terme peut prêter à confusion, car un smart contract n'est pas nécessairement un contrat au sens juridique. En pratique, il s'agit avant tout d'un programme informatique qui fonctionne selon des règles prédéfinies.
L'automatisation est l'un de ses principaux atouts, mais une erreur dans le code peut avoir de graves conséquences. C'est pourquoi les solutions plus complexes nécessitent des tests approfondis.
À quoi la blockchain sert-elle en dehors des cryptomonnaies ?
Bitcoin a largement contribué à faire connaître la blockchain, mais les monnaies numériques ne sont pas sa seule application possible.
Chaînes d'approvisionnement
Un registre commun peut servir à consigner les différentes étapes de la production et du transport. Cela facilite la vérification ultérieure de l'historique et de la traçabilité du produit.
Preuve de propriété
La blockchain permet d'enregistrer des informations relatives aux droits sur des actifs numériques ou physiques.
Documents et certificats
Une empreinte cryptographique du document peut être enregistrée sur le réseau afin de permettre ensuite d'en vérifier l'authenticité sans devoir publier l'intégralité de son contenu.
La finance décentralisée
Les applications DeFi utilisent des smart contracts pour effectuer des opérations telles que l'échange d'actifs numériques, l'octroi de prêts ou le calcul des intérêts.
Vote et gouvernance
La blockchain peut être utilisée pour enregistrer les votes ainsi que les résultats des décisions prises par les membres de certaines organisations.
Transfert d'actifs numériques
Certains réseaux permettent de transférer des actifs entre des utilisateurs situés dans différentes parties du monde. Le coût et la durée de l'opération dépendent toutefois de la blockchain concernée.
L'utilisation de la blockchain est-elle anonyme ?
Une blockchain publique ne signifie pas nécessairement l'anonymat.
Sur de nombreux réseaux, tout le monde peut consulter l'historique des transactions associées à une adresse donnée. L'adresse elle-même ne contient généralement pas directement le nom et le prénom du propriétaire, mais dans certaines situations, il est possible de la relier à une personne spécifique à l'aide d'informations supplémentaires.
C'est pourquoi, dans le cas de nombreuses blockchains publiques, le terme le plus précis est le pseudonymat, et non l'anonymat total.
Les principaux avantages de la blockchain
Selon la manière dont le réseau est conçu, la technologie blockchain peut notamment offrir :
- réduire la dépendance vis-à-vis de l'administrateur central
- possibilité de vérifier l'historique des opérations
- transparence des données dans les réseaux publics
- résistance à la défaillance d'un seul serveur
- l'automatisation des processus grâce aux smart contracts
- partage du registre entre des participants indépendants
- possibilité d'accéder au réseau depuis n'importe où dans le monde
Ces avantages ne sont toutefois pas présents au même degré dans toutes les blockchains.
La blockchain est-elle toujours la meilleure solution ?
Non.
Si le système est géré par une seule organisation de confiance qui a simplement besoin d'une base de données performante et facile à gérer, l'utilisation de la blockchain pourrait ne pas présenter d'avantages significatifs.
La technologie de la blockchain est particulièrement intéressante lorsque les participants ont besoin d'une source de données commune, souhaitent pouvoir vérifier de manière indépendante l'historique des opérations et ne veulent pas pour autant confier le contrôle total du registre à un seul administrateur.
C'est pourquoi, avant de mettre en œuvre la blockchain, il convient de se demander quel problème elle est censée résoudre.
Résumé
La blockchain est une technologie permettant de créer un registre partagé d'informations composé de blocs interconnectés. Son fonctionnement repose notamment sur la cryptographie, un réseau de nœuds et des mécanismes de consensus permettant aux participants de déterminer l'état correct des données.
La blockchain est à la base du fonctionnement de nombreuses cryptomonnaies, mais ses applications peuvent aussi inclure les smart contracts, les systèmes de paiement, la propriété numérique, les documents, les chaînes d'approvisionnement ou encore les applications financières décentralisées.
La plus grande valeur de la blockchain ne réside pas dans le simple stockage des données. Ce qui est essentiel, c'est la possibilité de créer un registre dont l'historique peut être vérifié de manière indépendante par de nombreux participants et qui ne peut pas être facilement modifié par la décision d'un seul administrateur.
Pour autant, la blockchain n'est pas une solution idéale pour tous les systèmes. Elle n'élimine pas tous les risques, ne garantit pas un anonymat total et ne sera pas toujours plus performante qu'une base de données traditionnelle. Son utilisation prend tout son sens là où la décentralisation du contrôle, la transparence et la possibilité de vérifier l'historique revêtent une réelle importance.
Foire aux questions
La blockchain est un registre numérique dans lequel les informations sont enregistrées dans des blocs successifs reliés entre eux pour former une chaîne ordonnée. Dans de nombreux réseaux, des copies de ce registre sont conservées par plusieurs participants indépendants.
L'utilisateur initie une opération qui est transmise au réseau. Sa validité est ensuite vérifiée conformément aux règles de la blockchain concernée. Les opérations validées peuvent être intégrées dans un nouveau bloc, qui est ensuite ajouté à l'historique existant.
Les blocs successifs sont reliés entre eux par des mécanismes cryptographiques. Toute modification des informations contenues dans un bloc antérieur aurait une incidence sur son lien avec le reste de la chaîne. Dans les réseaux étendus et décentralisés, les mécanismes de consensus et les multiples copies du registre offrent une protection supplémentaire.
Une base de données traditionnelle est généralement gérée par un seul administrateur. Dans la blockchain, le registre peut être partagé par plusieurs participants, et la possibilité d'ajouter et de valider des informations dépend des règles en vigueur sur le réseau concerné.
Les cryptomonnaies utilisent la blockchain pour enregistrer les informations relatives aux transactions et à l'état des actifs numériques. Cela permet au réseau de vérifier si l'utilisateur dispose des fonds nécessaires et si une opération donnée est conforme à ses règles.
Non. Il existe des blockchains publiques, privées et de consortium. Le niveau de décentralisation dépend notamment du nombre de participants, du mode de validation des opérations et de la répartition du contrôle au sein du réseau.
Pas toujours. Dans de nombreuses blockchains publiques, l'historique des opérations associées à une adresse donnée est accessible à tous. L'adresse elle-même ne contient pas nécessairement de données à caractère personnel ; c'est pourquoi, dans le cas de ces réseaux, on parle plus souvent de pseudonymat que d'anonymat total.
La blockchain peut notamment être utilisée pour les smart contracts, le suivi des chaînes d'approvisionnement, la preuve de propriété, la vérification de documents et de certificats, la finance décentralisée et l'enregistrement des votes.
