II. AUDITIONS DU 28 MARS 2018

1. Mme Emmanuelle Anceaume, chargée de recherche en informatique (IRISA-CNRS)

Emmanuelle Anceaume rappelle que la blockchain est très fortement liée au bitcoin, qu'elle qualifie de « monnaie virtuelle qui ne repose sur aucune entité de confiance ou de contrôle », dont toutes les transactions sont stockées dans un registre public ( public ledger ) que chacun peut auditer pour en vérifier l'intégrité.

Différents types d'utilisateurs

- un utilisateur peut faire des transactions et n'avoir pas téléchargé le client bitcoin, il n'est pas noeud du système ;

- un utilisateur peut faire des transactions et avoir téléchargé le client bitcoin, il est noeud du système et peut ne pas vérifier systématiquement la validité de la blockchain ;

- un utilisateur peut faire des transactions et avoir téléchargé le client bitcoin, être donc noeud du système et vérifier systématiquement la validité de la blockchain ;

- un utilisateur peut être mineur, et tenter de résoudre les algorithmes de hash pour obtenir des blocs à ajouter au système.

Pour être tout à fait certain que ses transactions sont effectuées, un utilisateur devrait vérifier la validité de la blockchain en tout temps (à chaque ajout de bloc).

Transactions

Toutes les transactions qui ont été créées depuis 2009 doivent être conservées dans la blockchain , elles y restent ad vitam aeternam .

Concrètement, dans une transaction sur le réseau Bitcoin il est inscrit :

- le compte d'Alice ( input address ), c'est-à-dire l'adresse Bitcoin d'Alice et les codes des satoshis qu'elle envoie ;

- le compte de Bob ( output address ), c'est-à-dire la clé publique de Bob et les satoshis qu'il reçoit ;

- les frais de transaction, c'est-à-dire les satoshis qui seront donnés au mineur du bloc dans lequel sera intégrée la transaction.

Ceci signifie notamment que l' output est toujours plus petit que l' input, puisqu'on lui soustrait les frais de transaction. Un compte est toujours entièrement débité lorsqu'il est mis en entrée d'une transaction, c'est donc un « objet cryptographique » à usage unique .

Dans le bitcoin on veut juste savoir qu'une entité qui a créé un compte est bien la seule à avoir pu fournir une transaction, pour conserver la confiance dans le système, c'est pour cela qu'on utilise une clé publique que chacun peut vérifier.

A l'inverse, il n'y a qu'une seule personne qui peut recevoir la transaction, celle qui possède la clé privée de l'adresse de réception (qui est une clé publique). Il est conseillé de créer un nouveau compte de réception ( output address ) pour chaque transaction que l'on fait, par souci de confidentialité. Il n'est en effet pas compliqué de créer une paire clé privée-clé publique , il est possible d'en créer une infinité sans avoir besoin de les faire enregistrer par une entité tierce.

Un portefeuille de clés privés ( wallet ) référence toutes les clés privées d'un utilisateur et les clés publiques auxquelles elles réfèrent, c'est-à-dire tous ses comptes. En d'autres termes, cela lui permet d'accéder à toutes ses transactions reçues, pour éventuellement les dépenser en les envoyant vers une autre adresse de réception.

Sur chaque compte est inscrite la preuve de possession du satoshi précédent, c'est-à-dire qu'il réfère à la transaction précédente. Cette preuve consiste en une signature électronique de la transaction précédente. De transaction en transaction il est possible de remonter à l'origine de la création du satoshi et donc de vérifier qu'il n'y a pas de double dépense.

Vérifications

Pour faire effectuer les différentes étapes de vérification, le bitcoin utilise un langage de script très simple, qui s'appelle justement Script . C'est un langage à pile , on entasse les instructions dans un ordre donné, puis le récepteur les exécutera dans l'ordre inverse.

