Blockchain : Une technologie fondée sur la décentralisation des données
Blockchain… Cette technologie est très souvent associée à Bitcoin, initié en 2009. Depuis, de nombreuses blockchains ont été développées. Mais concrètement, comment cette nouvelle technologie permet-elle de gérer des transactions1 sur Internet, de partager des données, entre tiers qui ne se font pas confiance, a-priori ?
François-Henri Paroissin
Chief Digital Officer chez Société Générale Private Banking France
Les réseaux traditionnels sont centralisés : ce sont des réseaux dans lesquels un tiers de confiance est indispensable pour recueillir les demandes de transactions, vérifier les identités des demandeurs, valider ces demandes et enfin les exécuter, le cas échéant. Dans ces systèmes, il existe un seul et unique registre et une seule autorité qui contrôle le système.
L’exemple de la banque : le rôle de la banque est de conserver une trace de ce que possèdent les clients et l’historique des transactions effectuées. La banque stocke toutes ces informations dans un registre centralisé. Le tiers de confiance est la banque.
La blockchain (« chaîne de blocs ») est une technologie alternative de stockage et de transfert d’informations. Elle permet de partager de façon décentralisée une base de données, sécurisée et inaltérable, sans recours à un tiers de confiance, au sein d'un réseau composé de nœuds. Plus le nombre de nœuds est important, plus le réseau est vaste et, toutes choses égales par ailleurs, plus la blockchain est sécurisée.
Les nœuds sont des ordinateurs individuels sur lesquels tourne le logiciel de la blockchain, assimilable à un protocole, c’est-à-dire un ensemble de règles permettant à chacun de communiquer. Tous ces ordinateurs interagissent les uns avec les autres On parle de réseau pair à pair (ou peer to peer, en anglais). Nous verrons qu'il existe plusieurs types de nœuds.
Dans une blockchain, le registre est unique mais copié à de multiples endroits (nœuds), public (tout le monde peut consulter les transactions) et inaltérable (les transactions sont immuables). En termes de confidentialité, les transactions sont toutefois protégées du fait de leur caractère pseudonyme.
Les nœuds partagent donc chaque mise à jour du registre, à savoir l’historique de toutes les transactions qui ont eu lieu sur le réseau.
Par ailleurs, deux outils du domaine cryptographique sont fondamentaux pour le bon fonctionnement d’une blockchain : la chiffrement asymétrique (qui permet de signer des transactions et d’en vérifier la validité) et le hashage. Nous détaillerons plus loin ces concepts.
Une blockchain est constituée de plusieurs types de nœuds, dont les trois principaux sont :
Les nœuds complets, qui stockent une copie complète de la blockchain (historique des transactions depuis l’origine) et font tourner le protocole. Ils diffusent aux autres nœuds les transactions émises. Si une transaction est non valide, elle est rejetée. Les transactions valides entrent dans un « mempool »2 , une sorte d’espace constitué des transactions en attente d’être ajoutées à la blockchain par un nœud mineur ou validateur.
Les nœuds légers, qui ne stockent pas la totalité des transactions effectuées sur la blockchain, mais uniquement les en-têtes des blocs de la blockchain. Ils peuvent donc vérifier les transactions mais ne participent pas à la sécurisation du réseau, comme les nœuds complets. Ils sont notamment utilisés par les portefeuilles logiciels de cryptoactifs.
Les nœuds mineurs ou validateurs, qui sont chargés de constituer des blocs de transactions valides, en attente dans le mempool, et de les ajouter à la blockchain pour que les transactions soient bien exécutées (cf. ci-après).
Pourquoi parle-t-on de blocs ? De chaînes de blocs ?
Une blockchain est une suite de blocs de transactions ajoutés les uns après les autres, dans l'ordre chronologique. On parle de chaîne car ils sont reliés les uns aux autres grâce à une fonction cryptographique fondamentale appelée hashage, ce qui permet de sécuriser la blockchain.
Cette fonction de hashage prend en entrée n'importe quelles données de n'importe quelle taille et génère en sortie un hash, i.e. une chaine de caractères de longueur fixe. Pour simplifier, c'est une sorte de signature numérique des données en entrée. La moindre modification d’une de ces données en entrée aura pour effet de générer un hash tout à fait différent, ce qui permet très simplement de détecter l’altération de tout ou partie des données sources.
Dans le cas de la blockchain, chaque en-tête d’un bloc de transactions (= l’entrée) est hashé et le hash correspondant est ajouté au bloc suivant. Autrement dit, si la moindre transaction d'un bloc précédent était modifiée, le hash du bloc entier serait complètement différent et cela serait détecté instantanément. Cela impacterait tout l'historique des transactions, donc toute modification serait détectée lors de la mise à jour du registre, créant une divergence entre hashs, et rejetée par les nœuds.
Cela permet d'éviter qu’une personne malveillante procède à une double dépense3. Et comme il s'agit d'un système décentralisé, l'attaquant devrait modifier la majorité des copies du registre, ce qui est en pratique impossible quand le nombre de nœuds est très élevé.
Exemple :
Le hash de l’en-tête du bloc N-1 est
9fc07c2c159594398feb31779dcc184c1ffe9868e29e42f452c98778074cf811
Si la moindre modification était apportée à une transaction du bloc N-1, le hash de l’en-tête du bloc N-1 deviendrait, par exemple :
afaa62b51605a9662346d449cf0aa6ca41eb47662435ebb510e75de3b907a797
Ce nouveau hash est totalement différent de celui qui a été calculé initialement et cette modification se répercuterait sur les blocs suivants.
L’historique des transactions est identique sur tous les ordinateurs du réseau. Dès qu'un nouveau bloc est ajouté, les nœuds complets se synchronisent de façon à conserver le même état des transactions.
Comment peut-on être sûr que les transactions sont bien valides ? Puisqu’il n'y a pas d'autorité centrale, comment cela fonctionne-t-il ?
La validité des transactions repose sur la cryptographie asymétrique, qui permet de générer des paires de clés composées de clés publiques (partageables) et de clés privées (secrètes). Chaque clé publique est dérivée d'une clé privée, cette dernière permettant d'accéder aux tokens et de les transférer en signant la transaction. La clé publique permet aux nœuds de vérifier la validité d’une transaction signée avec la clé privée.
Pour qu’une blockchain fonctionne, il est indispensable que soit établi un consensus entre toutes les parties prenantes au réseau (i.e. les nœuds présentés ci-avant). Il existe plusieurs algorithmes de consensus. Les plus connus sont la preuve de travail et la preuve d’enjeu4.
Ce sont les nœuds mineurs (blockchain à preuve de travail) ou validateurs (blockchain à preuve d'enjeu) qui sont chargés d’ajouter les nouveaux blocs de transactions valides à la blockchain :
Dans les blockchains à preuve de travail, chaque mineur tente d'être le premier à trouver la solution à un problème cryptographique défini par le protocole. La résolution de ce problème nécessite de réaliser de très nombreuses itérations (et donc un coût en énergie très élevé correspondant à la puissance de calcul utilisée). Quand un mineur a trouvé la solution, il l’annonce aux autres mineurs qui peuvent très facilement la vérifier. Le mineur peut ensuite ajouter son bloc de transactions à la blockchain et reçoit en contrepartie de nouveaux tokens, ainsi que les frais de transactions. Un bloc est ajouté à intervalles réguliers, dépendant de la blockchain. La blockchain croît et le registre est mis à jour par tous les nœuds. C'est un consensus distribué fondé sur les mathématiques qui permet de savoir à tout instant qui possède quoi. Compte tenu de la puissance de calcul nécessaire, et donc de son coût économique, un mineur est incité à respecter les règles de validation s’il veut percevoir les nouveaux tokens émis et les frais de transaction.
Dans les blockchains à preuve d’enjeu, le consensus est différent. Les validateurs mettent en jeu un certain nombre de tokens. En général, plus ils détiennent de tokens, plus ils ont de chance d’être sélectionnés pour valider les transactions et former le bloc qui sera rattaché à la blockchain. De façon schématique, il existe également une incitation économique à constituer les blocs correctement car sinon le validateur perd les tokens immobilisés, ce qui représente une perte financière conséquente. En contrepartie d’une validation conforme au protocole, le validateur perçoit de nouveaux tokens et les frais de transaction. Ces mécanismes de récompenses peuvent varier d’une blockchain à l’autre et dépendent du protocole qui peut évoluer dans le temps.
Blockchains publiques, privées, ou de consortium
L’essence même d’une blockchain est d’être ouverte à quiconque veut y participer. On parle de blockchain publique, ouverte, permisssionless. Comme nous l’avons vu, elles fonctionnent avec des algorithmes de consensus.
Les plus connues sont Bitcoin et Ethereum. Chacun peut installer le code source du protocole, open source, et peut devenir un nœud du réseau. De même, tout le monde peut utiliser une blockchain pour effectuer des transactions, avec une paire de clés, privée et publique. Enfin, tout le monde peut consulter les transactions de la blockchain puisque par nature, le registre distribué est public. Il suffit de consulter une blockchain explorer (exemples : pour Bitcoin, Bitcoin Explorer; pour Ethereum, Etherscan ; pour Solana, Explorer Solana)
Une blockchain publique est donc synonyme de transparence totale.
A côté des blockchains publiques, il existe :
Des blockchains de consortium : le processus de consensus est contrôlé par un ensemble présélectionné de nœuds ou par un nombre présélectionné de parties prenantes (ex. : Ripple)
Des blockchains privées : ne peuvent y accéder que des utilisateurs autorisés, selon des règles imposées par l'entreprise qui contrôle ce réseau. On y retrouve une notion d’autorité centrale, ce qui peut difficilement conférer la qualité de blockchain à un tel réseau.
Les blockchains publiques sont la colonne vertébrale du web3, de l’internet de la valeur5 : Bitcoin qui pourrait être une réserve de valeur sur le long terme, Ethereum et les blockchains de niveau 2 qui offrent des possibilités d’engager différentes parties via les smart contracts, de proposer des stable coins, socle essentiel de la finance décentralisée6. Autant d’opportunités de développer de nouveaux écosystèmes économiques et financiers.
1 Transfert de cryptomonnaies, exécution d'un contract, enregistrement de données...
2 « mem » pour «memory »
3 Cf. Bitcoin : « décryptage » et clés de compréhension
4 Certaines blockchains ont fait évoluer leur protocole de consensus, tel Ethereum qui est passé d’une preuve de travail à un preuve d’enjeu.
5 Exprimé simplement, le web 3 est une amélioration du web2, tel que nous le connaissons actuellement. Le web3 est doit apporter davantage de sécurité et de décentralisation.
6 Ces sujets seront développés dans de prochains articles.
AVERTISSEMENT GENERAL :
Société Générale Private Banking est la ligne métier du Groupe Société Générale opérant à travers son siège au sein de Société Générale S.A. et de départements, succursales ou filiales, localisés sur les territoires mentionnés ci-après, agissant sous la marque « Société Générale Private Banking » et distributeurs du présent document.
Le présent document, de nature publicitaire, n’a pas de valeur contractuelle. Son contenu n’est pas destiné à fournir un service d’investissement, il ne constitue ni un conseil en investissement ou une recommandation personnalisée sur un produit financier, ni un conseil ou une recommandation personnalisée en assurance, ni une sollicitation d’aucune sorte, ni un conseil juridique, comptable ou fiscal de la part d’une quelconque entité relevant de Société Générale Private Banking.
Les informations contenues sont données à titre indicatif, peuvent être modifiées sans préavis, et visent à communiquer des éléments pouvant être utiles à une prise de décision. Les informations sur les performances passées éventuellement reproduites ne garantissent en aucun cas les performances futures.
Les banquiers privés des entités Société Générale Private Banking sont à la disposition des investisseurs potentiels pour leur fournir de plus amples informations sur les déclinaisons, au sein de l’entité Société Générale Private Banking concernée, de la thématique présentée dans ce document.
Le présent document est confidentiel, destiné exclusivement à la personne qui le consulte, et ne peut être ni communiqué ni porté à la connaissance de tiers, ni reproduit totalement ou partiellement, sans accord préalable et écrit de l’entité Société Générale Private Banking concernée.
Aucune entité relevant de Société Générale Private Banking ne peut en aucun cas être tenue responsable pour toute décision prise par un investisseur sur la base des seules informations contenues dans ce document.
Le groupe Société Générale maintient effective une organisation administrative prenant toutes les mesures nécessaires pour identifier, contrôler et gérer les conflits d’intérêts. A cet effet, les entités Société Générale Private Banking ont mis en place une politique de gestion des conflits d’intérêts permettant de gérer et prévenir les conflits d’intérêts. Pour plus de détails, les clients de Société Générale Private Banking peuvent se reporter à la politique de gestion des conflits d'intérêts disponible sur simple demande auprès de leur banquier privé.
Société Générale Private Banking a également mis en place une politique de traitement des réclamations formulées par ses clients, disponible sur simple demande auprès de leur banquier privé ou sur le site Internet de Société Générale Private Banking (www.privatebanking.societegenerale.com).
AVERTISSEMENTS SPÉCIFIQUES PAR JURIDICTION
France : Sauf indication contraire expresse, le présent document est publié et distribué par Société Générale, banque française autorisée et supervisée par l’Autorité de Contrôle Prudentiel et de Résolution, sise 4, place de Budapest, CS 92459, 75436 Paris Cedex 09, sous la supervision prudentielle de la Banque Centrale Européenne (« BCE ») et enregistrée auprès de l’ORIAS en qualité d’intermédiaire en assurance sous le numéro 07 022 493 orias.fr. Société Générale est une société anonyme française au capital de 1 003 724 927, 50 euros au 17 novembre 2023, dont le siège social est situé 29, boulevard Haussmann, 75009 Paris, et dont le numéro d'identification unique est 552 120 222 R.C.S. Paris. De plus amples détails sont disponibles sur demande ou sur www.privatebanking.societegenerale.com.
Luxembourg : Le présent document est distribué au Luxembourg par Société Générale Luxembourg, société anonyme enregistrée auprès du registre de commerce et des sociétés de Luxembourg sous le numéro B 6061 et établissement de crédit autorisé et régi par la Commission de Surveillance du Secteur Financier (« CSSF »), sous la supervision prudentielle de la Banque Centrale Européenne (« BCE »), et dont le siège social est sis 11, avenue Émile Reuter – L 2420 Luxembourg. De plus amples détails sont disponibles sur demande ou sur https://www.societegenerale.lu/. Aucune décision d’investissement quelle qu’elle soit ne pourrait résulter de la seule lecture de ce document. Société Générale Luxembourg n’accepte aucune responsabilité quant à l’exactitude ou autre caractéristique des informations contenues dans ce document. Société Générale Luxembourg n’accepte aucune responsabilité quant aux actions menées par le destinataire de ce document sur la seule base de ce dernier, et Société Générale Luxembourg ne se présente pas comme fournissant des conseils, notamment en ce qui concerne les services d’investissement. Les opinions, points de vue et prévisions exprimées dans le présent document (y compris dans ses annexes) reflètent les opinions personnelles de l’auteur/des auteurs et ne reflètent pas les opinions d’autres personnes ou de Société Générale Luxembourg, sauf indication contraire. Ce document a été élaboré par Société Générale. La CSSF n’a procédé à aucune analyse, vérification ou aucun contrôle sur le contenu du présent document.
Monaco : Le présent document est distribué à Monaco par Société Générale Private Banking (Monaco) S.A.M., sise 11 avenue de Grande Bretagne, 98000 Monaco, Principauté de Monaco, régie par l’Autorité de Contrôle Prudentiel et de Résolution et la Commission de Contrôle des Activités Financières. Les produits financiers commercialisés à Monaco peuvent être réservés à des investisseurs qualifiés conformément aux dispositions de la loi n° 1.339 du 07/09/2007 et de l’Ordonnance Souveraine n° 1.285 du 10/09/2007. De plus amples détails sont disponibles sur demande ou sur www.privatebanking.societegenerale.com.
Suisse : Le présent document peut être constitutif de publicité au sens de la Loi sur les services financiers (« LSFin »). Il est distribué en Suisse par SOCIETE GENERALE Private Banking (Suisse) SA (« SGPBS » ou la « Banque »), dont le siège se trouve à la rue du Rhône 8, CH-1204 Genève. SGPBS est une banque autorisée par l’Autorité fédérale de surveillance des marchés financiers (FINMA). Le présent document ne peut en aucun cas être considéré comme un conseil ou une recommandation d’investissement de la part de SGPBS. La Banque recommande d'obtenir un avis professionnel avant d'agir ou de ne pas agir sur la base de ce document et n’accepte aucune responsabilité en lien avec le contenu de ce document. Les instruments financiers, incluant notamment les parts de placements collectifs et les produits structurés, ne peuvent être offerts que conformément à la LSFin. De plus amples informations sont disponibles sur demande auprès de SGPBS ou sur www.privatebanking.societegenerale.com.
Le présent document n’est distribué ni par SG Kleinwort Hambros Bank Limited au Royaume-Uni, ni par ses succursales à Jersey, Guernesey et Gibraltar qui agissent ensemble sous la marque « Kleinwort Hambros ». En conséquence, les informations communiquées et les éventuelles offres, activités et informations patrimoniales et financières présentées ne concernent pas ces entités et peuvent ne pas être autorisées par ces entités ni adaptées sur ces territoires. De plus amples informations sur les activités des entités de la banque privée de Société Générale situées sur les territoires du Royaume-Uni, des îles anglo-normandes et de Gibraltar, incluant des informations complémentaires de nature légale et réglementaire, sont disponibles sur www.kleinworthambros.com.