Taiko : Qu’est-ce que c’est, comment ça fonctionne et comment en acheter ?

Taiko crypto logo

Tout le contenu Coin Academy pour Taiko

Introduction

A ce jour, Ethereum est le réseau le plus utilisé de l’écosystème blockchain. En effet, il a su être le porteur de nombreuses créations de valeur en son sein. Pour parvenir à cela, le réseau a dû néanmoins privilégier certains attributs par rapport à d’autres.

Nous pensons notamment à la sécurité du protocole qui a fait ses preuves un bon nombre de fois, mais également à la décentralisation par opposition à l’évolutivité du réseau.

Les deux piliers privilégiés (à juste titre) sont primordiaux pour la création d’applications à fortes valeurs sur le réseau Ethereum. Cependant, dans une blockchain publique aussi populaire, si l’évolutivité n’est pas efficiente, alors bon nombre d’utilisateurs et cas d’utilisations ne pourront pas tirer parti du réseau. Ceci est dû au faible débit pouvant être géré par la blockchain ainsi que ses frais prohibitifs.

C’est ici qu’intervient le projet Taiko, une solution ZK Rollup compatible avec l'Ethereum Virtual Machine (EVM) quelque peu particulier qui a pour objectif d’offrir à Ethereum toute la puissance de traitement qu’il mérite.

Rappel

Afin de bien comprendre la logique de fonctionnement cachée derrière le projet Taiko et ses implications dans l’écosystème, il est important que certains termes soient brièvement expliqués en amont.

Qu'est-ce qu'un ZK Rollup ?

Concrètement, les ZK Rollups au même titre que les optimistic rollup, sont des solutions de seconde couche (layer 2) permettant d'accroitre la scalabilité d’une blockchain de première couche (layer 1) comme Ethereum, Cardano ou Tezos.

Pour faire simple, les ZK Rollups vont traiter et exécuter des transactions, les regrouper par lot en dehors de la blockchain (off-chain) principale puis publier uniquement des preuves de validité (ZK proof) sur la chaine principale.

Chaque lot comprend une preuve cryptographique appelée ZK-SNARK ou ZK-STARK.

On notera deux sous-catégories de ZK Rollup, les Natifs EVM (Ethereum Virtual Machine) et les équivalent EVM.

Si vous souhaitez en apprendre plus sur ces concepts, nous vous recommandons l’un de nos articles dédiés au sujet.

Taiko, qu’est-ce que c’est ?

Taiko est une solution ZK Rollup équivalent EVM (Ethereum Virtual Machine) souhaitant venir mettre à l’échelle le réseau Ethereum.

Comme brièvement expliqué ci-dessus, le projet Taiko viendra traiter des transactions off-chain afin de désengorger le réseau principal et viendra y publier seulement les preuves de validités (ZK proof) de type ZK-SNARK.

Là où le projet se démarque de ses concurrents, c’est dans la décision de prioriser l’équivalence EVM. Le but étant de rendre le ZK Rollup aussi fidèle que possible aux spécifications EVM et Ethereum afin de pouvoir prendre en charge tous les contrats intelligents, dapps, outils de développement et infrastructures Ethereum déjà existants.

Cette compatibilité offre aux développeurs du réseau Ethereum la possibilité de déployer leur contrat Solidity tel quel et de continuer d’utiliser les outils qui leur sont familiers.

Outre le composant “ZK-EVM” compatibilité maximale (dont nous parlerons plus tard), qui prouve l'exactitude du calcul de l'EVM sur le rollup, Taiko met en œuvre une architecture blockchain de deuxième couche pour le soutenir.

Fonctionnement Taiko

Taiko cherche à mettre en place une architecture aussi légère, décentralisée & sans permission que possible.

Le projet Taiko est porté par des besoins inhérents au réseau Ethereum. En effet, il n’est pas difficile de constater une forte demande concernant les frais de réseau de la part des développeurs de dApps et de protocoles ainsi que des utilisateurs qui finissent souvent par migrer vers des blockchains concurrentes jugées plus performances (Solana, Avalanche, Fantom…) ou des sidechains avec une sécurité bien moins élevée que la chaine de première couche elle-même.

Vous l’aurez compris, le design de Taiko répond à quelques principes de base :

  • Aligné sur Ethereum : Le but étant d’aider Ethereum à se développer de la meilleure des façons possibles, l’Ether (ETH) sera utilisé pour payer les frais de transaction (Gas) du layer 2
  • Équivalent Ethereum : La conception doit coller le plus possible à celle d'Ethereum, non seulement pour des raisons de compatibilité, mais aussi pour répondre aux attentes et aux exigences des utilisateurs des solutions L2 d'Ethereum
  • Sécurité : La conception du protocole privilégie la sécurité avant tout
  • Simplicité : Le protocole doit être construit de manière à être simple et se concentrer uniquement sur le cœur du protocole ZK Rollup et non sur son évolutivité et sa gouvernance
  • Robustesse : Toutes les hypothèses de sécurité doivent être directement ou indirectement appliquées par Ethereum et le protocole. Le mécanisme de Proof of Stake est nécessaire pour sanctionner les comportements malveillants
  • Décentralisation : La conception doit encourager un haut degré de décentralisation en termes de proposition et preuve de blocs. Une forte décentralisation impliquera la continuité fiable du fonctionnement du protocole, et ce même en cas de comportement malhonnête.
  • Permisionless (sans permission) : Toute personne qui le souhaite doit pouvoir rejoindre et quitter le réseau à tout moment, sans causer de perturbation significative au réseau ou sans porter préjudice à la partie en question. Aucune entité unique ne doit avoir le pouvoir d'autoriser ou de bloquer des participants