Lorsque Bob reçoit une transaction, il va exécuter ces instructions. C'est-à-dire copier la clé publique, puis réaliser son hash à deux reprises et vérifier qu'elle est conforme. Si c'est le cas, cela signifie que les satoshis envoyés correspondent bien à l'émetteur, on marquera alors le compte émetteur comme vide, et le compte récepteur comme plein.

Cela rend la double dépense impossible : une fois qu'un compte est marqué quelque part sur la blockchain comme vide, il ne pourra plus jamais être utilisé .

Preuve de travail et minage

Elle a un triple intérêt pour le bon fonctionnement du protocole :

- limiter l'apparition sur le réseau de deux blocs concurrents au même moment ;

- donner au bitcoin les caractéristiques d'une monnaie en garantissant sa rareté et la stabilité de son émission ;

- se prémunir des attaques Sybil .

Emmanuelle Anceaume décrit ensuite les modalités de la preuve de travail. Elle explique notamment que chercher un certain nombre de 0 en début de hash revient à faire une inversion partielle du hash. Une fonction de hashage ou un algorithme de chiffrement sont des primitives cryptographiques .

Si l'on crée un bloc qui est valide, les mineurs vont se mettre à travailler dessus. Toutefois, ce n'est pas parce qu'on a obtenu un bloc qui est valide que l'on reçoit ses 12,5 bitcoins, il faut qu'il y ait 100 blocs en plus pour que la transaction soit validée.

Il arrive que deux blocs soient créés concomitamment. Les mineurs vont alors partir sur la branche la plus longue, ou plus précisément sur celle qui a demandé le plus de travail . À partir du moment où un adversaire ne bénéficie pas de plus de 51 % de la puissance de calcul, personne ne peut espérer construire une chaîne sur un autre bloc plus rapidement.

Un arbre de Merkle est le nom donné à une suite de blocs de données qui comportent chacun le hash du bloc précédent. Le dernier hash est appelé racine de Merkle ( Merkle root ). Le bloc originel, au début de la blockchain , est appelé bloc de Genèse ( Genesis block ).

La preuve d'enjeu consomme moins d'énergie mais demande de prendre en compte très finement la dynamique des échanges si l'on veut éviter une dérive capitalistique.

Distinctions publiques/privées

Emmanuelle Anceaume distingue trois catégories de blockchains :

- la blockchain publique (permissionless) est ouverte à tout le monde, lisible par tous ;

- la blockchain de consortium, qui n'est pas ouverte, seules certaines entités ont le droit de lire et d'écrire. Puisqu'elles se connaissent, elles n'ont pas besoin de preuve de travail ;

- la blockchain fermée (permissioned) est maintenue par une entité identifiée. Pour Emmanuelle Anceaume, ce principe de chaîne de blocs existe toutefois depuis les années 90 . L'intérêt d'une « blockchain privée » est simplement de permettre un horodatage, avec la preuve qu'une transaction est arrivée avant ou après une autre.

Algorithmes de consensus byzantin

Dans le modèle le plus simple, tout le monde est honnête, SI=on me dit 1 ALORS= je fais 1. Dans un modèle plus complexe, il existe des entités malignes qui veulent dévier le consensus de l'algorithme. Les modèles tolérants à ces entités malignes sont appelés algorithmes byzantins. Le modèle Bitcoin en est un, grâce à la preuve de travail.

Une des solutions classiques est appelé PBFT (Practical Byzantine Fault Tolerance) et permet de garantir le fonctionnement malgré un tiers de comportements malveillants.

2. M. Simon Polrot, avocat, fondateur d'Ethereum France et de VariabL

Simon Polrot a pour objectif de donner un panorama des différents projets blockchain , au-delà du bitcoin. Il commence par rappeler les objectifs de la blockchain et la définit comme un registre d'identifiants et de transactions, distribué entre les participants et sécurisé par un protocole de consensus qui valide les nouvelles transactions .

Distinctions publiques et privées

