Tezos, l’avenir de la Blockchain

Publié Par Contrepoints, le dans Technologies

Arthur Breitman est le créateur de la blockchain Tezos. Il nous a parlé de son projet mais aussi plus généralement de Bitcoin et des contrats intelligents.

Par Nils Baudoin.

Vous dirigez Tezos, un projet de blockchain décentralisée dans la veine de Bitcoin et d’Ethereum. Quel est selon-vous l’intérêt de ces réseaux?

arthur-b

Arthur Breitman

L’invention de la blockchain a permis le déploiement de Grands livres1 décentralisés, c’est-à-dire d’un mécanisme de compatibilité partagée, accessible à tous, et n’étant sous le contrôle explicite de personne.

Derrière cette description un peu sobre se cache en réalité une avancée assez révolutionnaire. Là où Internet a permis un accès presque universel à l’information, ces réseaux offrent un accès à la coordination par le consensus. Cette coordination peut prendre la forme de monnaie comme dans le Bitcoin, qui tire sa valeur d’un consensus autour de son utilité. Elle peut aussi prendre la forme de mécanismes de compensations règlements & livraison 2, de registres de noms de domaines et d’identités cryptographiques. Des personnes vivant aux quatre coins du monde peuvent utiliser ces outils pour passer entre elles des contrats vérifiés, validés et exécutés à un prix minimal et sans avoir besoin de faire recours à un tiers.

Pourquoi un nouveau projet ?

tezos

Le logo de Tezos

Les réseaux existant souffrent d’un angle mort : la gouvernance Un mythe persiste autour de Bitcoin, l’idée que le réseau serait purement “mathématique”, idéal, platonique, immuable. En réalité, bien que de nombreux aspects du protocole soient purement mathématiques, son bon fonctionnement dépend de conjectures sur le comportement des acteurs qui valident et utilisent sa blockchain. Par exemple, la sécurité de Bitcoin repose sur l’hypothèse que la collusion entre certains acteurs n’est pas plausible.

Au-delà des ambiguïtés internes au réseau, son évolution reste contentieuse. Récemment, un débat a opposé les partisans des “petits” blocs, préoccupés principalement par l’importance de maintenir la décentralisation du réseau, et les partisans des “gros” blocs, qui souhaitent augmenter la cadence des transactions. Largement absents à ce débat, les détenteurs et utilisateurs de Bitcoins. Ces problèmes sont encore plus prononcés pour Ethereum, un projet dirigé par une fondation possédant une large influence sur l’évolution technologique du réseau, mais aussi sur sa gouvernance.

Vous parlez de gouvernance. En quoi cela consiste-t-il ? Est-ce bien nécessaire ?

Une gouvernance est un ensemble de règles par lesquelles un groupe de personnes partage une ressource. Il peut s’agir de gouvernance d’entreprise, par exemple, qui permet à divers actionnaires de partager la possession d’une société. La gouvernance de copropriété permet aux propriétaires d’appartements de gérer leurs parties communes. Les jetons (tels que les bitcoins) présents sur les blockchains ont des propriétaires bien définis, mais le réseau lui même représente un bien commun, partagé par ses utilisateurs. Qui paye pour sa maintenance ? Pour sa mise à jour ? Qui décide de sa direction en termes d’innovation ?

Le concept de Tezos est d’utiliser la capacité de consensus des blockchains elles-mêmes pour implémenter leurs propres modèles de gouvernance. En pratique, dans Tezos, cela veut dire que nous laissons les détenteurs de jetons accepter ou rejeter des mises à jour du protocole, i.e. les règles suivies par le réseau. Nous commençons avec un simple système de vote où une supermajorité 3 peut choisir et adopter des propositions de mise à jour.

Ces propositions peuvent contenir des conditions qui rémunèrent leurs créateurs, créant ainsi une incitation à maintenir et à améliorer Tezos. Crucialement, le modèle de gouvernance est lui-même sujet à des mises à jour et peut passer progressivement de ce modèle de vote dépouillé à un modèle plus sophistiqué comprenant des garde-fous ou introduisant des contre-pouvoirs.

