TEZOS, la blockchain française…de boulangers

TEZOS est une blockchain décentralisée, auto-gouvernante, proposant une plateforme de Smart Contracts innovante.

Le projet a été lancé par des Français en 2017 et a bénéficié d’une très belle mise sur le marché (ICO) de plus de 200 millions de dollars en moins de 2 semaines.

Pourtant, la suite immédiate ne fut pas idyllique, entre les problèmes (absence !) de communication, les conflits internes et les retards du projet. Mais 2019 pourrait être la renaissance de TEZOS, qui semble maintenant prête à accueillir les développeurs et leurs applications décentralisées.

Alors, qu’est-ce qui pourrait faire le succès de TEZOS par rapport aux autres Blockchain ?

Evolutivité par construction

La blockchain TEZOS s’appuie sur une « gouvernance dans la chaine » (on-chain governance) et un concept d’auto-amendement (self amending)

Concrètement, cette blockchain est auto-régulée par sa communauté et ses évolutions sont votées par les possesseurs du jeton (token) – le XZT. Les développeurs soumettent des propositions pour faire évoluer le protocole et sont rétribués en échange de cet effort. Chaque proposition passe par une phase de tests, puis est soumise au vote avant d’être éventuellement implémentée. Une fois la proposition ratifiée, le protocole est amendé de manière décentralisée, par un « hot swap ». Cette gestion des évolutions de la blockchain permet d’éviter la division de la communauté et les éventuels forks, que l’on a déjà connus pour Bitcoin ou Ethereum par exemple.

Et justement, c’est d’actualité pour TEZOS, qui vient d’implémenter (29 mai 2019) sa première évolution auto-régulée de la chaine, votée par la communauté, nommée « Athens A ».

Le consensus « Preuve d’enjeu Liquide » (Liquid Proof of Stake)

Le Consensus, c’est l’ensemble des règles sur lesquelles les acteurs d’une blockchain s’entendent pour valider les transactions, créer les blocs et vérifier ce que les autres ont fait.

Le consensus le plus utilisé est historiquement celui du Bitcoin, la « Preuve de travail » (Proof of Work) : les mineurs sont tous en concurrence et tentent de résoudre le plus vite possible un puzzle mathématique, ce qui consomme beaucoup de puissance de calcul, et donc d’électricité.

Les règles de validation des blocs de TEZOS sont dérivées de la « preuve d’enjeu » (Proof of Stake), où la probabilité de créer le prochain bloc dépend du pourcentage de jetons que l’on possède. C’est plus rapide et moins énergivore.

Plus précisément, la blockchain TEZOS adopte le consensus de « preuve d’enjeu liquide » (Liquid Proof of Stake), où les blocs ne sont pas minés par des mineurs, mais cuits (baked)…par des boulangers (bakers)…Outre la démarcation linguistique, on retrouve les mêmes fondamentaux que la preuve d’enjeu : les acteurs de la blockchain misent des jetons TEZOS pour avoir le droit de faire tourner un nœud de validation pour signer et forger le prochain bloc de transactions. Le gagnant est motivé par une récompense en échange de cet engagement : 16 XZT + commissions.

Tout le monde ne peut pas jouer car il est nécessaire de miser a minima 10 000 XZT pour prétendre être un nœud de validation. Une fois les mises placées en secret, le protocole détermine qui sera le prochain boulanger qui cuira le prochain bloc, au hasard pondéré par le nombre de jetons misés (plus on mise, plus on a de chance d’être choisi). Ce nouveau bloc fraichement cuit est lui-même notarié par 32 autres contributeurs au hasard.

Ce consensus présente des avantages : il n’est pas énergivore, et surtout, il confère une représentativité forte à la communauté, puisqu’il se calque sur le modèle de la Démocratie Liquide – à mi-chemin entre la démocratie directe et la démocratie représentative. Pour toute gouvernance de cette blockchain, les participants peuvent voter directement ou déléguer leur vote à un délégué, qui peut lui-même déléguer par transitivité. Si le vote du délégué n’est pas satisfaisant, il est tout à fait possible à chacun de revenir à un vote direct.

En revanche, ce consensus de TEZOS n’est pas très rapide : 1 bloc est cuit toutes les minutes en moyenne, ce qui correspond à environ 40 transactions par secondes.

Les Smart Contracts en langage fonctionnel

TEZOS est avant tout une plateforme de Smart Contracts, et ces derniers sont codés en « Michelson », un langage fonctionnel fortement typé, qui a vocation à être facile à lire et à maintenir.

Pour ceux qui n’auraient jamais vu à quoi ressemble un langage fonctionnel, voilà à quoi ressemble un « if…then…else » en Michelson :

On peut éventuellement débattre de l’intelligibilité de ce code pour les développeurs n’ayant pratiqué que les langages impératifs…cependant le Michelson permet de réaliser une « vérification formelle », c’est-à-dire la capacité du code à prouver son comportement mathématique, permettant d’identifier aisément les bugs en amont.

Ethereum killer ?

Le TEZOS possède-t-il les atouts pour détrôner Ethereum comme la plateforme la plus populaire pour développer des Smart Contracts ?

En résumé, les avantages de TEZOS sont :

  • Une gouvernance par construction, codée dans la chaine, permettant d’éviter les Forks et autres divisions de sa communauté
  • Des moyens conséquents avec leur levé de fonds de 200 millions de dollars
  • Un langage fonctionnel à destination des non développeurs

Et les obstacles éventuels :

  • Une réputation qui avait pris un mauvais départ avec des conflits internes, des retards, et une mauvaise communication de crise
  • Un consensus peu rapide avec 40 transactions par seconde
  • Une concurrence très active (EOS, Cardano)
  • Une communauté encore maigre, et peu d’applications décentralisées à disposition
  • Un nouveau langage à apprendre pour les développeurs

Prêts à rejoindre la communauté des boulangers ?