Selon lui, la distinction entre privées et publiques tient à l'ouverture, à l'identification des acteurs et à l'exercice ou non d'un contrôle, mais aussi à l'utilisation ou non d'une cryptomonnaie comme méthode d'incitation .

Minage

Le minage est un terme relativement impropre qui qualifie un processus par lequel les participants au réseau se mettent d'accord sur le dernier état de la blockchain .

La preuve de travail sur Ethereum permet de produire un bloc toutes les 15 secondes . La preuve d'enjeu est une mise en gage d'une somme en cryptomonnaies . Il existe des systèmes où l'on désigne des validateurs avec des votes et qui sont donc semi-centralisés.

Placer une limite haute pour la mise en gage permettrait certes d'éviter qu'un acteur s'accapare plus de 50 % du réseau, mais rendrait aussi plus facilement envisageable une attaque Sybil car on pourrait aisément en calculer le coût.

La blockchain privée est-elle une blockchain ?

La blockchain privée résout des problèmes d'infrastructure entre des parties prenantes qui ne font pas confiance à un organe centralisé . En termes sociétaux, la blockchain publique est plus intéressante à étudier car elle a beaucoup plus d'impact.

Nakamoto ne parlait même pas de blockchain , il n'utilise pas le terme dans son papier. Pour lui, l'innovation résidait dans un réseau qui échappe aux autorités.

Typologie de blockchains

Il existe différents usages et degrés d'utilisation de la blockchain , avec par ailleurs différents niveaux de sérieux.

1. Blockchains enregistrant des transactions simples en cryptomonnaies

Ex : Bitcoin, Bitcoin Cash, Litecoin ou deCRED.

Ce sont les plus éprouvées, les premières en termes de montant financier et les deuxièmes plus utilisées en termes de transactions, à ce jour.

2. Blockchains permettant d'émettre des actifs numériques ( tokens ) et de les échanger (plateforme blockchain )

Ex : Nem, NXT, Ardor.

Ces projets ont pour objectif de créer des nouveaux types d'actifs. Ils ont un usage marginal car ils sont d'une utilisation complexe.

3. Blockchains « nom de domaine »

Aujourd'hui le lien IP-nom de domaine est centralisé ; lorsque le serveur tombe en panne, le site tombe. Les registres de nom de domaine permettaient de sécuriser des URL mais ces projets ont quasiment disparu.

4. Blockchains « anonymes »

Ex : Monero, Zotero.

Ils permettent d'effectuer des transactions intraçables sur un registre distribué, avec des opérations cryptographiques très lourdes. Ils ne fonctionnent qu'à très petite échelle car les temps de calcul sont très importants.

5. Technologies décentralisées de stockage distribué

Ex : Storj.io, Sio, Filecoin...

Ce ne sont pas des blockchains à proprement parler et elles sont beaucoup moins efficaces qu'un hébergement centralisé.

6. Blockchains parodiques ou arnaques

Ex : Bitconnect, OneCoin, Dodgecoin...

Créées dans un but humoristique, ou pour mettre en place des arnaques à grande échelle.

7. Blockchains programmables

Ex : Ethereum, Tezos, Neo...

Au lieu d'avoir des instructions de script simples, comme le bitcoin, ces blockchains peuvent supporter des actions exécutables complexes. Ces programmes ont les caractéristiques des blockchains : publiques et vérifiables.

Smart contracts

Les smart contracts sont exécutés sur la blockchain , ils permettent de prévoir l'exécution forcée d'un contrat dès lors que ses conditions sont remplies . Pour cela il faut que toutes les composantes du contrat soient sur la blockchain . L'oracle renseigne les informations nécessaires à déclencher le smart contract .

Les deux intérêts du smart contract sont l'exécution forcée d'un « contrat » et l'auditabilité du code . Exemples d'utilisations : contrats avec contrepartie financière, registre, token , ICO, OAD, dApps.

Les smart contracts peuvent effectivement permettre de déployer un registre sur la blockchain , ce registre peut s'administrer comme une base de données, donc avec une certaine rapidité.

