Tout comprendre à la blockchain en 5 questions
La blockchain (ou "chaîne de blocs") est en train de révolutionner le monde, un bloc à la fois. Histoire, principe de fonctionnement, avantages... Il est temps de faire connaissance !
Ia ora na les amis ! Et bonjour à tous ceux qui ne parlent pas cette magnifique langue qu’est le Tahitien !
Le but de l’article d’aujourd’hui est de vous aider à comprendre, de manière simple et schématisée ce qu’est la blockchain. A travers 5 questions, je vais vous aider à appréhender le principe, comprendre pourquoi et comment elle a été inventée, et surtout quel est son intérêt. Vous êtes prêts pour le voyage ? c’est parti !
Comment est née la blockchain ?
La blockchain, ou chaîne de blocs en français est un concept qui est né dans les années 2000. Mais sa genèse remonte à bien des années auparavant.
En effet depuis le milieu des années 80, avec l’essor de l’informatique et son accessibilité croissante pour les particuliers, beaucoup d’acteurs commencent à travailler sur une gestion plus « libre » des droits d’utilisations, notamment des logiciels.
Au début de l’ère informatique, les interfaces graphiques n’existaient pas, et tout se faisait par lignes de code. Un informaticien était donc, avant tout, un codeur. La moindre instruction devait être tapée à la main, et pour utiliser un logiciel ou un jeu, il fallait le coder.
Avec l’avancée des systèmes informatiques, les interfaces graphiques ont vu le jour, et avec elle l’amélioration de l’accessibilité. Mais cette évolution a également fait naître un cadre plus strict, plus fermé. Les logiciels n’étaient plus modifiables, les codes sources n’étaient plus libres d’accès. Petit à petit les grosses entreprises que l’on connaît encore aujourd’hui se sont mises à verrouiller leur production, évitant ainsi le partage et la distribution gratuite.
Ce changement d’état d’esprit n’était pas du goût de tous, et nombre de personnes ont alors commencé à travailler sur un concept qui rendra les logiciels libres.
Parmi eux, Richard Stallman qui définit les bases de ce qu’est un logiciel libre.
Dans les années 1990, Aaron Swart, petit génie de l’informatique continuera d’avancer sur le sujet et développera entre autres une licence appelée Créative Common. Son nom ne vous dit certainement rien, mais son développement le plus connu porte le nom de Wikipédia.
Cet esprit de partage, de libre circulation des idées et de liberté au sens large à vite attiré beaucoup de grands esprits. La démocratisation d’internet dans les années 90 a facilité les échanges d’idées et le travail en commun.
Petit à petit, le mouvement « cypherpunk » est né.
Timothy C.May, Eric Hugues, John Guilmore sont les têtes de file de ce mouvement, né dans les années 80 et propulsé sur le devant de la scène en l’an 2000. Leur manifeste « Le manifeste de la crypto anarchie » inspirera nombre de penseurs et de génies de l’informatique, qui travailleront, parfois en groupe, parfois seuls, sur des solutions qui permettraient de se passer des « tiers de confiance ».
Aujourd’hui dans la tête d’une majorité de personnes, la blockchain est rattachée à la monnaie digitale ou électronique.
Cette monnaie, imaginée dès 1983 par David Chaum, mettra quelques années à pointer son nez. Il faudra pour cela qu’elle soit sécurisée.
Adam Black développera le « hashcash » en 1997, un système de « hashage » sécurisé qui sera utilisé ensuite par la blockchain Bitcoin.
Wei Dai a inventé en 1998 la B-Money. Elle ne rencontrera pas un grand succès mais elle sera la première monnaie numérique impossible à réguler. Son fonctionnement utilise un calcul complexe, nécessitant le travail d’ordinateur pour les valider. C’est ce qu’on appellera « la preuve de travail », utilisée par Bitcoin.
Qui a inventé la blockchain ?
Vous avez certainement déjà entendu parler de Satoshi Nakamoto. Son nom est rattaché de manière automatique à celui du bitcoin. Mais il est également (et surtout) l’inventeur de la toute première blockchain.
Basant son travail sur les idées et le mouvement lancé par les Cypherpunk, Satoshi a pour ambition de mettre en place un système d’échange de données et de valeur totalement sécurisé. Mais surtout, totalement décentralisé.
Son but est de pouvoir se passer des « tiers de confiance » tel que les banques ou les organismes d’état qui peuvent, via décision arbitraire bloquer les fonds et les transactions bancaires.
La crise financière des subprimes qui s’abat sur les Etats-Unis en 2007, qui conduira à une crise bancaire en 2008 sur la totalité du globe ajoutera de l’eau au moulin de Satoshi. Pour lui, le système bancaire actuel n’est plus viable. Il faut que chacun retrouve la liberté de la gestion de ses fonds, et de manière indirecte, de ses données.
C’est pourquoi il s’appuiera sur les travaux de ses congénères pour mettre en place la toute première blockchain de l’histoire. Satoshi contactera Wei Dai et Adam Black afin d’échanger avec eux sur son projet.
Le 31 octobre 2008, Satoshi Nakamoto publie le livre blanc du Bitcoin. Un système de paiement électronique, fonctionnant de pair-à-pair. Plus besoin d’intermédiaire de confiance. Avec ce système, même (et surtout) si vous ne faites confiance à personne, vous pouvez transférer des fonds, via le Bitcoin.
Ce livre blanc d’une dizaine de pages explique toute sa théorie et la philosophie autour de son idée.
Avec d’autres développeurs tels que Nick Szabo et Hal Finney qui vont le rejoindre sur le projet, Satoshi va mettre en place un système sécurisé, infalsifiable, utilisant une architecture distribuée, ouvert à tous et complètement transparent.
Il va ainsi donner naissance à la toute première blockchain.
Le 3 janvier 2009, soit 3 mois à peine après la publication de son livre blanc, le tout premier bloc est créé. Dans le vocabulaire lié à la blockchain, ce bloc sera « miné ». Il est le premier de la blockchain Bitcoin, on l’appellera alors le bloc Genesis.
La machine est lancée, les premiers Bitcoin sont émis. Satoshi travaillera avec l’équipe de développeurs pendant quelques mois. Mais le 12 décembre 2010 il poste un dernier message sur les forums, puis il disparaît.
Plus personne n’entendra parler de Satoshi Nakamoto.
C’est quoi la blockchain ?
Je vais essayer de vous expliquer de manière simple et imagée ce qu’est la blockchain, et comment elle fonctionne. Je vais volontairement simplifier certains concepts afin de ne pas vous noyer dans des explications techniques, le but étant de vous aider à comprendre comment fonctionne la blockchain et surtout quelle est son utilité.
Pour cela je vais avoir besoin de faire appel à votre imagination.
Nous allons comprendre ce qu’est la blockchain avec une colocation qui comporte 4 membres.
Faire partie d’un groupe tel que celui-ci demande une certaine organisation, notamment pour la gestion des frais qui concernent la colocation. Il est parfois difficile de s’y retrouver pour savoir qui a payé l’électricité, l’abonnement à internet ou les courses. Et il n’est pas rare que l’un des membres de la colocation emprunte de l’argent aux autres pour acheter un billet de train ou parce que sa paie a été virée en retard.
Bernard décide alors de noter toutes ces petites transactions sur un bloc-notes. Ce bloc-notes deviendra ce que l’on appelle la Blockchain.
Sur la première page de ce bloc-notes, Bernard va écrire toutes les transactions qui sont faites entre les différents membres.
Il va ainsi tenir le compte des différents achats de chacun concernant la vie commune, afin de garder un historique et être sûr que personne ne soit lésé.
Bien entendu Bernard n’est pas le seul à avoir le droit d’écrire sur le bloc note. S’il est absent ou non disponible à l’instant où un échange a lieu, il serait très préjudiciable que personne d’autre ne puisse noter les transactions.
Eeva est donc tout à fait en droit de noter, au fur et à mesure des dépenses, ce qu’il se passe dans la vie de la collocation.
Toute la petite équipe continue de noter ce qu’il se passe dans la vie de la communauté, et ce jusqu’à arriver au bas de la page.
Quand il n’y a plus de place sur la page du bloc-notes, chacun va alors apposer sa signature.
La colocation complète valide alors le fait que les transactions ont bien été effectuées, que tout ce qui est écrit est véridique et qu’une fois validé, il ne sera plus possible de revenir en arrière.
Pour ajouter un élément permettant de situer dans le temps le moment de la signature de ce bloc, la petite équipe ajoutera la date du jour.
Afin que les données soient infalsifiables, Bernard va procéder à un chiffrage des données contenant leur signature et la date du jour. Il utilisera un algorithme simple qui donnera un résultat complètement différent si le moindre caractère est changé.
Par exemple si Bernard génère un résultat avec la date 15/03/2022 14h44 il obtiendra ceci : 6D456DD06CA214B6F5568FA0C4C4E0CD3E76411FEC00A430660FF6BE8D50A51F
Par contre s’il change l’heure, et indique 14h45, alors le résultat obtenu sera complètement différent : 995CEC538898C20C1E1DCCE213E59F7D04DAF6103E9AEF84B0482225CBE220E
Ainsi Bernard décide d’indiquer l’heure du moment de la signature, à savoir 14h45. Pour plus de sécurité, il va écrire cette information chiffrée sur le bloc. C’est ce qu’on appelle le Hash.
Les transactions sont terminées, Bernard peut arracher la page. Il vient de créer un bloc ! Son tout premier bloc sur la blockchain.
En calculant l’information cryptée en vert, Bernard a effectué le travail d’un mineur.
En effet, pour fonctionner correctement et de manière sécurisée, la blockchain va utiliser tout une liste de règles, que l’on appelle le consensus.
Le consensus utilisé dans cet exemple, celui qui est utilisé pour la blockchain Bitcoin notamment, est un consensus par « preuve de travail » (proof of work en anglais).
Bernard a dû utiliser un ordinateur pour faire le calcul de l’heure qui a été cryptée par un algorithme.
Dans la réalité, Bernard aura également utilisé les informations contenues sur tout le bloc, à savoir toutes les transactions. Le fait de les valider et de les inscrire dans le bloc, ainsi que de créer l’identifiant unique qui est généré par le chiffrage permet d’avoir quelque chose d’unique. Deux blocs ne pourront pas avoir le même résultat une fois chiffré.
Pour le fonctionnement réel de la blockchain, d’autres informations viennent s’ajouter au chiffrage afin de rendre le tout encore plus sécurisé, et surtout infalsifiable.
Il existe également une notion de difficulté, qui est générée de manière automatique par la blockchain.
Maintenant que le bloc est créé, Bernard décide de le scanner et de l’envoyer à quelques personnes de son entourage, pour être sûr de garder une trace. Ces personnes vont jouer le rôle de nœud.
Elles auront ainsi chez elles la copie de la totalité des blocs émis, et ce depuis le bloc 0 de la blockchain.
La petite équipe en collocation est maintenant libre de repartir de 0 sur une nouvelle feuille du bloc-notes, de créer un nouveau bloc.
Pour plus de sécurité, ils vont recopier le Hash du bloc précédent, sur le haut de la nouvelle page. Ainsi ils sauront que ce nouveau bloc a été créé après le précédent, et surtout il sera impossible de modifier les données.
En effet, si quelqu’un voulait modifier le bloc 0, il devrait régénérer ce Hash. Comme les infos sont différentes, le résultat du Hash le sera aussi. Les 2 blocs ne seront alors plus liés.
Ce système rendra impossible la modification des données une fois le bloc validé. Si Bernard était un tricheur et voulait modifier le bloc 0 en indiquant qu’il avait payé 150€ d’électricité au lieu de 100, pour ainsi se voir rembourser plus qu’il n’a dépensé, il faudrait qu’il modifie tous les blocs de la blockchain. Car le bloc 1 contiendra le Hash du bloc 0. Le bloc 2 contiendra le Hash du bloc 1, et ainsi de suite. Ce fonctionnement rend impossible ce genre de corruptions des informations.
La blockchain est donc sécurisée, infalsifiable, et Bernard, Eeva, Miki et Alice peuvent dormir l’esprit tranquille. Ce qui est inscrit dans la blockchain est inaltérable.
Est-ce que Bitcoin et la blockchain c’est la même chose ?
Non, la blockchain et Bitcoin sont deux choses différentes.
En effet, Bitcoin est une blockchain, mais la blockchain n’est pas le Bitcoin. La comparaison serait la même qu’avec les doigts et les pouces. Tous les pouces sont des doigts, mais tous les doigts ne sont pas des pouces.
Ici c’est la même chose. La première blockchain née s’appelle effectivement Bitcoin, tout comme la cryptomonnaie qui lui est associée. Cette cryptomonnaie, qui a une valeur, est échangeable sur la blockchain et permet donc de faire des transactions.
Sa fonction principale est également de rémunérer le mineur qui a intégré les différentes transactions dans le bloc. Car dans le fonctionnement de la blockchain Bitcoin (et d’autres comme Ethereum), la validation d’un bloc nécessite des calculs compliqués et importants.
Il faut pour cela utiliser des ordinateurs avec une puissance de calcul qui est mesurable, ce qu’on appellera le taux de hashage. Mais cette mise à contribution de la puissance de calcul coûte cher (achat du matériel, électricité). C’est pourquoi les mineurs sont rémunérés en Bitcoin, qui sont générés au moment de la création du bloc. Ils perçoivent également une partie des frais qui sont générés par chaque transaction émise par les différents acteurs.
Ce fonctionnement avec des mineurs est appelé « proof of work » comme nous l’avons vu précédemment.
Ce n’est pas le seul fonctionnement, ou consensus utilisé. Il en existe d’autres comme le « proof of stake » (preuve d’enjeu en français) ou « proof of authority » (preuve d’autorité en français).
De très nombreuses autres blockchains existent, chacune avec des caractéristiques différentes. Certaines ont un temps de création de bloc de 10 minutes, d’autres de l’ordre de quelques secondes. Certaines sont totalement décentralisées, d’autres beaucoup moins. Certaines ont des frais de transaction très faibles, d’autres peuvent coûter très cher suivant le moment et le cours de sa cryptomonnaie. Chaque blockchain à son utilisation en fonction du besoin, et son utilité propre.
Comment utiliser la blockchain
L’utilisation de la blockchain nécessite l’utilisation d’un wallet, un portemonnaie en français.
En effet pour utiliser la blockchain et donc effectuer des transactions, vous avez besoin d’une adresse qui est inscrite sur la blockchain que vous souhaitez utiliser.
Suivant celle choisie (Bitcoin, Ethereum, Avalanche, Elrond), le format de l’adresse peut être différent, et le wallet également.
Le principe du wallet est d’utiliser un système de clé publique et de clé privée, qui vont vous permettre de signer vos transactions et ainsi être sûr que vous êtes bien l’auteur de l’envoi de cryptomonnaies, ou le souscripteur à un smart contract.
Si vous ne savez pas ce qu’est un smart contract, ne vous inquiétez pas, nous aurons l’occasion d’y revenir plus en détail.
L’avantage premier de la blockchain est d’être totalement publique. Vous pouvez très facilement, avec un explorateur de blockchain, aller consulter les informations que vous souhaitez.
L’heure de génération et les informations contenues par un bloc. L’identifiant d’une transaction, ou le portemonnaie qui l’a déclenchée. Le total de cryptomonnaie envoyées sur une transaction ou dans un bloc. La durée d’émission entre deux blocs consécutifs. Tout, absolument tout est consultable via les blockchains explorer.
Nous aurons l’occasion de revenir plus en détail les différentes blockchains et leurs cryptomonnaies, sur leurs fonctionnements, sur la création et l’utilisation d’un wallet et l’achat de cryptomonnaie. Je pense que vous avez déjà vu beaucoup de termes et d’explications techniques aujourd’hui !
Avant de vous laisser vous reposer, je vous donne une petite liste de liens qui pourraient vous donner envie d’en savoir plus, que ce soit sur les personnes qui sont à l’origine du mouvement cypherpunk, sur la création de la blockchain ou encore sur Bitcoin.
La page Wikipédia de Richard Stallman
La page Wikipédia de Aaron Swartz
Le lien vers le « manifeste crypto anarchiste » de Timothy C.May
La page Wikipédia expliquant le fonctionnement de la preuve de travail (proof of work)
La page Wikipédia de Satoshi Nakamoto
Et enfin le livre blanc de Bitcoin, par Satoshi Nakamoto