Avez-vous été Influencé par des théories politiques pour définir les mécanismes de gouvernance de Tezos ?

Il y a plusieurs idées derrière ce mécanisme. La principale vient de Peter Suber, un philosophe ayant créé le jeu Nomic qui illustre le paradoxe de l’auto-amendement. Ce paradoxe véridique établit qu’il est possible pour un système de règles de pourvoir à son propre remplacement. Nomic est un jeu qui consiste à partir d’un ensemble de règles minimales – mais permettant l’auto-amendement – et à construire un système de règles byzantines permettant de piéger les autres joueurs. Ce n’est évidemment pas ce que nous cherchons dans le cas de Tezos. Il faut donc déterminer des règles initiales suffisamment libérales pour permettre l’évolution du système, mais suffisamment conservatrices pour susciter un cercle vertueux de gouvernance et d’innovation.

Le modèle initial de vote est emprunté en partie à la Sérénissime République de Venise, un régime ayant duré plus de 1000 ans. Je dois beaucoup d’idées sur la gouvernance aux écrits d’Elinor Ostrom. Un des modèles vers lequel nous proposons de nous diriger, la futarchie est emprunté à l’économiste Robin Hanson. Enfin, le désir de développer un réseau libre où les gens puissent volontairement coordonner leurs préférences provient des écrits politiques de Murray Rothbard et de Friedrich Hayek.

Le consensus de Bitcoin repose sur le Proof-of-Work, une méthode coûteuse en temps de calcul et donc en énergie. Votre projet utilise une technique différente, dite Proof-of-Stake. Est-elle aussi fiable ? Est-ce pour des raisons écologiques ?

La raison principale pour laquelle nous voulons éviter le proof-of-work est qu’il représente un risque de gouvernance. Les intérêts des “mineurs” qui fournissent la puissance de calcul et l’énergie qui stabilise le consensus de Bitcoin sont subtilement différents des intérêts des détenteurs. Ainsi, les mineurs pourraient tenir Bitcoin en otage et imposer à ses participants d’augmenter le taux d’inflation. Le proof-of-work donne des garanties de consensus plus claires que le proof-of-stake et ce dernier est souvent d’ailleurs critiqué comme fondamentalement impossible.

C’est en général un sophisme du Nirvana où ces solutions sont comparées à une idéalisation du proof-of-work loin de la réalité. En pratique, les deux modèles ont des forces et des faiblesses différentes et nous ne savons pas encore quel modèle est le plus solide. Nous savons en revanche que le proof-of-stake est bien moins onéreux. Les détenteurs de Bitcoin payent actuellement 400 millions d’euros par an pour faire fonctionner le système de proof-of-work tandis que le coût d’un système de proof-of-stake se chiffrerait à quelques millions au plus. Quoiqu’il en soit, Tezos peut mettre à jour son propre modèle de consensus si besoin est. Nous pensons que proof-of-stake est le meilleur choix à ce jour, mais cette décision n’est pas écrite dans le marbre.

Concernant l’écologie, l’argument consiste en général à dire que le coût de l’énergie ne reflète pas les externalité imposées, par exemple en termes d’émission de CO2. Si c’est le cas, dépenser unilatéralement moins d’énergie ne changera pas grand chose, quelqu’un d’autre dépensera cette énergie. En pratique, si l’on veut vraiment résoudre le problème écologique et pas seulement prendre des postures morales, le mieux est de développer des technologies faisant baisser le prix de sources alternatives comme l’énergie solaire ou le nucléaire qui ne sont pas susceptibles à ces externalités. Le coût de l’énergie solaire est d’ailleurs en chute libre, je ne me fais pas trop de souci.

Tezos permet comme Ethereum, et dans une moindre mesure Bitcoin, de définir des contrats intelligents (Smart contracts). Qu’est-ce et quel impact cette innovation peut avoir sur la société ? Pensez-vous que ces contrats intelligents vont être utiles et accessibles au grand public ou juste un élément d’infrastructure invisible ?

