[FR] Qu'est-ce que la blockchain?
Le concept de la “blockchain” a été rendu célèbre par le Bitcoin et est désormais au cœur d’une myriade de projets tentant de l’exploiter dans des buts divers et variés. Cependant, la blockchain et son utilisation restent un mystère aux yeux du grand publique, ce que le Gros Rourou va tenter aujourd’hui d’éclaircir.
Je commencerai en empruntant la définition de nos amis de Blockchain France :
« La blockchain est une technologie de stockage et de transmission d’informations, transparente, sécurisée, et fonctionnant sans organe central de contrôle »
C’est donc une « chaine de blocs » qui contient une série d’information qu’elle propage au sein d’un réseau.
Ainsi, après chaque opération effectuée dans le réseau, un nouveau bloc est ajouté a la chaîne. La blockchain est donc en quelques sorte comme un immense cahier retraçant l’historique des transactions effectuées par les utilisateurs du réseau depuis sa création. Vous pouvez vous la représenter comme un grand livre comptable dans lequel chaque entrée serait un nouveau bloc.
L’aspect révolutionnaire de la blockchain réside dans le fait qu’elle est décentralisée, transparente et sécurisée.
1) Décentralisation : la blockchain est implémentée et propagée par les utilisateurs du réseau eux-mêmes, et non pas par une autorité centrale.
C’est là l’un des attraits philosophiques initial du Bitcoin : il n’est pas dépendant d’une quelconque autorité comme la banque centrale européenne ou la FED, à l’inverse des monnaies traditionnelles comme l’euro ou le dollar.
2) Transparence : n’importe qui peut anonymement et gratuitement consulter le répertoire qu’est la blockchain, en toute transparence. En revanche, la modifier, implémenter ou effacer est une toute autre histoire…
3) Sécurité : du fait de son fonctionnement, la blockchain est inviolable et infalsifiable comme nous allons le voir dans la prochaine partie.
Fonctionnement de la blockchain
Qu’est-ce qu’un bloc et que contient-il ?
La blockchain fonctionne avec un système de blocs qui s’agrègent les uns aux autres. Mais que contiennent donc ces fameux blocs ?
Un bloc contient trois éléments comme le représente l’illustration ci-dessous :
Un « hash » : l’empreinte digitale du bloc. C’est une suite de caractères unique (comprenant chiffres et lettres) qui permet d’identifier avec précision un bloc.
Des données : par exemple les données d’une transaction en Bitcoin, incluant l’adresse du porte-monnaie virtuel du payeur, celle du receveur, ainsi que le montant de l’opération.
Le hash du bloc précédent : l’empreinte digitale du bloc précédent. C’est ce qui permet de situer le bloc dans la chaine.
Ainsi, changer le contenu du bloc modifie automatiquement son hash, c’est-à-dire change l’empreinte digitale du bloc qui du coup n’est plus la même entité. Souvenez-vous que la blockchain est… une chaine ! Par conséquent, modifier de la sorte un bloc rendrait invalide les blocs suivants (car tout bloc contient le hash du bloc précédent). Cela rend de fait toute potentielle manipulation d'un bloc très facile à détecter et sécurise la blockchain.
Une blockchain est-elle sure a 100% ?
Un mineur trouvant des BitcoinsLes ordinateurs modernes sont très puissants et il est donc concevable qu’un ordinateur pouvant recalculer et modifier le hash d’un bloc, ainsi que les hash de tous les blocs suivants pour les faire fonctionner pourrait théoriquement modifier toute la blockchain. Pour contrevenir à cela, la blockchain impose une « proof of work » (preuve de travail) nécessaire pour « miner » (comprenez créer) un bloc. Pour fournir cette « proof of work », l’ordinateur doit résoudre une série de problèmes mathématiques complexes qui allonge la durée de temps nécessaire pour miner un bloc. Par conséquent, un pirate potentiel devra, s’il veut modifier un bloc, modifier également tous les blocs suivant ce qui implique résoudre la série de problèmes mathématiques pour obtenir la « proof of work » de chacun des blocs subséquents ! Cela rend de facto la blockchain très sécurisée car parvenir à la modifier est essentiellement impossible.
Notez pour être exhaustif que certaines blockchain fonctionnent avec un algorithme de consensus « proof of stake » (preuve d'enjeu) pour décider de la validité d’un bloc. La différence entre « proof of stake » ou POS, et « proof of work » ou POW fera l’objet d’un article ultérieur. Pour l’heure, nous continuerons avec le cas du « proof of work » car c’est la méthode la plus commune, et elle est utilisée par la blockchain de Bitcoin.
La sécurité d’une blockchain provient donc de son système de hash et du mécanisme de proof of work. Cependant, ce qui la rend véritablement inaliénable est le fait qu’elle soit décentralisée, et non pas soumise à une autorité centrale quelconque.
Chaque personne sur le réseau reçoit une copie exacte de la blockchain. Quand l’un des membres du réseau décide d’ajouter un bloc, c’est l’entièreté du réseau qui reçoit ce même bloc, et le vérifie avant de l’accepter si un consensus est trouvé. C’est ce qui fait par exemple, que la blockchain ne peut pas être prise en défaut par un double paiement. En effet, si je décide d’envoyer 1 Bitcoin a un individu A et 15 secondes plus tard le même Bitcoin à un individu B, le second bloc crée sera rejeté par le réseau car il sera différent de celui que possède les autres membres.
Ainsi, pour réussir à modifier la blockchain, un pirate devra : réussir un modifier un bloc, parvenir à résoudre toutes les « proof of work » de tous les blocks suivants pur changer leur hashs respectifs et maintenir la cohérence de la chaine, et en plus posséder au moins 51% des nœuds du réseau pour pouvoir accepter ces modifications. La probabilité d’y parvenir tend asymptotiquement vers zéro - en clair c’est impossible !
La blockchain est-elle pérenne et auto-suffisante ?
Il est vrai que toute blockchain dépend à un certain degré de son réseau. En effet, elle a besoin de « mineurs » pour miner les blocs. Les mineurs peuvent être n’importe quel utilisateur sur le réseau. L’intérêt pour un mineur de miner un bloc, outre le fait de faire avancer la chaine, est qu’il reçoit un paiement. En effet, chaque bloc miné lui donne droit à de la monnaie de la blockchain, un « coin » ou un « token ». Par exemple, tous les mineurs de Bitcoin reçoivent des fragments de Bitcoin pour chaque bloc miné.
C’est une activité qui peut être très rentable et certains investissent dans des ordinateurs très puissants afin d’accroitre leur chance de miner un bloc (la probabilité d’être le premier à résoudre un problème mathématique donné pour satisfaire une « proof of work » dépend directement de la puissance de calcul du mineur, soit en d’autres termes de la puissance de son ordinateur.)
Quelles sont les applications possibles pour la blockchain ?
En deux mots : des milliers ! Nous observons le potentiel de la blockchain au travers de l’univers des crypto-monnaies mais son principe est aisément applicable au-delà de cette unique industrie. Son application dans les filières ou le transfert d’éléments et leur traçabilité sont importants parait toute indiquée, la finance et l’administration constituent donc deux cibles idéales.
Mais le principe peut être étendu a pratiquement toutes les industries (à voir pour preuve le nombre de nouvelles start-up misant sur la blockchain dans pratiquement toutes les industries).