dApps

Les dApps sont des applications d'Ethereum fonctionnant grâce à des programmes inscrits sur la blockchain , elles sont en réalité semi-décentralisées car elles nécessitent l'intervention d'un tiers.

Organisations autonomes décentralisées

Une DAO est une société dont toutes les règles de fonctionnement seraient inscrites sur la blockchain . Des smart contracts y administrent le dépôt de proposition, le vote, le paiement, les nominations...

Le projet le plus ambitieux à ce jour s'appelait TheDAO , il a échoué suite un piratage dû à une faille dans le code, qui a conduit à la perte de l'équivalent de 50 M$ en ethers. Cette perte représentait 5 % des ethers et a obligé à créer une hard fork , c'est-à-dire un retour de la chaîne Ethereum à un état antérieur.

Les DAO présentent-ils un risque de disparition de l'État ? Au moins du point de vue fiscal ?

Si toute la comptabilité d'une société est sur une blockchain , elle ne peut rien modifier après coup et ne peut rien cacher. C'est pourquoi, selon Simon Polrot, les DAO ne semblent être une menace ni pour les États, ni pour les institutions.

3. M. Pierre Porthaux, président de Blockchain Solution et d'EmergenceLab

Pierre Porthaux est ingénieur informaticien, titulaire d'un double diplôme de finance, il a travaillé plusieurs années dans le trading. Il dirige actuellement deux sociétés, Blockchain Solution, sa société de conseil et EmergenceLab, avec laquelle il a vendu une plateforme blockchain à un fond d'investissement.

Il concentre son intérêt sur le bitcoin car il est assez sceptique sur les potentialités des autres blockchains . Après un bref rappel historique sur le bitcoin et les motivations de Satoshi Nakamoto (circuit monétaire ouvert à tous, sans frontières et incensurable), il rappelle le fonctionnement élémentaire de la blockchain .

Selon Pierre Porthaux, dans le bitcoin « l'innovation c'est le consensus décentralisé, pas la blockchain » . L'idée de lier des blocs entre eux grâce à leur hash préexistait au bitcoin et est même très répandue (pour les dossiers de fichiers ou les git, par exemple).

Il vaut mieux utiliser le terme de registre plutôt que de base de données, car ce second terme a une acceptation précise et distincte en informatique.

Principes régissant le bitcoin

Bitcoin résulte de la combinaison de la théorie informatique (réseaux pair à pair et cryptographie) et de la théorie des jeux (incitations pour les mineurs à sécuriser le réseau).

