Principes fondateurs de la blockchain
La technologie dite blockchain incarne le concept d’ « Internet de la Valeur » susceptible d’accélérer encore la dynamique de désintermédiation à l’œuvre dans de nombreux secteurs d’activité.
« Blockchain » est un terme anglo-saxon qui signifie littéralement « chaîne de blocs ». Ces blocs sont des agrégats d’écritures encryptées qui, ensemble, forment un registre, une sorte de grand livre des transactions. La nouveauté réside dans le fait que les transactions ne sont plus archivées dans une base de données centralisée et unique, mais de façon décentralisée, sur tous les ordinateurs des membres du réseau. Ce grand livre est consultable et mis à jour simultanément par et pour tous les membres. Ce protocole constitue une profonde remise en question du fonctionnement actuel des modalités de sécurisation informatique. La technologie blockchain permet de réaliser une transaction sécurisée de pair à pair, c’est-à-dire que tous les échanges cryptés sont vérifiés automatiquement par l’ensemble des personnes ayant un droit d’accès au réseau et non plus par un seul de ses membres.
1. Les origines de la blockchain
La blockchain se serait construite en opposition à un système organisé autour d’un tiers de confiance unique, c’est-à-dire un organisme qui centralise les transactions effectuées et en garantit l’authenticité. Les conditions d’invention de la blockchain restent floues puisque le concept a été décrit en 2008 par Satoshi Nakamoto, une personne ou un groupe dont l’identité n’a pas encore été prouvée à ce jour. La technologie blockchain a été mise en application pour la première fois en 2009 avec la célèbre monnaie digitale Bitcoin, qui prétend proposer une alternative autonome au système bancaire, alors mis à mal par la crise financière. À l’inverse du système bancaire traditionnel, dans lequel seule la banque dispose de toutes les informations, le modèle blockchain est décentralisé : il n’existe plus d’autorité centrale et tous les membres du réseau ont accès à l’information.
A l’ère de l’internet, la blockchain réinvente donc le fonctionnement classique des transactions en l’adaptant aux besoins spécifiques de l’écosystème digital. À l’instar de tout phénomène technologique a priori porteur d’un fort potentiel de transformation, il convient de bien appréhender les grands principes qui le régissent, mais aussi d’en identifier les terrains d’application potentiels.
2. Les trois grands principes qui régissent la blockchain
D’un point de vue macro-fonctionnel, une blockchain semble similaire aux systèmes transactionnels existants. L’accord d’une transaction commerciale entre deux parties aboutit à un échange sécurisé et validé. Cependant, la façon dont la blockchain permet les transactions de pair à pair est profondément différente de ce que propose le système actuel qui est basé sur la validation par un tiers de confiance, comme par exemple les institutions bancaires, les notaires, les fournisseurs d’énergie, etc.
Les 3 grands principes inhérents à cette technologie blockchain sont les suivants :
Le consensus distribué : la transaction est réputée réalisée lorsqu’elle est intégrée à un « bloc ». Elle n’y est intégrée que si l’ensemble des informations relatives à la transaction ont été vérifiées et déclarées conformes par des acteurs du réseau que l’on appelle « mineurs ». Situés à des nœuds du réseau, les mineurs utilisent une importante puissance de calcul. Leur rôle est de décrypter les données d’un ensemble de transactions pour les regrouper en un bloc de transactions grâce à la fonction « hash ». Le « hash » est un procédé cryptographique qui permet de réduire l’ensemble des données contenues dans le bloc à une suite limitée de chiffres et de lettres. La transaction est intégrée au bloc, qui en regroupe plusieurs, lui-même soumis à chaque mineur pour validation. La transaction est déclarée validée lorsque tous les mineurs ont validé le bloc.
- Les enregistrements synchronisés et décentralisés : la blockchain peut être représentée par un grand livre de compte dans lequel sont listées toutes les transactions des membres d’un réseau, chaque page représentant un bloc. Ce grand livre est hébergé par les membres du réseau sur leur espace de stockage local. Les informations constituant les transactions sont sécurisées par des procédés cryptographiques pour prévenir des modifications a posteriori. Une modification de l’historique de transactions entraînerait une désynchronisation du bloc par rapport aux autres, dévoilant ainsi sa falsification. L’architecture décentralisée ainsi que le procédé cryptographique assure l’intangibilité des informations enregistrées au sein de la blockchain.
- Le contrat intelligent : les Smart contracts désignent des transactions complexes qui répondent à des règles précises. Si les conditions sont réunies, un Smart contract automatise la réalisation d’une transaction. Les conditions d’activation du contrat sont figées dans la blockchain. Un Smart contract est donc une transaction qui peut s’exécuter automatiquement de manière autonome.
Pour résumer, une blockchain permet de garantir la sécurité et l’application d’un contrat de pair à pair entre les membres d’un réseau sans pour autant devoir faire appel à un tiers de confiance : personne ne pourra modifier ou supprimer le contrat sans que l’ensemble du réseau n’en soit alerté.
3. Illustration technique avec la blockchain Bitcoin
Afin de mieux visualiser comment fonctionne la technologie blockchain, prenons un exemple de transaction via la blockchain Bitcoin : Agathe souhaite acheter un item à Bernard, vendeur en ligne, en passant par la plateforme Bitcoin.
La création d’un compte sur la plateforme Bitcoin s’accompagne de l’attribution au nouveau compte d’une paire de clés cryptographiques composée :
- d’une clé publique, accessible par tous les membres du réseau : cette clé publique s’apparente à une adresse ou à un numéro de compte ;
- d’une clé privée, seulement connue par le créateur de l’adresse, la clé privée étant mathématiquement liée à la clé publique.
Après avoir identifié Bernard grâce à sa clé publique, Agathe envoie sa crypto-monnaie pour paiement à Bernard. Cette transaction contient 3 types d’informations :
- l’adresse Bitcoin de l’émettrice ;
- le montant de la transaction ;
- l’adresse Bitcoin du destinataire créée spécifiquement pour cette transaction.
Lors du transfert entre Agathe et Bernard, c’est la clé privée de l’adresse Bitcoin de l’émettrice qui est utilisée pour signer la transaction. Cette nouvelle transaction se voit attribuée une signature digitale générée par la clé privée de Cécile : ce système permet d’éviter tout problème d’usurpation d’identité.
Bernard et les autres membres du réseau vérifient grâce à la signature de la transaction que la transaction peut bien avoir lieu. Ils vérifient l’identité de l’émettrice et l’état de son compte. La blockchain étant un registre public de toutes les transactions jamais effectuées, il est facile de vérifier que l’individu initiant une transaction dispose bien du montant qu’il souhaite transférer en contrôlant les transactions passées.
La transaction devient alors éligible à l’inscription dans la blockchain. Elle rejoint l’ensemble des transactions en attente d’être enregistrées dans un bloc. La liste de toutes ces transactions est diffusée à l’ensemble des membres du réseau.
Un « mineur », c’est-à-dire un membre du réseau ayant une importante puissance de calcul, sélectionne un certain nombre de transactions de la même période qui sont en attente de validation pour créer un nouveau bloc. Le « mineur » utilise sa puissance de calcul pour attacher une empreinte/un identifiant immuable à ce bloc. Cet identifiant est généré par des fonctions cryptographiques, dites « hachage » ou « hash » en anglais. Ces fonctions de hachage se basent sur les informations composant le bloc (identifiant du bloc précédent et informations relatives aux transactions du bloc en cours de validation) pour définir une chaîne alphanumérique de longueur fixe qui constitue l’identifiant du bloc. Attacher un identifiant à un bloc revient à résoudre une équation mathématique si complexe que le seul moyen de la résoudre est de tester toutes les possibilités de manières aléatoire jusqu’à trouver la bonne solution. Ce processus de « minage » est appelé la preuve de travail ou preuve de calcul (proof of work en anglais).
Cet identifiant unique est régulièrement contrôlé lors de l’ajout de nouveau bloc à la blockchain. La modification d’une information du bloc a posteriori rendra son identification impossible car l’identifiant de chaque bloc, son « hash », dépend du « hash » du bloc précédent et des informations qu’il contient. Le premier « mineur » à avoir trouvé la solution (l’identifiant du bloc), la propose aux autres membres du réseau qui doivent la valider. Si la réponse est correcte, le bloc est ajouté à la blockchain : c’est cette étape finale qui va rendre la transaction immuable.
Le transfert de Bitcoin est alors conclu entre Agathe et Bernard. Cette transaction est sécurisée et distribuée (car partagée par ses différents membres) et peut être consultée par tous les membres du réseau, sans possibilité d’être falsifiée.