Les contrats intelligents permettent d’une part d’automatiser des processus de règlements, et d’autre part d’éliminer la nécessité de faire confiance à des intermédiaires. Par exemple, on peut limiter automatiquement ses dépenses journalières pour éviter de tout perdre en cas de vol. On peut aussi établir des contrats représentant de l’assurance, des paris, de l’emprunt. L’impact le plus important sur la société est une réduction importante des coûts de transactions nécessaires à l’établissement d’un contrat.

Il devient possible dans la pratique de passer des contrats pour des sommes se portant à quelques euros, voire même à quelques centimes. On peut aussi imaginer ces contrats dans des machines comme des parkings, des distributeurs de boissons, etc. Je ne dirait pas invisible, mais transparent. Le grand public utilisera ces services, saura peut-être même qu’il s’agit de smart-contracts, mais n’ira pas pour autant en écrire lui-même, de la même manière que la plupart des personnes qui utilisent Internet ne développent pas de page web.

Michelson, le langage de définition de contrats intelligents associé à Tezos est formalisé plus rigoureusement que celui d’Ethereum, le plus connu à ce jour. Qu’est-ce que cela apporte ? D’ailleurs, pourquoi ce nom de « Michelson » ?


Le langage d’Ethereum est une machine abstraite avec un assembleur, un langage décrivant des opérations de bas niveau. Définir une telle machine est une approche courante pour construire un langage de programmation. C’est ce que fait OCaml, Java, Erlang, les langages .net, etc. Le but est en général d’assurer la portabilité. Cela permet aussi à plusieurs langages de haut niveau d’être intelligibles sur une même plateforme. Cependant, les contrats intelligents ont des besoins particuliers.

Leur taille doit être aussi faible que possible car ils vont être copiés sur tous les nœuds du réseau ; mais surtout il doit être aussi aisé que possible de raisonner sur leur comportement. Or, raisonner sur le comportement d’un contrat écrit dans le langage de l’EVM (Ethereum Virtual Machine) est extrêmement difficile. On peut tenter de raisonner sur le langage de plus haut niveau, Solidity, mais cela n’est pas évident non plus ! Un bug dans un contrat de Solidity a permis un vol de près de 50 millions de dollars il y a quelques mois.

Quand des chercheurs en sécurité ont voulu analyser l’attaque, ils se sont heurtés au fait qu’il existait plusieurs versions du code dans le langage Solidity, mais qu’ils ne savaient pas laquelle correspondait au code EVM présent sur le réseau ; le compilateur de Solidity n’étant pas déterministe, on ne pouvait donc pas recompiler les différentes versions du code et voir laquelle correspond à ce qui est inscrit sur la chaîne.

Ce problème de compilation a été corrigé, en principe ; mais sans une vérification formelle du compilateur on ne peut toujours pas être certain que la sémantique du code Solidity correspond bien à celle du code EVM. Quand on signe un contrat sur Ethereum, on ne sait pas vraiment ce que l’on signe.

Michelson, le langage de contrat de Tezos, est différent. Il a été créé dans le but explicite de se prêter facilement à de la vérification formelle, une technique issue de la rencontre entre les mathématiques et l’informatique permettant de prouver rigoureusement qu’un programme se comporte de la façon attendue. En pratique, cela veut dire que Michelson est fonctionnel et fortement typé. Contrairement à Ethereum, les contrats sont fonctions pures, ce qui élimine les bugs tels que celui ayant permis le vol de 50 millions de dollars, et coûté près d’un milliard de dollars à Ethereum en termes de capitalisation.

Le choix du nom Michelson n’est pas innocent, et son explication est laissée en exercice au lecteur 🙂

On a beaucoup parlé du concept de DAO (Organisation Autonome Décentralisée) puis la première d’entre eux “The DAO” a subi en juin 2016 le vol, ou du moins le détournement, de 50 millions de dollars que vous avez évoqué et qui y a mis fin. Pensez-vous que ce concept soit toujours prometteur et que nous verrons des DAO réussir ?