Du point de vue de Taiko, les ZK Rollups équivalant à Ethereum, parfois appelés ZK-EVM (ou zkEVM), sont le Saint Graal des solutions de mise à l'échelle de niveau 2, car ils ne font aucun compromis sur la sécurité ou la compatibilité contrairement à leurs homologues.

Comment fonctionne Taiko ?

Comme expliqué précédemment, l’objectif de TAIKO est de concevoir un ZK Rollup entièrement équivalent Ethereum.

Ceci implique que Taiko pourrait interpréter le bytecode EVM, mais également qu’il utilise les mêmes fonctions de hachage, arbre d’état et autres logiques de consensus que lui.

Il est également bon de noter qu’à l’avenir, si le protocole Ethereum est mis à jour, Taiko mettra out en œuvre pour maintenir la synchronisation.

Taiko se décompose en trois parties principales :

  • Les circuits ZK-EVM (pour la génération de preuves)
  • Les nœuds rollup L2 (pour la gestion de la rollup chain)
  • Le protocole sur la L1 (pour connecter ces deux parties ensemble pour la vérification du protocole rollup)

Le ZK-EVM prouve l'exactitude des calculs EVM sur le rollup avec des preuves de validité ZK Proof ou ZK-SNARK plus précisément. La conception respecte les principes fondamentaux de sécurité, de décentralisation et d'absence d'autorisation.

Ce sont les contrats intelligents déployés sur le layer 1 qui feront office de mécanisme de disponibilité des données et de vérificateur des preuves ZK-SNARK.

On relèvera alors 3 rôles s’inscrivant dans l’architecture décrite ci-dessus :

  • Proposants : Ils construisent des blocs sur le rollup à partir des transactions Layer 2 des utilisateurs puis les proposent sur le Layer 1. Tout participant volontaire peut exécuter cette fonction de création de blocs
  • Prouveurs : Leur objectif est de générer des preuves ZK-SNARK attestant de la validité des transactions et des blocs Layer 2 à partir des blocs proposés par les proposants
  • Les Nodes runners : Ce sont eux qui permettent de rester en phase avec l’état de la chaîne en exécutant des transactions à partir des données présentes sur celle-ci

La proposition de bloc sur Taiko

Sur Taiko, la soumission de blocs se divise en deux parties.

Dans un premier temps, vient la proposition de bloc. Celle-ci implique que lorsqu’un bloc est proposé, les données de ce bloc sont publiées sur Ethereum et le bloc est ajouté à la liste des blocs proposés stockée dans le contrat TaikoL1.

Une fois enregistré, le protocole garantit l’immuabilité du bloc.

Dans un second temps, vient la vérification de bloc. Taiko ayant un contrat intelligent déployé sur la L1 où la liste des blocs proposés est stockée, lorsqu'un bloc est proposé, les données du bloc sont publiées sur Ethereum et le bloc est immédiatement finalisé.

Ce procédé rend la vérification beaucoup plus rapide puisque les données sont déjà finalisées.

L'architecture de Taiko

Le protocole Taiko ZK Rollup est composé de deux contrats intelligents (smart contracts) déployés sur la couche 1 et 2 (L1 et L2).

TaikoL1 déployé sur Ethereum et permet de proposer, prouver et vérifier les blocs du L2 (TaikoL2).

Ce contrat intelligent maintient les variables d’état suivants :

  • Le nombre total de blocs proposés et l'ID du prochain bloc proposé
  • La liste des blocs proposés
  • L'ID du dernier bloc vérifié
  • La correspondance entre les hachages de validation des blocs validés et les numéros des blocs L1 qu'ils contiennent
  • La correspondance entre les ID des blocs proposés et leurs choix de Fork

Le Taiko L2 (contrat intelligent déployé sur le Layer 2) lui, permet de réutiliser la programmabilité de l’EVM et facilite l’ancrage (la transaction d’ancrage est un moyen pour Taiko d'utiliser la programmabilité de l'EVM pour faire respecter certains comportements du protocole).

Il permet également de prouver la non-validité d’un bloc ayant été proposé.

Malgré tout, il est important de noter que certains EIP seront désactivés lors de l’implémentation, mais seront réactivés par la suite dans un futur proche.

EIP upgrades on Taiko

Si vous souhaitez rentrer plus en profondeur dans ces concepts qui composent le protocole, nous vous recommandons vivement de consulter le whitepaper du projet.

Conclusion

Les solutions mises en place pour améliorer la scalabilité du réseau Ethereum sont nombreuses, mais présentent souvent des compromis de conception ou d’application nécessaires pour fonctionner.

Taiko, lui, offre des solutions pour ces problématiques en proposant une architecture différente de ses concurrents.

Le projet n’est que très récent et a encore beaucoup de choses à prouver, mais présente un potentiel certain pour l’avenir et l’adoption de masse du réseau Ethereum.