Bitcoins, Blockchain, c’est quoi ?

Compte rendu d’un "Café techno"

Bitcoins, Blockchain, c’est quoi ?

Compte rendu d’un "Café techno"

Dans le cadre de son stage "Mise en résilience d’outils d’orchestration Cloud à l’aide de technologies blockchain", Rémy Grunblatt de l’ENS Lyon a assisté au Café techno du jeudi 23 juin 2016 « Bitcoins, Blockchain, c’est quoi ? » présenté par Jean-Paul DELAHAYE Professeur émérite, Université de Lille 1

Monnaies cryptographiques & blockchains

Le ton de la présentation de Jean-Paul Delahaye est donné d’emblée : selon lui, « Il n’y a qu’une seule vraie blockchain qui fonctionne bien, c’est Bitcoin » : la monnaie Bitcoin est d’ailleurs celle qui introduit le terme de blockchain. D’après le chercheur, s’intéresser aux blockchains, c’est donc d’abord s’intéresser au Bitcoin et à son fonctionnement, même si il est possible par la suite d’envisager des variations, des simplifications, des évolutions. Delahaye possède un point de vue assez libre sur le Bitcoin : pour lui, c’est quelque chose d’intéressant, d’important, mais il n’a personnellement pas investi dans le Bitcoin. Il en fait cependant la promotion de manière régulière sur internet [1] [2]. Durant la conférence, il ne traite pas les questions « d’ordre moral » que sont le blanchiment d’argent et autres activités illégales que le Bitcoin faciliterait, ni la qualification de pyramide de Ponzi [3].

Historique

Le Bitcoin a été introduit par Satoshi Nakamoto (pseudonyme) en 2008, dans un papier de recherche publié sur internet [4]. Il s’agit d’une monnaie autonome, décentralisée, et qui n’est pas contrôlée par une autorité centrale (à l’opposé des monnaies classiques, comme l’euro ou le dollar, qui sont contrôlées par des banques centrales et des gouvernements). En utilisant les protocoles, les algorithmes et la structure décrite dans ce document, la crypto-monnaie Bitcoin est mise en fonctionnement le 3 janvier 2009, et fonctionne depuis lors. Malgré quelques crises, comme l’affaire de la plateforme d’échange Mt. Gox piratée en 2014 [5], la monnaie se porte bien et reste robuste 7 ans après son introduction. Même si on associe souvent Bitcoin à des activités illégales sur internet, ces usages ne sont pas différents de ceux que l’on peut avoir de l’argent liquide (usage anonyme). Delahaye insiste sur ce point : les usages illégaux qui sont “facilités” par le bitcoin sont un problème à régler par des lois, au niveau sociétal, et non pas au niveau technologique, par exemple dans le protocole de communication.
Même si la monnaie Bitcoin est immatérielle, elle possède bien une valeur : au 21 juin 2016, 1 bitcoin s’échangeait contre 590€, et plus de 15 millions de bitcoin sont en circulation aujourd’hui. Cela représente environ 9.2 milliards d’euros, avec un cours qui évolue de manière plus ou moins régulière (Figure 1). C’est beaucoup, mais c’est également peu quand on compare ces 9.2 milliards d’euros à la valeur des billets en euros en circulation dans le monde, valeur estimée fin décembre 2015 à 1083 milliards d’euros.
Le cours du bitcoin a beaucoup évolué depuis son introduction, il y a eu un effet spéculatif « indéniable » d’après le chercheur mais « une certaine confiance est restée ». Comme les autres monnaies, aujourd’hui la valeur du Bitcoin provient du fait qu’on lui accorde un niveau de confiance pour les échanges. Notons que le Bitcoin représente 85% de la valeur totale de toutes les crypto-monnaies. La crypto-monnaie Ethereum arrive en second, capitalisée à environ 1 milliard de dollars, entre autres à cause de ses capacités plus étendues que Bitcoin : sur Ethereum, il est possible de faire exécuter des programmes complets par les ordinateurs du réseau [6], là où Bitcoin se contente de faire exécuter des vérifications des transactions évoluées (mécanisme de smart-contracts) aux ordinateurs qui constituent les noeuds du réseau de fonctionnement de Bitcoin. Cette plus grande liberté rend cependant l’écriture de programmes plus complexe : une faille dans un programme tiers exécuté sur Ethereum a récemment fait perdre près de $50M à l’organisation The DAO. D’autres crypto-monnaies existent, mais leur usage reste marginal.

Le fonctionnement de Bitcoin est celui d’une monnaie électronique, il repose sur l’écriture de transactions dans une base de données. Là où usuellement, cette base de donnée est contrôlée par une banque et les écritures sont centralisées, dans le cas du Bitcoin ces écritures fonctionnent selon un modèle pair à pair, sans autorité centrale : la base de données est distribuée sur les ordinateurs des volontaires qui composent le système.

Figure 1 : Evolution du cours du Bitcoin depuis son introduction (source : blockchain.info)

Fonctionnement du Bitcoin