En un sens, Tezos est une DAO en elle-même puisque ses participants peuvent gérer sa propre organisation. Je ne pense pas que l’échec de “The DAO” représente un échec des DAO en général mais plutôt des choix techniques d’Ethereum sur Solidity et sur l’EVM.

Indépendamment, il y avait aussi de sérieux problèmes dans le modèle de “The DAO”. Il n’y avait par exemple aucun moyen de s’assurer que les projets étant financés allaient reverser leurs profits éventuels dans l’organisation. Certes, ils auraient pu passer par le système légal traditionnel, mais dans ce cas pourquoi faire toute un fanfare autour du code source comme remplacement du système légal ?

“The DAO” est né principalement car ses créateurs n’avaient pas réussi à recevoir de financement sur leur autre projet.

Il y a des centaines de projets alternatifs à Bitcoin, chacun ayant une belle page web et se disant innovant. Avez-vous des critères pour aider nos lecteurs à savoir si un projet est sérieux et honnête ?

Il y a des signes indicateurs.

La plupart des projets publient un “white paper” qui décrit techniquement son fonctionnement. Récemment, en lisant le papier d’un projet bidon, je suis tombé au deuxième paragraphe sur une explication par a + b des raisons pour lesquelles il fallait investir dans ce projet. En général, les projets sérieux mettent l’accent sur leurs mérites techniques et les projets bidons sur leur “business model”. Cela ne veut pas dire qu’avoir un business model soit une mauvaise chose, loin de là, mais s’il occupe complètement le premier plan, c’est souvent un indicateur que quelque chose cloche, car il s’agit au final de technologie.

Souvent ces projets bidons n’auront pratiquement rien développé, ou ils auront largement copié un projet existant. Ils cherchent alors à obtenir du financement pour construire leur idée fabuleuse qui va tout changer.

Autre indicateur : un document écrit avec le logiciel de typographie TeX signale en général plus de sérieux que la même chose écrite sous Microsoft Word. Rien n’empêche les projets bidons d’utiliser TeX mais, empiriquement, ils ne le font presque pas, de la même manière que les arnaqueurs 419 continuent à envoyer des emails tout en majuscules.

Vous avez monté une société pour développer votre projet. Quel est votre business model ?

La société développe seulement un logiciel, mais nous allons sans doute nous associer avec une fondation à but non lucratif qui lancera le réseau sous la forme d’une crowdsale similaire à celle conduite par Ethereum en 2014. Cela veut dire que les gens pourront acquérir des jetons leur permettant d’utiliser les services fournis par Tezos. Cette fondation aura pour rôle d’aider les réseaux à faire leurs premiers pas pendant les premières années, mais ne se substituera pas au modèle de gouvernance.

En savoir plus :

Le site de Tezos

