Taiko pense que plusieurs preuves dans ZK peuvent jeter les bases de la diversité des nœuds SNARKed dans Ethereum L1 à l’avenir.
Texte sélectionné : Taiko
Compilé par : Frank, Foresight News
Il n’y a pas si longtemps, nous avons partagé un article détaillé intitulé “Pourquoi le multi-preuve est important”, expliquant l’importance des multi-preuves (Multi-Proofs) et considérant SGX comme l’une des options pour les multi-preuves.
Cet article a été inspiré par notre travail avec Vitalik sur X Space et son article de blog ultérieur sur la feuille de route globale de Taiko pour la multi-épreuve : son rapport avec la phase finale d’Ethereum, quelle est notre vision et où nous irons. Comment y parvenir.
Nous pensons que la multi-preuve dans ZK peut être transformée en l’utilisation de multi-SNARK + multi-client, c’est-à-dire en utilisant plusieurs ZK-SNARK pour prouver une variété de nœuds Ethereum différents, ce qui fournira une diversité de nœuds SNARK dans Ethereum L1 dans l’avenir. Poser les fondations.
Pour fournir une justification très simple à des preuves multiples, nous devons mentionner deux points :

Semblable à la mise en œuvre multi-nœuds d’Ethereum, cette approche a évité l’effondrement du réseau à plusieurs reprises, prouvant que les blocs L1 nécessitent une approche multi-vérification. Pour les scénarios ZK et non-ZK, cela signifie utiliser plusieurs nœuds et différents systèmes de preuve.
Comme Vitalik le décrit dans son article « À quoi pourrait ressembler un « ZK-EVM consacré » ? », il existe deux approches des systèmes multi-clients : « ouvert » et « fermé ».
Si l’utilisateur a besoin de vérifier un certain bloc, l’implémentation la plus simple consiste à exécuter directement le nœud correspondant pour réexécuter le bloc, ou à demander un certificat de validité à un prouveur connu. Si un certain nombre de certificats répondant aux critères de la « liste blanche » sont reçus, le blocage est considéré comme légitime. Cependant, s’il n’existe pas de preuve à connaissance nulle (ZKP) répondant aux critères de la « liste blanche » et que nous voulons éviter une réexécution, quelle preuve à connaissance zéro devrions-nous utiliser ?
Selon la vision de Vitalik, ce problème est résolu par un consensus social (ou cryptoéconomique) en dehors du protocole :
Sur la couche consensus, nous avons ajouté une règle de validation : un nœud n’acceptera un bloc que s’il a vu une preuve valide pour chaque changement d’état dans le bloc. La preuve doit être une preuve ZK-SNARK, utilisée pour prouver que la connexion de transaction_and_witness_blobs est la sérialisation de paires (Block, Witness), et l’exécution du bloc basée sur pre_state_root et Witness (i) est valide et (ii) affiche le post_state_root correct. Potentiellement, les nœuds pourraient choisir d’attendre plusieurs types de preuves M-of-N.

Imaginez qu’un constructeur honnête dispose d’un bloc de type 1 qu’il souhaite valider ; la couche L2 propose déjà plusieurs options, telles que Polygon, ZkSync et Scroll.
En supposant que leurs ZK-EVM ont été développés pour le type 1 et sont réputés et testés au combat, alors le constructeur choisira parmi ces systèmes de preuve disponibles, et la personne validant son bloc exécutera le logiciel de vérification correspondant, et enfin c’est bon pour créer plusieurs types de preuves et les vérifier plusieurs fois. Étant donné la même spécification de chaîne L1, si un validateur n’est pas d’accord, la vérification des blocs devient une question de consensus et le système ouvert parviendra à la cohérence des résultats de vérification grâce au consensus.
Les systèmes de preuve gagneront en influence en convainquant les utilisateurs de leur faire confiance, et non en convaincant le processus de gouvernance du protocole.
Selon Vitalik, cela signifie que l’écosystème ZKP s’ouvre à la commercialisation directe. S’il existe des incitations, les implémentations L2 existantes peuvent rivaliser sur le marché de la certification L1.
Dans le protocole Taiko, le proposant doit trouver un prouveur pour proposer un bloc, et le prouveur désigné déposera TKO en guise de dépôt pour s’assurer qu’il n’y a aucun problème avec la preuve qu’il délivre. L’accord Taiko ne précise pas comment le proposant trouve et rémunère le prouveur, ils pourraient donc même se rencontrer en personne et échanger en espèces.
Notre chaîne d’approvisionnement fonctionne donc comme un marché libre et les proposants peuvent choisir n’importe quel prouveur de leur choix.

En plus des avantages économiques, certaines caractéristiques techniques rendent Taiko idéal pour les systèmes multi-clients :

Taiko fonctionne sur plusieurs systèmes de preuve et le réseau de test existant prend déjà en charge ZK-EVM, SGX et Reth de PSE. L’infrastructure est configurée pour accueillir plusieurs nœuds d’exécution et systèmes d’attestation, qui seront abordés dans la dernière section. En s’appuyant sur cette infrastructure, Taiko se concentrera sur la compilation modulaire en termes de preuves à connaissance nulle.
Taiko exploite des compilateurs modernes pour des composants courants tels que Risc-V ou WASM en pensant au multi-client dans le contexte des Zero-Knowledge Proofs (ZKP). Ces instructions sont ensuite converties en représentations arithmétiques pour différents systèmes de preuve (AIR ou PIL), et enfin les traces d’exécution arithmétique sont codées à l’aide de différents SNARK.
En bref, ce processus constitue l’approche la plus réalisable dans un système multi-preuves car il tire parti du meilleur des deux mondes. Pendant le processus de compilation des nœuds, les compilateurs modernes nous apportent les avantages suivants :
La compilation SNARKs est au centre du développement futur de Taiko. Veuillez noter que lors du codage de méthodes arithmétiques telles que PLONK et R1CS avec des backends tels que Halo2, eSTARK ou Supernova, elles ne sont pas limitées à un seul protocole ZK ; tandis que le ZK-VM/EVM monolithique effectue des implémentations backend pour des ZKP spécifiques. À mesure que de plus en plus de projets adoptent les composants des autres pour améliorer les performances, la pile technologique globale deviendra probablement modulaire.
Étant donné que le domaine de recherche du ZKP se développe rapidement, la flexibilité est plus importante que la mise en œuvre directe des derniers résultats. Pour maintenir la flexibilité, collaborez sur des projets comme Powdr Labs et Risc Zero pour travailler sur des pipelines de compilation croisée et les rendre aussi modulaires que possible.
Pour les lecteurs férus de technologie, voici les avantages spécifiques :
Dans un effort de collaboration, Taiko a intégré Zeth et ZK-VM de Risc Zero pendant le développement et a développé un backend SGX supplémentaire pour celui-ci. Les ingénieurs de Taiko intégreront également Powdr dans des systèmes multi-épreuves, développeront le langage et les bibliothèques PIL, optimiseront la compilation, ajouteront davantage de backends et effectueront une accélération générale de bas niveau. Au niveau matériel, la Zero-Knowledge Acceleration Layer (ZAL) de Taiko vise à normaliser la relation collaborative entre les systèmes de preuve (Halo2, Arkworks, Risc Zero, Polygon, etc.) et les bibliothèques d’accélération (CPU, GPU, FPGA, etc.).

Plus vous avez de nœuds, de systèmes de preuve et de backends intégrés, meilleure est l’ouverture, c’est pourquoi Taiko s’efforce de rassembler l’ensemble de la communauté. L’équipe Taiko a une longue histoire de collaboration avec d’autres projets, par exemple avec PSE sur ZK-EVM. et Risc Zero coopèrent.
Désormais, en créant une pile ZK plus modulaire, Taiko peut efficacement extraire l’API pour une meilleure ubiquité et intégration. Taiko servira de plate-forme pour expédier des systèmes de preuve en production et pour des tests en direct en chaîne. Taiko invite sincèrement tous les projets à se joindre à la création d’une meilleure technologie sans connaissance.
Une infrastructure évolutive et flexible est essentielle au paradigme multi-épreuve de Taiko.
La source de la preuve de validité ZK est le journal d’état du nœud (ution Trace) et les preuves de stockage (Storage Proofs), qui sont utilisées pour construire les données des témoins (témoins) et les entrées publiques. Notez que les témoins sont spécifiques à la preuve, tandis que les contributions du public sont spécifiques au protocole. Il est important de disposer d’une infrastructure solide pour gérer la génération de témoins. Par conséquent, nous utilisons un hôte léger pour effectuer des journaux d’état à partir de Multi-Client et les convertir en divers témoins à fournir au système de certification correspondant.
Du côté de la preuve, la conception prend en charge les piles modulaires et monolithiques, tandis que nous extrayons les mêmes entrées communes du nœud cible (actuellement Geth).

À l’avenir, Geth en tant que nœud Taiko pourra être remplacé par un autre nœud si le format du journal d’état est compatible. De plus, les nœuds légers exécutés sur le système de preuve (actuellement Reth) peuvent également être remplacés par toute implémentation compilée dans un langage assembleur acceptable.