Code Publié le 24 mars 2022

La blockchain c'est quoi et ça sert à quoi ?

La Blockchain, d’où vient cette technologie, qu’est-ce que c’est et à quoi sert-elle ? Le but de cet article est de vous familiariser avec ces concepts, afin que vous puissiez comprendre comment fonctionnent les blockchains, mais aussi quels problèmes elles essaient de résoudre.

La blockchain c'est quoi et ça sert à quoi ?

La blockchain

Le 3 janvier 2009, en pleine crise économique mondiale, le ou les développeurs, connus uniquement sous le pseudonyme de Satoshi Nakamoto créent le Genesis Block, le tout premier bloc de  la cryptomonnaie Bitcoin, y encodant un gros titre de l’édition anglaise du journal The Times : “The Times 03/Jan/2009 Chancellor on brink of second bailout for banks.” (Le chancelier au bord d'un second plan de sauvetage des banques.).

Fin 2021, quelques 700’000 blocs plus tard, l’identité de Satoshi Nakamoto n’a toujours pas été révélée, et le débat sur la signification de la présence de cette phrase dans le premier bloc de Bitcoin fait toujours rage. En 12 ans, la valeur de cette cryptomonnaie a explosé, frôlant les 70’000 dollars durant l’automne 2021, et des centaines de cryptomonnaies ont vu le jour dans son sillage, chacune améliorant la technologie blockchain initiée par Bitcoin, la rendant plus rapide, plus programmable et moins gourmande en énergie.

La blockchain est aujourd’hui un univers en pleine effervescence, dans lequel de nouveaux projets naissent et meurent chaque jour, des millions de dollars sont investis sur des idées à peine esquissées et des pirates sévissent régulièrement, dérobant des sommes astronomiques. Elle est également l’un des secteurs de recherche les plus féconds en idées novatrices, qui font avancer à toute vitesse plusieurs domaines tels que la cryptographie ou les réseaux décentralisés.

Comme il fallait s’y attendre, la blockchain est aussi depuis quelques années l’un des buzzwords les plus présents dans les discours commerciaux, formule magique censée résoudre tous les problèmes, à tel point que, comme nous le constatons chez nos clients, elle est souvent considérée avec une méfiance bien légitime.

De notre point de vue, la meilleure manière de savoir si vous avez besoin d’une technologie, c’est de la comprendre. Bitcoin à introduit des concepts techniques révolutionnaires et passionnants qui ont permis pour la première fois à une monnaie réellement décentralisée de fonctionner, concepts qui n’ont cessé depuis d’être affinés et améliorés par de nouvelles cryptomonnaies.

La Blockchain concrètement, c’est quoi ?

Le premier concept à comprendre lorsqu’on parle de blockchain, c’est la façon dont les données sont stockées et sécurisées, dans une chaîne de blocs qui a justement donné sont nom à cette technologie.

Les blocs

Dans la blockchain, un bloc est une simple unité de données. Il contient des informations, comme la date et l’heure auxquelles il a été créé, un paquet de transactions, et surtout une signature numérique du bloc précédent. Cette signature, créée grâce à une fonction cryptographique appelée fonction de hachage, est unique par rapport au contenu du bloc. Si son contenu change, même d’un simple bit, la signature change complètement. Sa présence dans tous les blocs de la chaîne rend impossible d’aller changer le contenu d’un bloc dans le passé sans que cela ne rende fausses toutes les signatures successives à ce bloc.

fonctionement-blockchain-signatures.png

Des informations gravées dans le (bloc de) marbre

Ce mécanisme a pour but de rendre l’écriture dans la blockchain définitive. Quand une donnée est intégrée dans un bloc, il n’y a plus aucun moyen de la modifier. L’intérêt est évident lorsque nous parlons de transactions financières, car nous ne voulons évidemment pas qu’il soit possible d’aller modifier une transaction rétroactivement, mais les applications sont également innombrables dans d’autres domaines. Si nous savons qu’il est techniquement impossible que les données soient modifiées par des acteurs malveillants, il devient possible de les conserver de manière sécurisée sans avoir besoin de faire confiance à un seul acteur pour leur stockage et leur maintenance. Actes notariés, suivi des chaînes de distribution, systèmes de votes… toutes les données qui nécessitent un haut niveau de confiance sont des candidates toutes trouvées pour la blockchain.

Tout est une affaire de consensus

Mais comment définir quelles données peuvent légitimement être écrites dans la blockchain ? Le problème pourrait paraître simple, du moins avant qu’on ne prenne le temps d’y réfléchir. Quand je paie une facture, l’argent est prélevé sur mon compte et versé sur celui de l’émetteur. Ma banque garantit que la transaction est réalisée une fois et une seule, depuis et vers les bons comptes et selon le montant indiqué. J’utilise donc un organisme central pour assurer le bon fonctionnement de ma transaction financière.

La décentralisation des transactions

Le but de Bitcoin, et des cryptomonnaies, est justement de créer une monnaie capable de se passer des banques, et de toutes validations centralisées des transactions. Mais si tout le monde peut valider des transactions, comment éviter la triche, et assurer que seules des transactions légitimes sont insérées dans la blockchain ? Les cryptomonnaies résolvent ce problème grâce à des mécanismes de consensus.

Le principe du Proof-Of-Work & le minage

Dans le cas de Bitcoin, le mécanisme de consensus utilisé est appelé le Proof-Of-Work (preuve de travail). De manière simplifiée, le concept est le suivant : toutes les personnes intéressées peuvent faire fonctionner un logiciel de minage sur leur ordinateur. Ces mineurs accumulent les transactions émises par les utilisateurs de Bitcoin et les rassemblent dans un bloc. Ensuite, toutes les 10 minutes environ, ils essaient de résoudre un problème informatique nécessitant une énorme quantité de calculs, la preuve de travail. Le premier à y parvenir signe son bloc avec le résultat du calcul, puis l’envoie aux autres mineurs pour validation. Ceux-ci valident que les transactions du bloc sont correctes, l’ajoutent à leur copie de la blockchain puis passent au bloc suivant. Le mineur qui trouve la preuve de travail et signe le bloc empoche non seulement les frais des transactions contenues dans le bloc, mais aussi une certaine quantité de bitcoins. Cette quantité diminue régulièrement avec le temps, et régule l’arrivée de nouveaux bitcoins sur le marché.

La sécurité des transactions de la blockchain

Grâce à ce système, intégrer des transactions frauduleuses dans la blockchain devient (presque) impossible. Cela demanderait en effet de pouvoir réécrire un bloc déjà inséré dans la blockchain, ce qui nécessiterait de recalculer sa preuve de travail, ainsi que celles de tous les blocs plus récents, et d’obtenir les validations nécessaires des autres mineurs pour ces blocs. Théoriquement, ceci ne devient possible que si un seul acteur possède plus de la moitié de toute la puissance de calcul dédiée au minage de bitcoins, ce qui lui donnerait le contrôle sur le contenu de la blockchain. Une attaque appelée “Attaque des 51%” qui est totalement impossible aujourd’hui, au vu du nombre de mineurs actifs dans le monde.

La puissance de calcul & les fermes de minage

Le Proof-Of-Work donne l’avantage aux mineurs qui ont le plus de puissance de calcul, car ce sont eux qui ont le plus de chances de valider les nouveaux blocs. Aujourd’hui, les logiciels de minage qui tournaient sur les ordinateurs des premiers enthousiastes ont été remplacés par des fermes de minage, dans lesquelles des milliers d’ordinateurs utilisant des processeurs spécialement conçus fonctionnent en parallèle. La consommation électrique globale du minage de Bitcoin ne peut être qu’estimée, mais il est clair qu’elle est énorme. Dans un contexte de réchauffement climatique et de transition énergétique, c’est un problème de taille, que les cryptomonnaies plus récentes ont adressé en inventant de nouveaux mécanismes de consensus, tels que le proof-of-stake, ne nécessitant pas une telle quantité de calculs.

Ethereum et les blockchains programmables

Quelques années après l’apparition de Bitcoin, en 2013, un jeune programmeur du nom de Vitalik Buterin signe un livre blanc présentant les fondements d’un nouveau type de blockchain et de sa cryptomonnaie associée : Ethereum. L’idée de Vitalik est de proposer une blockchain programmable, sur laquelle n’importe qui pourrait publier des logiciels appelés smart contracts (contrats intelligents). Une fois dans la blockchain, comme toutes les données qui y sont stockées, leur code ne serait plus modifiable, mais il serait possible d’interagir avec eux, un peu comme nos ordinateurs interagissent avec des serveurs quand nous nous connectons à des services sur internet.

Deux ans plus tard, en 2015, Ethereum voit le jour. Les possibilités offertes par ce nouveau type de blockchain sont innombrables, et une grande communauté de développeurs se met rapidement à développer des contrats intelligents. Il devient par exemple possible de créer très simplement sa propre cryptomonnaie, en écrivant un contrat définissant les règles de sa mise en circulation et de ses transactions, d’inventer de nouveaux types de biens digitaux, tels que les NFT (Non-Fungible Tokens) qui révolutionnent aujourd’hui le marché de l’art, ou même de créer des plateformes de finance complètement décentralisées. Là où Bitcoin était pensé presque uniquement comme une monnaie, Ethereum se veut un ordinateur global et repousse drastiquement les limites du possible.

Construire sur une blockchain aujourd’hui

Suivant la voie ouverte par Ethereum, de nombreuses blockchains programmables sont apparues depuis, chacune amenant son lot d’améliorations : nouveau système de consensus, amélioration des performances, réduction des coûts de transactions… à tel point que le simple fait de choisir une blockchain pour développer un projet aujourd’hui peut s’avérer un casse-tête. Certaines sont compatibles avec Ethereum, comme Avalanche, Polygon ou Fantom, permettant de migrer plus facilement des contrats de l’une à l’autre. D’autres n’offrent pas cette compatibilité, mais sont extrêmement prometteuses techniquement, comme Solana, Cardano ou Polkadot. Tout ceci sans compter les technologies de blockchain privées, telles qu’Hyperledger Fabric ou Quorum, spécialement destinées au monde de l’entreprise.

Au final, comme souvent en informatique, le choix d’une technologie dépendra principalement des spécificités du projet et devra faire l’objet d’une recherche minutieuse.

Simon

Associé · Directeur Technique

Ne rate aucune nouveauté !

Chaque mois, reçois ton lot d'informations nous concernant. Avec par exemple la sortie de nouveaux articles ou de projets clients.