Le bitcoin serait le seul jeu où l'on a intérêt à jouer dans les règles, celui qui ne joue pas dans les règles va non seulement ne pas gagner d'argent mais aussi en perdre (en dépensant de l'énergie en vain). Pour Pierre Porthaux, il ne peut y avoir de sécurité au système qu'en présence d'une cryptomonnaie pour récompenser les efforts des mineurs et créer de la compétition.

Changer un paramètre peut rendre le réseau extrêmement instable et il devient alors difficile de prédire comment il peut évoluer, car le système reste complexe. Au fur et à mesure que le système croît il devient de plus en plus solide et les utilisateurs ont de moins en moins envie de prendre des risques en modifiant le code de base .

Reproductibilité du modèle bitcoin

C'est pourquoi, dans le bitcoin le développement prend du temps, les développeurs les plus pressés proposent alors de créer leur propre blockchain ... sur laquelle ils gardent la main. Or, une des raisons de la valeur des bitcoins c'est la confiance qui est accordée au réseau, et celle-ci résulte notamment de l'anonymat de Nakamoto et de l'autonomie du protocole. Les membres du réseau risqueraient d'avoir moins confiance si la blockchain était portée par un ou des développeurs identifiés.

Par ailleurs, les effets réseaux créés par le bitcoin sont extrêmement compliqués à recréer . C'est ce qui fait que les tokens et donc les ICO n'ont pas de valeur, car ils ne s'appuient pas sur une technologie prouvée dont on est sûr qu'elle fonctionnera. Les ICO dont on parle aujourd'hui ne sont pas nouvelles, elles existaient déjà dans les premières années du bitcoin.

Parce que la technologie n'est pas mature, beaucoup de ces ICO doivent être considérées comme des arnaques, avec des levées de fond énormes malgré peu d'informations et des systèmes trop complexes à mettre en oeuvre. Il est très probable que les start-ups qui font des ICO auront du mal au final à être moins chères que d'autres utilisant d'autres technologies, et donc à dégager du profit.

En effet, le système blockchain n'est pas la panacée : « vendre une blockchain c'est bien, vendre une base de données la plus lente et la plus chère au monde, c'est autre chose ».

Sur les protocoles de preuve

La concentration et l'augmentation de la force de travail font partie des dérives qui n'ont pas été anticipées par Sakoshi Nakamoto (qui affirmait « un CPU, un vote »).

Cela dit, le protocole « proof of work » est objectif alors que tous les autres nécessiteront à un moment donné que quelqu'un arbitre les attributions de bloc. Plus fondamentalement, la proof of work est le lien entre le monde thermodynamique et le monde numérique. Ainsi, selon Pierre Porthaux : « On ne peut pas avoir et de la sécurité et des économies d'énergie ».

En résumé, tous les autres protocoles de consensus sont beaucoup plus complexes que celui de Nakamoto, et permettent souvent d'une manière ou d'une autre à une entité de contrôler le réseau. Il y aurait actuellement des investigations pour une proof of work moins énergivore.

Applications extra-monétaires

La blockchain est nécessairement lente car elle est décentralisée , l'information doit donc faire le tour du monde. D'un point de vue d'administrateur réseau, mécaniquement, un système décentralisé prend du temps. Pour la même raison elle est limitée en capacité . Ainsi, l'ajout de lignes de script, pour des smart contracts par exemple, est nécessairement complexe.

Le principal problème des smart contracts reste toutefois la dépendance à des facteurs exogènes, l'entrée de données dans le système. Il est donc nécessaire de réintroduire un tiers de confiance, il n'y a pas de smart contract automatique. Les smart contracts actuels sont donc des applications fonctionnant avec une base de données très lente, sans décentralisation.

« Je revis la même chose que lors de la bulle internet, certes il y a de très bonnes idées mais il faut rester réaliste ».

Blockchains privées

Pour les mêmes raisons de lenteur et de faible capacité, l'intérêt des blockchains privées par rapport à d'autres solutions existantes est fortement discutable . Beaucoup de projets de blockchains privées assez ambitieux se sont finalement rabattus vers les simples usages d'horodatage et d'ordonnancement.

Au-delà de l'aspect monétaire, l'intérêt principal de la blockchain est d'être une horloge universelle non centralisée . La production des blocs marque un rythme unique sur l'ensemble du globe, sans qu'une entité centralisée régisse ce mécanisme. Cette horloge lente est le mécanisme le plus précieux qui soit dans le cadre d'un service décentralisé .

La blockchain avec proof of work présente d'excellents cas d'usage en matière de preuve ou d'acte de notariat. On parlera ainsi de prouvable computing : en stockant dans la blockchain la preuve d'exécution d'une action, une entité est capable de prouver qu'elle a fait telle chose, à tel moment. C'est ce qui permet son utilisation par exemple dans des domaines qui nécessitent de la traçabilité. Valéria Faure-Muntian cite en illustration le cas de la blockchain alimentaire de Carrefour.

A la question de savoir s'il faudrait reconnaître l'opposabilité d'une preuve enregistrée dans la blockchain , Pierre Porthaux émet l'hypothèse que le régime actuel de reconnaissance légale de la signature électronique soit suffisant.

Dépasser les limites

Selon Pierre Porthaux, il existe toutefois des solutions pour dépasser les limites des protocoles de blockchain , mais elles prendront plus de temps à émerger que ce qui est annoncé par les promoteurs de la plupart des applications actuelles.

Internet repose sur des couches matérielles qui ne doivent surtout pas communiquer entre elles, c'est une erreur de placer la blockchain au niveau de la couche applicative alors qu'il s'agit en réalité d'une couche basse. Cela amène à concevoir des applications trop sophistiquées répondant à des logiques directement commerciales, alors qu'il faudrait d'abord s'assurer de la fiabilité et de la solidité d'une blockchain simple .

On peut établir un parallèle avec le rapport Théry qui comparait Arpanet et le protocole X25 (Minitel), en mettant en avant le second. Le protocole X25 était complexe, fermé, difficilement améliorable mais très axé business en proposant ce qu'il pensait être les applications du futur. D'autre part, on trouvait le protocole TCP/IP très « bête » et simple, sur lequel pourront finalement être construites toutes les applications actuelles d'internet.

Ethereum est en quelque sorte le minitel de 2017, il est trop intelligent, pas assez simple et ne permet pas à d'autres couches de se créer au-dessus du protocole existant . À titre d'exemple, concevoir un Uber décentralisé sur la blockchain aurait aussi peu de sens que d'évoquer un Uber décentralisé sur TCP/IP.

Développer des couches va prendre du temps, ainsi en 10 ans d'existence de Bitcoin, il a fallu attendre aujourd'hui pour que se développe la première application (litecoin). Pierre Porthaux n'est pas optimiste quant à l'avenir des solutions applicatives existantes, mais estime qu'à l'avenir d'autres pourront se développer sur une blockchain de base plus rudimentaire. Il est tout à fait possible de construire des réseaux centralisés rapides sur des réseaux décentralisés plus lents, mais pas l'inverse.

Selon Valéria Faure-Muntian, beaucoup des start-ups actuelles proposant des services blockchain sont des sociétés de conseil aux grandes entreprises historiques, qui viennent leur proposer des solutions que celles-ci ne pourront pas intégrer. D'ici quelques dizaines d'années, de nouvelles entreprises ayant intégré ces protocoles dès leur conception viendront détruire les anciennes.

Selon Pierre Porthaux, le secteur serait porté par une génération qui a « raté » le coche d'internet et qui ne veut pas prendre de risque pour cette innovation-là. Il reste que certains des domaines les plus cités sont aussi ceux où l'on se leurre le plus, en particulier dans le secteur bancaire. Ce secteur est en effet soumis à une forte réglementation et les banquiers ont besoin de connaître leurs clients.

La protection des données

La protection des données représente un vrai problème , sauf tant que l'on n'enregistre que les preuves et non les données en elles-mêmes. La blockchain publique du bitcoin n'est pas adaptée pour les problématiques de confidentialité.

Les autres technologies de registres distribués

Beaucoup d'autres modèles de registres distribués ont été des arnaques technologiques, ce fut le cas du projet IOTA. Cette initiative a échoué car la cryptographie n'était pas suffisamment solide, mais le code n'étant pas ouvert il est impossible d'en savoir plus. De manière générale, lorsque le code n'est pas public il faut se méfier. Cela dit, de nouveaux projets vont forcément émerger car le code proposé par Satoshi Nakamoto n'était pas parfait.

Valéria Faure-Muntian conclut en soulignant l'enjeu pour la mission de baliser entre informations certaines et incertaines. Il s'agit en particulier d'éviter un nouvel « effet Minitel », en rejetant en bloc toute initiative, tout en évitant de rendre acceptable socialement des technologies qui pourraient être destructrices pour le consommateur final.

Selon Pierre Porthaux, la difficulté est d'autant plus grande que, comparativement à la création d'internet, les sommes mises en jeu sont bien plus importantes.

Les thèmes associés à ce dossier

Page mise à jour le

Partager cette page