La blockchain - Philosophie et technologie [#1/3]

Image bitcoin représentant blockchain

Chacun d’entre nous à récemment entendu parler du mot “blockchain” ou “Bitcoin“, mais quelle est la philosophie derrière cette invention ? Et quelles sont les implémentations techniques de la “blockchain” ? C’est ce que nous allons voir ensemble dans ce billet de blog.

Sommaire

La blockchain, dans quel but ?

Le principe est supposé combler les problèmes liés aux tiers de confiance ainsi qu’à la traçabilité des transactions en offrant à tous les utilisateurs une transparence absolue et une sécurité maximale.

Système traditionnel - Cas concret

Prenons un exemple de la vie courante, un virement bancaire :

Problématique

Les banques centralisent la monnaie dans des systèmes et nous leur faisons confiance pour qu’elles “stockent” notre monnaie.

Si la banque devient corrompue ou décide de ne plus délivrer le service (ou tombe en panne), nos fonds sont totalement perdus.

Il est possible pour une banque de faire des actions à partir de vos fonds sans vous avertir (ce qui est un problème de traçabilité).

Enfin, des frais de transactions sont souvent liés à l’utilisation des services bancaires.

La problématique qui ressort de ce système est l’obligation de faire confiance à un tiers (quelqu’un d’autre que vous).

Solution innovante

 La blockchain a été pensée pour palier au problème de tiers de confiance et de traçabilité, afin de redonner du pouvoir aux personnes qui font partie du système.

L’idée principale est de permettre aux personnes d’échanger directement des services sans passer par un tiers, avec un système d’échange (une monnaie numérique) qui sert de moyen de paiement, c’est le système lui même qui gérera la partie confiance.

Les personnes qui ont contribué à la première blockchain (Bitcoin) ont imaginé les choses suivantes :

  1. Un groupe d’ordinateurs (possédés par n’importe qui et n’importe où dans le monde) vont se connecter au même réseau.
  2. Chacun des ordinateurs connectés au réseau va disposer d’une copie du livre comptable.
  3. Pendant un intervalle régulier, il sera possible d’effectuer des transactions P2P (peer-to-peer) afin d’enregistrer des transactions.
  4. A la fin de l’intervalle, toutes les transactions sont prise en compte et validées par l’ensemble d’ordinateurs connectés au réseau.
  5. Le livre comptable de chaque ordinateur va être mis à jour pour y insérer toutes les transactions effectuées.
  6. Chaque période sera liée à à la période précédente, pour rendre l’historique des transactions immuables.

Si vous souhaitez approfondir le sujet : BitCoin – Livre Blanc.

Notions techniques

La blockchain repose sur des fondamentaux techniques qu’il est important de maitriser afin d’aborder la technologie dans les meilleures conditions possibles.

Le hash

Ce qu’on appelle un hash est le résultat d’une fonction qui convertit des données d’entrée vers des données de sorties, la spécificité d’un hash, c’est qu’une fois généré, il n’est pas possible à partir des données de sortie de reconstituer les données d’entrées (c’est une façon d’anonymiser les données).

Hash

Le bloc

Le bloc est ce qui va permettre d’enregistrer un ensemble d’état à un moment donné (par exemple une liste de transaction entre utilisateurs). Vous pouvez voir le bloc comme un état d’une base de données qui va se mettre à jour à un intervalle régulier.

Bloc

La blockchain

La blockchain (chaine de bloc en français) dépends des deux éléments précédent (hash & bloc) et d’une notion supplémentaire: le temps.

Le temps va être déterminé par un intervalle (par exemple 10 minutes pour Bitcoin) pendant lequel des données pourront s’enregistrer dans un bloc (appelé bloc courant). Lorsque l’intervalle se termine, l’ensemble des données stockés dans le bloc sont validées par un mécanisme, une fois le bloc validé, un nouvel intervalle commence avec un nouveau bloc.

L’origine du terme blockchain vient du fait que chaque nouveau bloc créé va être référencé par au rapport au bloc précédent, on dit alors que cet ensemble forme une chaine de bloc (blockchain).

Blockchain

Un système décentralisé

Pour que chacun d’entre nous puisse avoir accès avec le plus de fiabilité possible, le système fourni une copie de la blockchain à tous les ordinateurs connectés au réseau, lorsqu’un bloc arrive au bout de son intervalle puis est validé, la nouvelle copie de la blockchain est distribuée à tous les ordinateurs connectés sur le réseau.

Cela permet de garantir une disponibilité du système inégalée, en preuve un lien qui donne le downtime du réseau bitcoin depuis le 3 Janvier 2009, il affiche un uptime de 99,99% avec une coupure totalisant environ 15h depuis sa mise en route, en comparaison Google affiche un uptime de 99,99% avec un downtime d’environ 9H par an :

https://www.buybitcoinworldwide.com/bitcoin-uptime/

Le token

Dans la blockchain, il est important de comprendre que l’on parlera souvent de token, mais c’est quoi ? C’est la même chose qu’une monnaie qu’on utilise au quotidien, mais dans le monde numérique.

Prenons l’exemple de l’euro, actuellement nous sommes dans un contexte d’inflation (décidé par quelques personne à la BCE), la banque centrale européenne a fait tourner la planche à billet pendant trop longtemps et trop d’argent d’un coup a été imprimé (suite au COVID). Regardez la différence d’impression monétaire entre 2018 et 2019 :

Impression monétaire de l’euro

Cela conduit à ce que les prix augmentent car trop de masse monétaire est mise en circulation, de plus la monnaie perds de la valeur car elle est moins rare.

C’est particulièrement sur ce point que le Bitcoin se démarque, depuis le début, tout le monde sait que le maximum de masse monétaire disponible sur le réseau sera de 21 000 000 de Bitcoin, c’est la différence fondamentale ! Car cela veut dire qu’une poignée de personne ne pourra pas décider de la politique monétaire à appliquer puisque cette politique monétaire est codée par un algorithme.

Comme pour la monnaie physique, la valeur que peut avoir un Bitcoin dépends de la confiance que les personnes lui accordent, simplement, comme la technologie est encore récente et que ce n’est pas encore très régulé, la monnaie numérique est victime de spéculation, la valeur que les gens lui accordent est variable, et ça varie vite, très vite. Pour conclure, la notion de token est la même chose qu’une monnaie physique mais dans le monde numérique.

Token

Conserver un historique de transactions

Pour que le système soit complet, il faut que l’historique de transactions soit consultable par tous et à tout moment. C’est sur ce point particulier que la blockchain se démarque.

A mon sens, et avec un avis purement personnel, la technologie blockchain à largement plus de potentiel dans la gestion de la traçabilité que dans la gestion d’actifs financier. C’est un atout gigantesque pour qu’une entreprise puisse montrer pâte blanche sur un processus de fabrication, puisqu’une fois que les données sont inscrites sur la blockchain, elles sont immuables et non modifiables (ce qui est une sécurité fournie par l’architecture de la technologie).

Historique de transactions

Mécanisme de validation (ou consensus)

Il existe différents mécanisme de validation (appelés consensus) pour les blocs, je n’aborderai ici que le mécanisme du réseau bitcoin, mais si ça vous intéresse : Mécanisme de consensus

Comme j’expliquais plus tôt, le système de blockchain émet des blocs à intervalle régulier, 10 minutes pour Bitcoin.

Lorsque les dix minutes sont écoulées, nous avons besoin d’un mécanisme qui va certifier que les données à distribuer à tout le monde soit intègres.

Pour cela, on va demander aux ordinateurs sur le réseau (et qui veulent bien le faire), de prêter de la puissance de calcul pour résoudre une sorte de “puzzle“.

On attribue une difficulté à ce puzzle (basé sur les nombre de demandes de transactions), s’il y a beaucoup de demande, c’est un puzzle de 1000 pièces, si la demande est quasiment inexistante, c’est un puzzle de 100 pièces.

Après avoir attribué la difficulté, on va demander à tous les ordinateurs connectés sur le réseau (et qui prêtent de la puissance de calcul) de résoudre le puzzle. Le premier ordinateur à résoudre le puzzle valide le bloc, on dit qu’il le “mine“.

En contrepartie, l’ordinateur qui a prêté sa puissance de calcul pour résoudre le puzzle est récompensé par la blockchain (gain de token).

Pour que le système soit pérenne dans le temps, il est récompensé lorsque des tokens sont générés à chaque nouveau bloc, mais également par un paiement d’une partie des frais de transactions consommés pendant la génération du bloc.

En effet, comme dans le système traditionnel, chaque transaction entre individu se voit appliquer des frais de transactions, frais qui sont en partie redistribués aux mineurs de blocs. Cela permet de pérenniser le système et de favoriser l’ensemble de l’écosystème à maintenir le système intègre (quel est l’intérêt de gagner de la cryptomonnaie, si elle s’effondre car quelqu’un de malveillant à réussi à casser le système).

Conclusion

Pour conclure, il faut bien comprendre que l’idée de la blockchain est de redonner du pouvoir directement aux personnes, sans avoir à dépendre d’un tiers de confiance, tiers de confiance souvent piloté par un humain, qui pourrait être défaillant dans la gestion monétaire.

Avec la blockchain, ce problème est terminé, car un algorithme n’a pas d’émotion. Reste à savoir : Qui écrit l’algorithme ?

Dans la partie 2 consacrée à la blockchain, nous aborderons les limites de la blockchain Bitcoin et les idées qui ont émergées pour palier à ce problème. On parlera d’Ethereum et de Smart Contract !

A bientôt !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *