# Tezos

Tezos est une plateforme évolutive de registres décentralisés (blockchain) pour le développement de contrats intelligents autour de la cryptomonnaie tez (ꜩ, XTZ). L'algorithme du protocole est un principe de consensus par preuve d'enjeu à chaîne longue. Sa conception modulaire lui permet d'assurer sa propre évolution à travers une gouvernance on-chain. Les évolutions du protocole concernent autant l'algorithme de consensus que le langage des contrats intelligents Turing-complet. Ces contrats sont des applications déployables sur la blockchain dans le but d'exécuter des opérations sur les données du registre.
La Fondation Tezos, un organisme sans but lucratif, est l'entité chargée de la coordination des moyens de développement de cette infrastructure. En septembre 2020, la capitalisation boursière de la cryptomonnaie Tezos atteignait 1,8 milliard de dollars américains, la plaçant 15e au rang des cryptomonnaies mondiales.

## Conception

Tezos partage les principes fondateurs des blockchains de première couche, et permet de développer un registre, sur lequel on peut consigner de l'information (actes, déclarations, transactions), décentraliser et permettre à chacun de disposer d'une copie publique du registre, assurer que les données sont inviolables et numériquement authentifiées par leurs auteurs.
Ce système fonctionne par l'action conjointe d'un nœud et d'un baker.
* Nœud: Les blockchains sont des cahiers de registres qui se présentent sous la forme d’une chaîne de blocs mis bout-à-bout. Chaque bloc contient un ensemble d’informations actées. N’importe quel participant (ou utilisateur) peut installer un nœud, qui se charge de détenir la dernière copie en date de la totalité de la chaîne. Le principe de décentralisation est assuré par le fait que chaque nœud possède constamment la même copie du cahier de registres et qu’il n’existe pas une unique copie de ce même registre d’informations.
* Baker: Le principal obstacle à la réalisation d’un consensus se produit lorsqu’un participant désire ajouter une nouvelle information à la chaîne (comme une transaction monétaire entre deux utilisateurs). Il doit pouvoir s'assurer d'écrire dans le registre et que tous les autres participants possèdent eux aussi la même nouvelle information. En même temps, tout le monde ne peut pas écrire sur la chaîne simultanément et il faut se décider de désigner un participant de confiance, pour accéder aux droits d'écriture à un moment donné pour écrire un bloc supplémentaire à la chaîne. Ce participant est appelé baker et les règles de sa désignation sont régies par le protocole économique.
Le baker émettra une proposition de bloc (contenant des intentions d'opérations dont il aura eu vent) et les autres participants pourront choisir de soutenir sa proposition de bloc (atteste). Chaque utilisateur ayant été témoin du nombre suffisant de soutiens pourra accrocher ce nouveau bloc à la chaîne dans sa propre copie du cahier de registres. La chaîne accroit sa taille par ajout de ce bloc et le processus recommence avec un nouveau participant désigné pour le bloc suivant.

## Fonctionnement
### Consensus et minage en preuve d'enjeu

Contrairement aux blockchains de premières générations, comme le Bitcoin où le principe d'enregistrement des blocs se base sur la preuve de travail (minage), Tezos adopte une politique de consensus par preuve d'enjeu, fondée sur la délégation. Dans le premier cas, un participant à la chaîne est considéré fiable, par sa capacité à consommer une quantité d'énergie pour prouver sa bonne foi. Alors que dans le second cas, ce participant prouve sa bonne foi par sa capacité à vouloir détenir des jetons de tez (similairement à un associé possédant des parts d'entreprise). Un possesseur de tez obtient alors une probabilité pondérée d'être sélectionné aléatoirement afin de participer à deux missions essentielles du fonctionnement de la chaîne :
* Il peut obtenir un créneau (slot) pour accéder à la proposition d'écriture d'un bloc sur la chaîne et est appelé baker pour ce rôle. Il perçoit alors une récompense entre 14 ꜩ et 16 ꜩ.
* Il peut participer à la validation des opérations en approuvant des blocs candidats et est appelé endorser pour ce rôle. Il perçoit une récompense correspondant à 20 ꜩ divisé par le nombre d'attestations sur ce bloc.
Pour participer à ces activités, il est nécessaire de payer un ticket d’entrée qui coûte au minimum un rouleau. Cependant, le coût élevé de ce ticket d’entrée ne permet pas à tout le monde d’y participer. Actuellement, un rouleau coûte 6000 ꜩ. Si vous êtes un petit porteur et que vous ne disposez pas de cette quantité, vous pouvez choisir de déléguer votre droit d’enjeu à un validateur qui se chargera d’opérer vos droits en votre nom.
Lorsqu’un validateur est sélectionné pour proposer d’écrire un bloc sur la chaîne, il doit mettre en jeu une partie de ses fonds (similairement à une hypothèque) et reçoit une récompense en retour. Ce mécanisme permet d’écarter les validateurs malveillants qui viendraient acter de fausses transactions. En effet, il n’est pas dans l’intérêt d’un validateur de perdre de l’argent alors qu’il pourrait en gagner en se comportant de bonne foi.

### Impact environnemental faible

Le consensus par preuve d'enjeu diffère du principe de mise en concurrence des mineurs par preuve de travail, qui doivent produire des calculs volontairement gourmands en énergie afin de prouver leur implication économique dans le fonctionnement de la blockchain. L'étude menée par le cabinet PwC a mis en avant que sur l'année 2021 et conformément aux standards ISO 14040 et 14044 :
* Chaque transaction sur la blockchain Tezos a un impact carbone équivalent à 2,5 g de CO$_2$ (par rapport à 15 g pour un chèque et 22 g pour les espèces).
* La consommation énergétique annuelle de Tezos est équivalente à 0,001 TWh (par rapport à 26 TWh pour Ethereum et 130 TWh pour Bitcoin).
* À un nombre constant de participants au protocole, l'augmentation du nombre de transactions n'entraîne pas une augmentation proportionnelle de la consommation énergétique.

### Gouvernance on-chain par amendement

Au cours des différentes bulles des crypto-monnaies, l'augmentation des forks a conduit à la multiplication des crypto-monnaies, entraînant une réduction de leurs valeurs financières intrinsèques. Car dans une blockchain développée en open-source, lorsqu'un ensemble de développeurs n'arrive pas à se mettre d'accord avec la gouvernance de celle-ci, chacun est libre de reprendre le code source de ce projet afin de monter sa propre blockchain : il peut alors réaliser un fork (comme Ethereum et Ethereum Classic). L'idée suivie par Tezos est d'amener une gouvernance dirigée par ses utilisateurs finaux, avec un système de vote, permettant de mettre à jour le fonctionnement de la chaîne à la volée. Ce système fondateur apporte trois avantages majeurs :
* Gestion des vulnérabilités : Lorsqu'un problème de sécurité dans le code informatique ou dans le modèle économique est avéré, la possibilité de mettre à jour le code source de la chaîne à la volée permet de la maintenir et d'améliorer constamment son degré de sécurité. Dans ce cadre, l'ajout de patchs d'optimisation de code a permis de réduire de 30 % l'impact énergétique entre les années 2020 et 2021.
* Ajouts de fonctionnalités : La recherche technologique dans le domaine des blockchains est aujourd'hui très intense. Ce mécanisme permet à Tezos d'adopter rapidement de nouvelles fonctionnalités afin de s'adapter constamment aux besoins du marché.
* Souveraineté et démocratie : Le droit de chacun à décider du devenir de ses propres actifs est déterminé directement par la communauté des possesseurs de jetons de cette cryptomonnaie.
Pour mettre en place ce système électoral, la chaîne est rythmée par différentes périodes électorales. Les participants de la chaîne (autrement appelés, validateurs) disposent d'un pouvoir de vote proportionnel à la quantité de fonds détenus (en propre et en délégataire) :
Cycle électoral complet d'une proposition de migration de protocole économique :
| Ordre | Période électorale | Usage | Conditions |
| 1 | Proposal | Les validateurs peuvent soumettre ou bien soutenir une proposition d'amendement au protocole existante. | S'il n'y a aucune proposition ou bien si deux propositions sont ex æquo, la période est relancée. Sinon, la proposition ayant reçu le plus de soutien est retenue et la chaîne bascule sur la période suivante. |
| 2 | Exploration | Les validateurs sont soumis au vote pour, contre ou s'abstiennent de la proposition de protocole. | La proposition est adoptée en période si le quorum est atteint et qu'elle obtient la supermajorité de 80 % au suffrage. Le cas contraire, le cycle électoral entier est redémarré. |
| 3 | Cooldown | Les validateurs peuvent poursuivre le débat sur les points précis de la proposition. Les développeurs peuvent exécuter des tests additionnels pour assurer le bon fonctionnement. | Aucune action nécessaire. Le passage à la période suivante se fait automatiquement. |
| 4 | Promotion | Les validateurs sont à nouveau soumis au vote pour, contre ou s'abstiennent de la proposition. | Mêmes conditions qu'en période Exploration. Si la proposition est adoptée en période, elle devient le nouveau protocole vers lequel la chaîne sera tenue de migrer à la fin de période d'adoption. |
| 5 | Adoption | Les développeurs préparent leurs infrastructures aux nouveaux changements adoptés afin de migrer vers le nouveau protocole. | Aucune action nécessaire. |
En plus de son propre mécanisme de gouvernance identifié sous la dénomination TZIP (Tezos Improvement Proposal), la blockchain Tezos héberge elle-même plusieurs autres Organisation Décentralisées Autonomes, disposant de leurs propres mécanismes de gouvernance.

