Qu’est-ce que le Baking ?

Le Baking est à Tezos, ce que le Mining est à Bitcoin. Dans Bitcoin, les Miners sont en compétition pour publier des blocs contenant une preuve de travail, par l’exécution continue d’une fonction de hachage sur l’entête des blocs. Dans Tezos, la création des blocs est effectuée par les Bakers. Au lieu de prouver son droit à créer des blocs en trouvant une solution à l’algorithme de preuve de travail, les Bakers obtiennent ce droit quand un token Tezos (plutôt un Roll, cf ci dessous) qu’ils possèdent (ou token qui leur est délégué) est sélectionné aléatoirement pour créer un bloc. Puisque les détenteurs de tokens ne sont pas tous intéressés pour devenir un Baker, les tokens peuvent être délégués à un tiers (Le Baker de son choix). Le délégué ne possède pas, ni ne contrôle les tokens qui lui sont délégués. En particulier, il ne peut pas les dépenser.

Cependant, quand un de ces tokens (détenu ou délégué) est sélectionné aléatoirement pour baker un bloc, ce droit appartiendra au Délégué (Baker).

Un Baker devient conscient de son droit de « baker » -créer- des blocs quelques semaines à l’avance (7 cycles). Quand cela se produit, il est attendu de créer un dépôt de garantie qui sera gelé pour quelques semaines. Ce dépôt de garantie est référé sans le White Paper à plusieurs endroits en tant que “bond”.

Dans certains systèmes de Preuve d’enjeu – (Proof of Stake), ce dépôt de garantie est un montant unique et fixe, imposé par un Délégué. Dans Tezos, le dépôt change dynamiquement, en fonction du nombre de blocs qu’un délégué est amené à créer. Ce dépôt permet d’assurer l’honnêteté du Baker pendant la période de création de bloc. Si le Baker triche ou tente de propager des blocs sur des branches différentes, il est punit en perdant son dépôt de garantie. Si un Baker créer des blocs sur une branche perdante, il perd seulement sa récompense. Un Baker doit explicitement tenter de créer des blocs sur deux branches différentes pour être puni.

Si le Baker réussi à créer et à propager un bloc valide, il est récompensé avec la récompense du bloc ainsi que les fees payés avec l’ensemble des transactions inclues dans le bloc.

Qu’est-ce qu’un Roll ?

Pour accélérer les calculs sur la sélection aléatoire des Délégués en vue de baker, le registre Tezos garde un suivi de groupes de tokens appelés “Roll”. Les Rolls sont agrégés au niveau du Délégué. Cela signifie que la capacité de baking d’un Baker est proportionnel au nombre de tokens qui lui sont délégués, arrondi au Roll le plus proche. Un Roll est composé de 10 000 ꜩ.

Qu’est-ce que l’Endorsing, ou l’approbation ?

Endorsing ou approuver, c’est un peu comme le baking. Mais au lieu de créer des blocs, les Bakers sont parfois appelés pour les approuver. C’est-à-dire que les Baker ont vu et vérifié qu’un bloc est valide. Chaque bloc a de nombreux approbateurs choisis au aléatoires. Les approbateurs ont aussi un dépôt de garantie et reçoive des récompenses pour leurs approbations.

Quoiqu’il en soit, tous les Bakers participent au processus de Baking et d’Endorsing. Baking et Endorsing font partie de la même activité et parfois, pour vulgariser, le terme Baking est utilisé pour parler des deux.

Pourquoi bake/endorse ?

Les Bakers et Endorsers sont récompensés pour leur travail, via l’émission de nouveaux tokens par le protocole. Ces récompenses sont calibrées pour que le nombre de tokens Tezos croît d’environ 5.5% par an, et pour que les dépôts de garantie nécessaires au baking représentent environ 8.25% des tokens délégués à un Baker.

En pratique, supposons que 100% des tokens prennent part au processus de Baking (par délégation ou non) et supposons qu’un Baker a reçu une délégation pour 1 000 000 ꜩ. Alors il aurait besoin, tout le temps, d’environ 80 250 ꜩ en dépôt de garantie. Il recevrait environ 55 000 ꜩ par an, en récompenses de blocs et d’endorsment (à l’exception des frais de transaction non pris en compte dans ce calcul).

Cependant, si seulement 40% des tokens créent activement des blocs (sont activement en Baking) ce Baker créerait 2,5 fois plus de blocs. De plus, il aurait besoin d’environ 200 625 ꜩ en dépôt, mais recevrait autour de 137 500 ꜩ.

Ce sont des calculs théoriques qui ne prennent pas en compte plusieurs facteurs comme le coût des servers, le risque de ne pas baker proprement à cause de bugs ou défaillances du réseau, la possibilité de baker des blocs avec des priorités plus faibles si certains Bakers sont seulement partiellement actifs, le coût potentiel pour attirer des délégataires, et d’autres coûts et risques imprévus.

Les Bakers devraient se reposer entièrement sur leur propre analyse du protocole Tezos et de son réseau, pour prendre part à cette activité.

La délégation n’est pas non plus que le Baking ! Au sein du réseau Tezos, le vote est aussi effectué par les Délégués. En ce sens, les Bakers ont la responsabilité d’analyser les propositions afin de de les sélectionner. Ceci étant dit, une dissociation du droit de Baking et du droit de Vote n’est pas impossible à l’avenir.

Quelles ressources sont nécessaires pour le Baking ?

Bande passante, CPU et RAM

Les Bakers ont la responsabilité de valider la chaîne et de créer les blocs. Ils devraient avoir une  connexion internet stable et bonne, ainsi qu’une haute disponibilité de leurs servers. L’accent étant mis sur l’exactitude et non sur le débit. Par conséquent, les exigences doivent-être assez légères au début. Compte tenu de l’expérience acquise dans le réseau de test, au moins 8Go de RAM sont souhaitables.

Sécurité

Les Bakers ont une responsabilité et une incitation financière, pour sécuriser leurs opérations, qui devraient être effectué de plusieurs manières, incluant :

  • Resistance DDOS : des acteurs malveillants pourraient essayer de DDOS un Baker, au moment où il tenter de baker. Un Baker averti surveille discrètement le réseau et injecte ses blocs à partir d’une multitude d’adresses IP, difficiles à attribuer.
  • Protection des clés : un acteur malveillant qui volerait la clé privée d’un Baker pourrait non seulement obtenir le contrôle de tout son dépôt de garantie, mais aussi nuire au réseau s’il préférait faire des ravages au lieu de gagner des tokens. Un Baker averti utilisera un module de sécurité matériel, une enclave SGX ou des hardwares wallets pour protéger ses clés lors du Baking. Il existe déjà un support pour baker via un Ledger Nano S.
  • Prévention et gestion des intrusions : le noeud Tezos, le Baker Tezos et l’Endorser Tezos devraient probablement s’exécuter sur une machine isolée du réseau par au moins une autre machine bien sécurisée, régulièrement mise à jour. Idéalement, il n’y aurait pas d’accès à distance sur la machine de Baking.

Pour en savoir plus sur les bonnes pratiques en matière de sécurité pour le Baking, voir notre article ici

Bonnes pratiques

Lors du lancement du réseau Tezos, certains problèmes resteront probablement dans le code du Baker. Beaucoup de développeurs travaillent pour s’assurer qu’il y en ait le moins possible, mais certains d’entre eux ne se révéleront sans doute qu’à grande échelle. En règle générale, le Baker peut se retrouver dans un état déplorable et cesser de faire son travail.

Un bon Baker doit comprendre parfaitement le processus de Baking (ou, dans le cas d’opérations plus importantes, compter sur un sachant) et être prêt à examiner le processus et à apporter des solutions.

Un bon Baker doit également contacter les développeurs pour s’assurer qu’ils sont prêts à appliquer les correctifs de sécurité rapidement en cas de besoin. Dans les débuts du réseau, le baking ne sera pas une activité passive, mais nécessitera une participation active à Tezos et une bonne connaissance pratique de ses fondements.

Les Bakers devraient aussi expérimenter avec le Zeronet et s’engager avec le reste de la communauté sur le matrix_channel.

Tokens

Un Baker doit posséder des tokens pour proposer une délégation. En moyenne, ils doivent posséder environ 8,25% du nombre de tokens qui leur sont délégués à tout moment, divisé par la fraction du réseau en train de baker ou de déléguer activement à un baker actif. S’ils ne le font pas, ils auront la possibilité de créer des blocs mais ne pourront pas placer assez de garanties pour le faire. En d’autres termes, si le dépôt de garantie est insuffisant, les Bakers pourront être aléatoirement sélectionnés, mais au moment de baker ils ne pourront pas créer de blocs. Ils auront le droit de baker mais ne pourront pas exercer ce droit.

Le droit de baker des blocs étant connu quelques semaines à l’avance, il est possible pour un Baker d’essayer d’acheter (ou d’emprunter) des tokens en prévision du dépôt requis. Cette possibilité est essentielle pour les Bakers avec une petite quantité de garantie qui ne créent un bloc qu’une fois ou deux et pour lesquels le dépôt peut représenter beaucoup plus que 8,25% de leur participation déléguée.

Pour aider les Bakers à se lancer, le protocole augmente initialement les dépôts de manière linéaire de 0% à 8,25% sur une période de six mois. Cette période laisserait suffisamment de temps aux Bakers populaires pour acquérir les tokens supplémentaires dont ils pourraient avoir besoin pour baker tous les blocs qu’ils sont autorisés à baker. Les délégués doivent surveiller leur trésorerie et être prêts à réagir si leur popularité augmente soudainement.

Source : Medium : « It’s a baker’s life »