Introduction à la blockchain et aux cryptomonnaies

Rétrospective

Dans ce cours sur la technologie blockchain, nous prendrons en exemple Bitcoin par simplicité, et primauté historique.

Bitcoin est un protocole d’échange de valeur, aussi appelé crypto-actif, ou cryptomonnaie. Sa particularité est d’être décentralisé. Il est à l’image des idées de l’école autrichienne d’économie ( visant à rendre impossible à une autorité centralisée toute intervention ).

Pourtant, les initiatives de création d’argent numérique ont été légions depuis les années 70.
On peut citer B-Money ( en 1998 ) ou Hashcash ( env. 1990 ).

Satoshi Nakamoto ( : un pseudonyme, l’équivalent de “Jean Dupont” pour les japonais ), l’inventeur du Bitcoin a publié son “livre blanc” ( l’explication technique ) en 2008, et l’implémentation ( un logiciel : le “bitcoinCore” ) en 2009.
Il résout un problème bien connu de l’informatique jusqu’alors : la double dépense, et permet à qui le souhaite de participer à son projet.
Satoshi Nakamoto disparaît en 2010. Ce qui laisse sa création dans les mains des volontaires, qu’ils soient simples usagers, développeurs, ou même « mineurs » (mais nous verrons cela un peu plus loin ).

À ce jour, Satoshi n’est pas identifié, et n’a pas donné signe de vie.

Fonctionnement de la blockchain BTC

Une chaîne de bloc ( ou “blockchain” en anglais ) est simplement un registre, une base de donnée distribuée et organisée par ordre chronologique. Vous pouvez le voir comme un immense tableau, qui contient des données irrévocables, et auquel on ne peut que ajouter des nouvelles données.

Les participants partagent une base de donnée identique, et se mettent d’accord sur les évènements.

Mais que contient une chaîne de bloc ?

Vous l’aurez compris, tout dépend de la chaîne de bloc. Dans le cas de Bitcoin, ce registre de plus de 300 Go contient essentiellement les transactions elles-mêmes, donc des « pièces » ou « jetons » appelés bitcoins, et des adresses qui en sont propriétaires. Il existe d’autres usages, plus ou moins détournés, nous les verrons en annexe de ce cours.

En plus des transactions, qui composent le corps de chaque “bloc”, il existe un entête, qui permet de dater un bloc, et qui fait référence au bloc précédent.

Pour Bitcoin, la durée d’un bloc est de 10 minutes environ. Donc toutes les 10 minutes, chaque serveur participant au réseau ( on appelle ça un “nœud” ou « validateur » ) est obligé de se mettre d’accord avec tous les autres nœuds, de ce qu’il vient de se passer sur le réseau, afin de le figer dans la base de donnée distribuée : c’est le consensus.

Tous les nœuds possèdent l’entièreté des évènements passé : la transparence est totale. Ce qui explique partiellement la grande confiance des usagers.

Vous imaginez bien qu’il ne peut pas y avoir une quantité infinie de transaction en 10 minutes, il faut donc sélectionner celles qui vont être ajoutées.

La mempool, un système d’enchères

La mempool ( pour « piscine mémorielle » ) contient toutes les transactions qui n’ont pas encore abouties. Afin de limiter les attaques par saturation du réseau, l’idée de Satoshi était de faire payer des frais lors d’une transaction.

Puisque le réseau est transparent, on peut connaître à tout instant la surcharge du réseau. Cela peut servir à estimer le temps de validation d’une transaction et y ajuster les frais selon les besoins. Certaines interfaces permettent de fixer manuellement le prix, d’autres font une moyenne ou un taux fixe, chaque implémentation est libre de faire ses choix.

NB : Une transaction et ses frais ne sont pas forcément proportionnels : en période de forte utilisation du réseau, les frais augmentent, et redescendent quand il se calme.

Vous pouvez observer la mempool de Bitcoin en temps réel sur : https://mempool.space/fr/

Une monnaie déflationniste

L’algorithme du logiciel de Satoshi défini la manière dont les bitcoins sont générés.
Puisque tout est transparent, tous les participants peuvent observer si ce paramètre est respecté.
Ainsi, il a été écrit qu’une récompense de 50 bitcoins sera généré pour chaque bloc. Cette récompense est attribuée à la personne qui a généré ce bloc.
Elle est divisée par 2 tous les 4 ans ( c’est le halving ). Un jour, cette division par 2 n’aura plus de sens puisque arrondi à zéro, il n’y aura donc plus de nouveaux bitcoins.
En l’an de grâce 2140 environ, avec 21 millions d’unités minées au total.

C’est un point important pour les usagers qui veulent stocker de la valeur et/ou se protéger de l’inflation.
Chaque cryptomonnaie possède ses paramètres d’émissions, et certaines règles sont faites pour ne pas être transgressées. Quelques cryptomonnaies pratiquent même le « burn » ( comprenez destruction ) de jetons pour maîtriser l’inflation, ou augmenter le prix des pièces.

Un détail technique supplémentaire : chaque bitcoin peut se diviser en 100 millionième, soit 0,00000001 BTC = 1 satoshi.

La Preuve de Travail

Pour remporter la récompense d’un bloc, il faut résoudre un problème mathématique, et le faire valider aux autres participants en premier. C’est un mécanisme de consensus.

Ce problème mathématique peut être visualisé comme une sorte de loterie géante. Chaque nœuds génère une grande quantité de tickets perdants, jusqu’à ce qu’un heureux chanceux déclenche l’adoption d’un nouveau bloc.