Le Bitcoin est analogue à un grand livre de compte public, dans lequel toutes les transactions financières sont visibles par tous. Ce livre de compte fonctionne selon le protocole défini par Nakamoto en 2008. Il est organisé en pages qui rassemblent plusieurs transactions, appelées blocs. Chaque page fait référence à la page précédente sous la forme d’un hash, d’où la notion de chaîne de blocs qui représente l’état du système.

Figure 2 : Portion d’une blockchain ; Chaque bloc fait référence au bloc précédant et stocke des transactions (Tx) (source : Matthäus Wander)

Actuellement, la blockchain de Bitcoin a une taille de 72 Go. Ces 72 Go représentent l’ensemble des transactions financières depuis la création de la monnaie en 2009 : il est possible de suivre le cheminement d’un Bitcoin, transaction après transaction, depuis son introduction, en utilisant cette blockchain.
La sécurisation des transactions se fait à l’aide de cryptographie asymétrique. Chaque compte (n’importe qui peut se créer autant de comptes qu’il le souhaite) est en fait une paire de clef publique et privée : prouver qu’on possède la clef privée à l’aide d’une signature cryptographique, c’est prouver qu’on a le droit d’utiliser l’argent (les Bitcoins) associé à un compte. Garantir qu’on a de l’argent sur un compte, c’est alors apporter la preuve qu’on a plus d’argent qui est rentré sur ce compte que d’argent qui en est sorti : cela est possible puisque le livre de compte est public. Il suffit donc de retracer l’ensemble des transactions associées à un compte depuis l’introduction de la monnaie pour savoir si il y a de l’argent sur ce compte.

Plusieurs acteurs participent à ce protocole :

  • Les full nodes, qui sont entre 5000 et 6000 : il s’agit de machines qui possèdent l’ensemble du livre de compte, et qui surveillent son état à chaque instant. La défaillance de quelques machines n’impacte donc pas le réseau : cette réplication permet d’augmenter la résilience.
  • Les mineurs, dont le nombre exact est inconnu, qui sont de l’ordre d’une centaine de milliers : il s’agit de machines qui effectuent des calculs pour sécuriser la blockchain. Pour inciter à la surveillance des transactions, ce qui nécessite des calculs coûteux, une récompense sous la forme d’argent est attribuée aléatoirement à l’un des mineurs toutes les 10 minutes. Un mineur qui gagne le jeu ajoute une nouvelle page de transaction à la fin du blockchain et gagne la récompense : c’est par ce mécanisme que les transactions sont prises en compte ; les calculs effectués sont appelés preuve de travail (proof-of-work). Comme un mineur malhonnête ne peut pas contrefaire des transactions, un mineur malhonnête qui gagne le jeu ne peut, dans le pire des cas, que ralentir temporairement le réseau en refusant d’écrire des transactions dans le livre de compte.
  • Les simple utilisateurs de la monnaie Bitcoin : ils dépensent et reçoivent des paiements en Bitcoin. ils n’ont pas à télécharger l’ensemble du livre de compte ni à effectuer des calculs coûteux pour utiliser la monnaie.

En bref

Le Bitcoin, c’est un registre public partagé, ouvert (n’importe qui peut se créer un compte), infalsifiable (à moins de casser la cryptographie moderne), indestructible (à moins de détruire les 6000 full-nodes autour du monde en même temps) composé de “blocs” successivement validés, datés et conservés par ordre chronologique. Ce registre peut être utilisé pour la monnaies, mais aussi pour d’autres applications, notamment puisqu’il est possible d’ajouter des petits messages associés à des transactions :

  • Dépôt d’informations datées (comme des brevets ou des mains-courantes), avec des informations qui peuvent être chiffrées, signées (ou pas).
  • Courrier électronique infalsifiable et indestructible.
  • Certificats de propriété, cadastres, engagements, opérations financières, systèmes de votes, certificats d’antériorité, jeux prouvablement équitables, paris, ...
  • Smart contracts : Les blockchains, en particulier du Bitcoin, permettent de réaliser des transactions évoluées, qui nécessitent par exemple d’être signées par N signatures parmi M pour être prises en compte. Cela permet notamment de créer des comptes partagés où il faut un accord de la majorité pour pouvoir dépenser de la monnaie. D’autres crypto-monnaies, comme Ethereum, permettent d’exécuter un langage turing-complet [6] sur ce livre de compte partagé et distribué, qui devient alors un ordinateur partagé et distribué.

Rémy Grunblatt

[1] J.-P. Delahaye, “Plaidoyer pour le Bitcoin.” 2013.

[2] J.-P. Delahaye, “Le Bitcoin , première crypto-monnaie,” pp. 67–104, 2009.

[3] J. M. Trugman, “Welcome to 21st-century Ponzi scheme : Bitcoin,” New York Post, vol. 15, 2014.

[4] S. Nakamoto, “Bitcoin : A Peer-to-Peer Electronic Cash System,” www.Bitcoin.Org, p. 9, 2008.

[5] R. Villar, S. Knight, and B. Wolf, “Bitcoin exchange Mt. Gox goes dark in blow to virtual currency,” Reuters, 2014.

[6] G. Wood, “Ethereum : a secure decentralised generalised transaction ledger,” Ethereum Project Yellow Paper, 2014.