### Contrats intelligents

Dans le monde des blockchains, en tant que registre décentralisé à accès public, Tezos est capable de stocker et d'échanger non seulement de la donnée mais aussi des contrats intelligents, qui ne sont rien d'autres que des programmes manipulant ces données autant que d'autres contrats intelligents.

#### Certification et identité

La blockchain peut servir à authentifier des créations dans le cadre du droit d'auteur (Musicstart, Ipocamp, Édith & Nous, Coexya), permettre à des citoyens de voter électroniquement (Electis), authentifier la propriété d'un objet (Myloby) ou authentifier une personne en lui assignant une identité immuable (TezID). Stocker l'identité d'une personne sur une blockchain se révèle utile dans certains pays en voie de développement où le manque d'infrastructures gouvernementales rend difficile l'accès aux droits des citoyens.

#### Cryptomonnaies stables

Au-delà du jeton tez propre au fonctionnement de la blockchain, la plateforme héberge des cryptomonnaies stables comme l'Euro-Lugh (EURL)ou l'angle Euro (agEUR) par exemple. Il s'agit de contrats intelligents qui agissent comme des actifs numériques adossés à l'euro pour lesquels le cours d'échange est constant. D'autres contrats intelligents représentant des cryptomonnaies stables adossées à des devises étrangères y sont aussi disponibles.

#### NFTs