Cette opération est très coûteuse en énergie ( qui peut être faite à la main ). C’est la « preuve de Travail » ( Proof of Work ) : tout le monde peut y participer. Seulement ceux qui ont une puissance de calcul conséquente peuvent espérer remporter la récompense. Plus il y a de participants, plus la blockchain est décentralisée, et donc la robustesse et la confiance.

Hors sujet : Ce coût énergétique a été considéré comme un gage de sécurité pour les partisans du bitcoin, et comme une aberration énergétique par certains cryptographes qui ont conçu une alternative, appelée Preuve d’Enjeu, déjà implémentée dans d’autres cryptomonnaies.

Les mining pools

Les « mineurs » sont les personnes qui maintiennent ces machines. Par souci de rentabilité, il est « normal » de se réunir à plusieurs. Cela permet d’augmenter les chances de gain, afin de les répartir proportionnellement au travail fourni par chacun.

Sur https://btc.com/stats/pool on peut observer les pools qui ont le plus de hashrate. Comprenez que c’est celles qui génèrent le plus de tickets de loto.

Décentralisation et majorité

La décentralisation est un autre point fort du Bitcoin : il n’est sous l’autorité d’aucun état, d’aucune entreprise. C’est un bien collectif, qui permet de se passer d’un tiers de confiance.

Lorsque les mineurs se rassemblent, ils structurent le réseau différemment.

La décentralisation implique que la majorité (51%) possède un pouvoir de décision. Il est possible que deux nœuds se contredisent pendant un court moment : c’est la majorité qui tranchera. Si 51% des mineurs ( en puissance de calcul ) se réunissent ils pourraient essayer de manipuler le réseau.

Posséder 51% du réseau permet de « tenter » une double dépense. Ça ne permet pas de réattribuer, ou mélanger des données que vous ne contrôlez pas. C’est une attaque très coûteuse et très technique. C’est une faiblesse si les mineurs se rassemble trop. La majorité des mineurs sont normalement sensibilisés à cet enjeu.

Estimations du coût horaire d’une attaque 51%, par cryptomonnaie qui fonctionne en preuve de travail : https://www.crypto51.app/

Si vous ne devez retenir que deux choses sur la décentralisation et la preuve de travail :

  • Si c’est décentralisé, alors il y a forcément une possibilité d’attaque à 51%
  • C’est le rôle de la preuve de travail que de coûter cher pour empêcher des manipulations malveillantes.

Les portes monnaies

Afin de garantir la sécurité de Bitcoin, on utilise un mécanisme de clés publiques & clés privées, appelé « cryptographie asymétrique ». Une invention des années 70, très robuste & plutôt ergonomique si utilisée correctement.

Sous ce nom barbare, le concept est simple. Grâce à la magie des mathématiques, une clé publique, aussi appelé adresse, dérive d’une clé privée. La clé privée permet de s’authentifier, donc d’effectuer des transactions. L’adresse publique permet de vérifier que les fonds sont présents sur un compte, ou de sélectionner le destinataire d’une transaction.

Ci-dessus ce sont les deux phrases les plus importantes de ce cours : la clé privée doit rester privée. Il ne faut pas la perdre. Si vous ne possédez pas la clé privée liée à vos bitcoins, c’est qu’ils sont sous l’autorité de quelqu’un d’autre. Et vous ne profitez pas de la sécurité/décentralisation du réseau. vous faites confiance. Dans le milieu, on dit « Not your keys, not your cryptos !« 

Il existe certains mécanismes qui font dériver une clé privée d’une série de mots ou d’une phrase ( appelés seedwords ou seedphrase ). Ceci afin de pouvoir mémoriser/noter autrement une clé privée. Avec sa seedphrase, on peut retrouver sa clé privée. Avec sa clé privée, on peut retrouver l’adresse. /!\ L’inverse est impossible. /!\

Dans le jargon, on appelle « wallet » la paire d’une clé privée et d’une adresse.
Pour voir comment créer un wallet bitcoin et quelques un des formats courants, ici : https://walletgenerator.net/ ou là : https://www.bitaddress.org

Un utilisateur averti préférera générer un wallet sur un ordinateur en dehors de tout soupçon de compromission. Idéalement hors ligne, a l’abri des regards indiscrets, etc… Il veillera à sa clé privée comme à son magot lui-même : on ne donne sa clé privée sous aucun prétexte…

Pour finir…

Pour ne pas trop surcharger cette note qui a vraiment pour but une introduction, nous nous arrêterons là.
Si vous avez correctement intégré le dernier chapitre, vous pouvez désormais devenir un utilisateur de cryptomonnaies. Gardez en tête que chaque cryptomonnaies a ses propres variations, usages, et son propre fonctionnement.

La technologie de la blockchain à attiré de nombreux chercheurs, universitaires, académiciens, passionnés, amateurs, opportunistes, etc… faites le tri & vos recherches avant d’investir, et n’investissez jamais plus que vous ne pouvez vous permettre de perdre. L’émergence de cette technologie génère une forte volatilité, même dans un marché porteur, il y a des perdants.

Si vous voulez en apprendre plus sur les implications sociétales, voir ici

Si vous voulez mieux comprendre le fonctionnement technique de la preuve de travail, ce qu’est un hash, l’ajustement de la difficulté et autres détails techniques, voir ici

Pour lire la suite, sur Cardano, voir ici.