La présentation d’Arthur Breitman à la conférence Stange Loop

 

  1.  Au sens littéral, un Grand livre est « le recueil de l’ensemble des comptes utilisés d’une entreprise qui tient sa comptabilité en partie double » (Wikipedia).
  2. Le règlement/livraison est une procédure par laquelle des titres sont livrés, habituellement contre paiement, pour remplir les obligations contractuelles nées de la négociation d’une opération. L’instruction de règlement/livraison est émise par la chambre de compensation, si l’opération a été négociée en bourse (Wikipedia).
  3.  Une supermajorité est l’exigence d’obtenir un taux de votes favorables supérieur à l’usuelle valeur de 50% pour remporter le scrutin. De nombreux seuils sont possibles selon les cas. Par exemple, la majorité des deux tiers est souvent utilisée dans les copropriétés.
  1. Un autre projet très sérieux dans la même veine de gouvernance décentralisée, souvent présenté comme le Linux de la crypto : Decred

    https://www.decred.org/

    Outre l’aspect du White Paper, je rajouterai que la plupart des projets sérieux sont open source. Et par conséquent, le développement du projet peut être suivi sur Github bien souvent. L’activité fréquente sur github d’une équipe assidue qui ne s’épend pas en communication sur tous les réseaux sociaux est en général un bon signe.

  2. Encore un énième projet de blockchain avec son shitcoin?

    1. Assez d’accord avec vous. C’est d’ailleurs là le principal frein à la démocratisation de la Blockchain. A quand un consensus sur l’utilisation d’une seule Blockchain, universelle et utilisable pour tous et par tous ?

      1. Waren, il n’y a aucun intérêt à n’avoir qu’une seule blockchain. Il est d’ailleurs très étonnant que vous prôniez la fin de la concurrence dans le domaine de la BC. C’est pourtant de là que vient l’innovation. Si la communauté entière s’était cantonnée à bitcoin, nous n’aurions pas toutes les perles d’innovations qui voient actuellement le jour dans le monde de la crypto.

        Le problème d’une BC universelle serez bien évidemment lié à sa « scalability », capacité à s’étendre et s’adapter. C’est exactement comme pour l’Etat. Plus c’est gros et tentaculaire, moins c’est souple. Sans aborder la question de la sécurtié liée au processus de minage, et d’une concentration potentielle du pouvoir sur la blockchain.

        Il existe plusieurs types d’altcoins, selon vos besoins. Monero/Dash/zCash pour les transactions anonyme, Factom/Apostille pour l’audit/actes notariés, Ethereum/Counterparty pour les smart contracts, pour la gouvernance dédecentralisée Decred/Tezos, etc.

        Effectivement, l’émergence de tout un tas de shitcoins rend le tout illisible pour qui n’est pas averti. Il suffit de se sortir les doigts, et le pli vient assez vite.

        1. Serait* bien évidemment

          1. Je ne prône pas la fin de la concurrence, mais je ne suis pas du tout convaincu que la multiplication des BC est forcément une bonne nouvelle: déjà, si je veux gérer du BTC en « lourd », sans passer par du SPV, je suis déjà obligé de gérer plus de 90 gigas. Si maintenant, je veux de l’ETH, j’en suis à plus de 75 gigas. Ce qui m’ennuie c’est qu’à la longue, on soit obligé de gérer des terra-octets pour faire tourner uniquement quelques bricoles, et je ne parle même pas forcément des altcoins qui ne sont qu’une appli parmi tant d’autres possible. Le risque aussi, c’est qu’il y ait de moins de moins de full-nodes, avec potentiellement une augmentation significative des frais de transactions.

            A l’avenir, j’aimerai bien voir émerger peut-être pas une seule BC, certes mais au moins quelques BC ouvertes, plus universelles, et sur lesquelles on pourrait greffer n’importe quoi comme appli.

            1. Bonjour Waren, vous n’êtes pas obligé d’avoir un noeud complet sur votre ordinateur pour utiliser une BC, heureusement. Bitcoin a depuis longtemps des light clients et ceux pour Ethereum ne vont pas tarder :).

  3. On n’en est qu’au début… de nombreux projets vont voir le jour jusqu’à l’apparition de blockchain robustes et largement utilisées qui feront de l’ombre aux autres… mais une seule en cible ne paraît ni possible (chacun peut créer sa propre blockchain) ni souhaitable (innovation et liberté). Chaque blockchain sera plus ou moins spécialisée pour un besoin ou pour un autre.

  4. Enfin des start-up qui s’attaquent à ce problème crucial! Dans les DAO, le code Informatique faisant LOI et JUSTICE, il est primordial qu’il soit transparent c’est à dire visible, lisible et compréhensible (si en plus il est piloté par une saine gouvernance, c’est encore mieux!

    1. Réviser le cas de TheDAO. Le code était clair, lisible et comprehensible. Ca n’a pas empêché le etournement de 50 mln d’USD. Le code faisait tellement office de loi, que le communauté a décidé de réécrire l’histoire de la blockchain via un Hard Fork.

      Ici, cas d’un smart contract dont le code fonctionnait très bien, mais qui au final s’est vu renié son role de faiseur de loi par la communauté. Preuve étant qu’actuellement, tout comme dans la politique actuelle, un groupe de pression suffisamment puissant peut influencer la loi des smart contracts.

      Y a encore du boulot.

Les commentaires sont fermés.