Il est aussi possible de définir des jetons non fongible (NFT). Il s'agit de contrats intelligents sous la forme de jetons portant une identité numérique unique et pouvant être échangés entre des utilisateurs via la blockchain. Concrètement, il s'agit d'un acte de propriété consigné dans la blockchain. Ces contrats intelligents sont des programmes garantissant la transportabilité et l'authenticité de la propriété de ces biens numériques. Pour frapper ces jetons, Tezos a mis en place le standard général FA2 pour fournir un cadre unifié de contrats de jetons (qu'il soit fongible ou non).
Depuis, de nombreux marketplaces basés sur Tezos ont vu le jour afin de servir d'intermédiaire direct entre artistes et acheteurs, tels que Objkt, Kalamint, Arago, Hen, Rarible ou FXHash. D'autres groupes industriels créent aussi leurs propres plateformes de NFT en utilisant la blockchain Tezos. C'est notamment le cas de l'éditeur de jeux vidéo Ubisoft, qui utilise cette technologie dans le cadre de sa plateforme Ubisoft Quartz, où les joueurs pourront acheter des éléments de jeu. Le premier jeu compatible est Tom Clancy’s Ghost Recon Breakpoint.

### Langages de développement

Tezos implémente la vérification des programmes à base de méthodes formelles (qu'elles soient automatiques ou semi-automatiques). Le langage de programmation des contrats intelligents est un langage à pile fortement-typé Turing-complet, appelé Michelson$^,$. En pratique, ce langage sert d'intermédiaire à d'autres langages de contrats de plus hauts niveaux tels que Ligo, SmartPy, Morley ou Archetype.
Les protocoles Tezos sont eux-mêmes développés dans le langage de programmation fonctionnel OCaml, reconnu pour sa fiabilité et sa capacité à écrire des programmes informatiques conformes aux dernières avancées en logique mathématique. Ceci a permis de formaliser l'assistant de preuves Coq du langage Michelson par la société Nomadic Labs, afin de vérifier automatiquement les comportements des contrats intelligents.

## Histoire

En août 2014, les fondateurs du projet ont publié un document intitulé "Position Paper". En septembre 2014, un livre-blanc a été publié. Trois ans plus tard en 2017, la Fondation Tezos lève 228 millions de dollars lors d'une collecte de fonds, devenant ainsi la plus grande ICO de la bulle des crypto-monnaies en 2017.
Depuis la création de la plateforme, différentes migrations régulières ont eu lieu depuis l'existence de cette chaîne.
Différentes migrations de protocoles depuis l'existence de la chaîne :
| N° | Date | Nom | Hash | Description |
| 004 | Mai 2019 | Athens | Pt24m4xi | Augmentation de la limite de gaz par bloc et réduction de la taille d’un rouleau à 8000 ꜩ. |
| 005 | Octobre 2019 | Babylon | PsBABY5H | Mise à jour vers l’algorithme de consensus Emmy+. Simplification du développement de contrats intelligents. Changement du processus de délégation. |
| 006 | Mars 2020 | Carthage | PsCARTHA | Augmentation de la limite de gaz par bloc et par opération. Révision du calcul des récompenses. |
| 007 | Septembre 2020 | Delphi | PsDELPH1 | Optimisation du coût en gaz. Réduction des coûts de stockage par un facteur de 4. |
| 008 | Février 2021 | Edo | PtEdoTez | Ajout de Sapling et BLS12-318 pour les contrats intelligents à préservation d’intimité et tickets pour les permissions natives. Mise à jour du processus d’amendement par réduction de la durée d’une période de vote à 5 cycles et ajout de la période d’Adoption. |
| 009 | Mai 2021 | Florence | PsFLoren | Augmentation au double de la taille maximale des opérations. Optimisations du gaz et de son arithmétique par un facteur de 10. Adoption du parcours en profondeur pour un développement de contrats intelligents plus intuitif. |
| 010 | Août 2021 | Granada | PtGRANAD | Introduction de Liquidity Baking, un contrat d’échange décentralisé entre tez et tzBTC. Optimisations de code permettant une diminution par facteur x3-6 de la consommation en gaz de contrats populaires. |
| 011 | Décembre 2021 | Hangzhou | PtHangz2 | Ajout de fonctionnalités aux contrats: views (possibilité pour les contrats d’avoir accès à l’état de stockage d’autres contrats), timelock encryption (contremesure aux Block Producer Extractable Value), table de constantes globales. Ajout de caches pour un accès plus rapide et économe aux données. |
| 012 | Avril 2022 | Ithaca | Psitacha2 | Introduction de tenderbake : deterministic finality (Un bloc peut être considéré comme définitif après deux blocs, quels que soient les délais de communication du réseau. Dans des circonstances normales, ce délai est d'une minute), Choix d'un réseau sûr plutôt que d'un réseau actif, vers des blocs plus rapides : Alors que le temps de bloc est maintenu à 30 secondes dans Ithaca 2, Tenderbake permet d'introduire en toute sécurité des temps de bloc plus courts dans les futures mises à jour du protocole. |
| 013 | Juin 2022 | Jakarta | PtJakart | Introduction de rollups optimisés pour les transactions (TORUs), durcissement des tickets, intégration plus sûre de Sapling, nouveau vote de Liquidity Baking, améliorations de l’interpréteur Michelson. |
| 014 | Septembre 2022 | Kathmandu | PtKathman | Introduction de rollups optimiste des contrats intelligents, validation en pipeline des opérations des gestionnaires, amélioration du caractère aléatoire, soutien à la gouvernance sur mesure pour les réseaux de test permanents, enregistrement des événements dans les contrats intelligents Michelson, nouvelle opération permettant d'augmenter le stockage payant d'un contrat intelligent. |
| 015 | Décembre 2022 | Lima | PtLima | Plus de pipelines, des clés de consensus, des améliorations pour les tickets, des corrections pour le réseau de test Ghostnet, la suppression du coucher de soleil pour le Liquidity Baking, la dépréciation du Temporary Timelock. |
| 016 | Janvier 2023 | Mumbai | PtMumbai | Les rollups intelligents sont activés, le ZK-Rollups Epoxy fait sa première apparition, le temps de blocage est réduit à 15 secondes, les transferts de tickets peuvent être faits entre comptes, les RPC pour les soldes de tickets, de nouvelles opérations Michelson. |
| 017 | Juin 2023 | Nairobi | PtNairobi | Une augmentation jusqu'à 8 fois du TPS pour les transactions, les appels de contrats intelligents, les opérations de maintenance des Smart Rollup, et d'autres opérations de gestion, grâce à un modèle de gaz amélioré pour les signatures cryptographiques. De nouvelles fonctionnalités pour les Smart Rollups, y compris de nouvelles fonctions hôtes et de nouveaux messages internes de niveau 2 permettant aux noyaux de rollup de se synchroniser avec les mises à jour du protocole Tezos. Renommage des endossements en attestations. Propagation plus rapide des pré-attestations afin d'atteindre un consensus plus tôt. |