
zkSync Boojum mise à jour : un zkEVM plus sécurisé et plus efficace
TechFlow SélectionTechFlow Sélection

zkSync Boojum mise à jour : un zkEVM plus sécurisé et plus efficace
Nous croyons que Boojum représente la prochaine étape du zkEVM, plus sûre, plus évolutif et plus efficace.
Rédaction : zkSync
Traduction : TechFlow

TLDR
-
Mise à niveau : zkSync Era est en transition vers un nouveau système de preuve Boojum, sans nécessiter de régénération.
-
Performance : Boojum démontre des performances de preuve de premier ordre, complétant le séquenceur zkSync Era, déjà capable de traiter plus de 100 TPS.
-
Décentralisation : les prouveurs Boojum ne nécessitent que 16 Go de RAM, permettant une future décentralisation massive des prouveurs.
La mission de zkSync est d'avancer la liberté individuelle pour tous — en construisant un réseau blockchain fiable, sécurisé, sans autorisation, abordable, facile à utiliser, élastique et infiniment évolutif, rendant la propriété numérique universellement accessible.
Pour honorer cette mission, la version alpha de zkSync Era a été ouverte au public il y a plus de trois mois, avec des retours très impressionnants. Principaux faits marquants du réseau :
-
Valeur totale verrouillée (TVL) : 577 millions de dollars (source : L2Beat) ;
-
23 750 000 transactions au cours des 30 derniers jours — le plus élevé parmi tous les L2 (source : L2Beat) ;
-
9 735 contrats intelligents dont le code source a été vérifié.
En mars 2023, zkSync Era basé sur SNARK a vu le jour, utilisant un cadre de circuits éprouvé qui soutient déjà zkSync Lite en production depuis près de trois ans. Toutefois, nous savions que ce ne serait pas la version finale du système de preuve de zkSync Era, c’est pourquoi nous avons conçu ce système pour pouvoir y apporter des modifications fondamentales sans avoir à tout régénérer. Cela signifie que nous pouvons déployer des mises à jour cryptographiques majeures sans perturber les développeurs ni les utilisateurs.
En coulisses, nous travaillons depuis longtemps sur la mise à niveau cryptographique. Aujourd’hui, nous sommes heureux d’annoncer la première amélioration : zkSync Era est en train de passer à un nouveau système de preuve appelé « Boojum », de type STARK.
Découvrons Boojum
Boojum est notre bibliothèque arithmétique et de contraintes développée en Rust, que nous utilisons pour implémenter les circuits ZK des versions améliorées de zkSync Era et de ZK Stack.
Qu'est-ce que Boojum ?
Les caractéristiques de Boojum :
-
Arithmétisation PLONK : dans le contexte des protocoles de connaissance nulle, l'arithmétisation consiste à transformer un calcul général en une forme mathématique. Comme avec le système de preuve actuel, le nouveau système conserve une arithmétisation de style PLONK. Cette approche rend la rédaction des circuits ZK plus simple par rapport à certaines alternatives, facilitant ainsi le développement, l'audit, la maintenance et la mise à jour du système.
-
Schéma de compromis robuste : au cœur de Boojum se trouve le schéma de compromis FRI, composant clé qui nous permet de s'engager sur des polynômes bornés, puis de prouver efficacement que les valeurs révélées (« openings ») appartiennent bien à des polynômes de faible degré.
-
Efficacité du système : bien que la génération des témoins soit parfois négligée lorsqu’on parle de performance des prouveurs, dans la version actuelle du système de preuve, nous avons atteint un point où le temps de génération des témoins est comparable au temps de génération des preuves grâce à un prouveur GPU fortement optimisé. Avec Boojum, nous proposons une génération automatique parallèle des témoins (si le graphe de dépendance le permet), tout en conservant la simplicité de définition des fonctions de génération.
-
Facilité d'extension : l'abstraction du système de contraintes de base est très concise, mais elle permet aux utilisateurs d'ajouter divers types de portes personnalisées, par exemple en ajoutant certains polynômes spécialisés ou en réutilisant les soi-disant « colonnes génériques ». Une fois que l'utilisateur a défini une structure géométrique simple pour son circuit, l'interface d'extension fournit automatiquement la capacité de générer le prouveur, le vérificateur et le vérificateur récursif. Cela permet un processus de développement très efficace : si l'utilisateur modifie la structure du circuit ou choisit différents types de portes, il lui suffit de rappeler l'interface, qui régénère les clés et garantit qu'il utilise les bons prouveur et vérificateur.
-
Pile unique : avec Boojum, tout ce qui précède peut être exprimé uniquement à l’aide de constructions Rust standard et idiomatiques, tirant parti de la puissance expressive de son système de types. La partie intensive en calcul du prouveur GPU est écrite en CUDA C++, mais nous fournissons des liaisons Rust pour l’intégration.
Par défaut, Boojum utilise un champ premier de taille 2^64 - 2^32 + 1 (appelé « champ Goldilocks ») et fournit des implémentations des primitives correspondantes, comme la fonction de hachage Poseidon2, ainsi que des primitives cryptographiques standards basées sur des tables de recherche telles que SHA256, Keccak256 et Blake2s.
Importamment, à la dernière étape, nous utiliserons un SNARK opaque basé sur des accouplements pour envelopper la preuve STARK, et valider ce SNARK sur Ethereum. Cette preuve est beaucoup plus petite et moins coûteuse à vérifier ; cette étape réduit les coûts du système de preuve, et donc ceux des transactions elles-mêmes.
Pourquoi choisir Boojum ?
Deux facteurs clés ont guidé la conception de Boojum : (1) des performances de preuve de classe mondiale, et (2) la réduction des exigences matérielles pour la décentralisation.
Des performances de classe mondiale
Le système actuel basé sur SNARK, bien qu'efficace pour l'usage actuel, ne peut pas s'adapter aux volumes élevés de transactions et aux délais quasi instantanés requis par ZK Stack. L'objectif futur de zkSync Era, fonctionnant comme une Hyperchain, est de soutenir ces systèmes dans les années à venir. Nous imaginons des systèmes où les preuves peuvent être générées et vérifiées rapidement et à moindre coût, assurant ainsi une finalité rapide et une interopérabilité entre Hyperchains.
Les performances du système de preuve influencent directement les frais payés par les utilisateurs pour leurs transactions, frais qui doivent tendre vers zéro à long terme. La version actuelle du système est suffisamment efficace pour construire un zkEVM et traiter des millions de transactions en quelques mois, mais avec Boojum, nous pouvons faire encore mieux !
Pour mesurer le temps de génération des preuves (et d'autres indicateurs clés liés aux performances), nous avons collaboré avec Celer, une équipe expérimentée dans les tests comparatifs et l'analyse de plusieurs systèmes de preuve. Sur l'image ci-dessous, vous pouvez constater que Boojum se distingue dans la plupart des systèmes testés. Les résultats parlent d’eux-mêmes : notre implémentation démontre des performances de preuve de classe mondiale, et selon nos connaissances, c’est actuellement le système de preuve le plus rapide utilisé en production.
Pour une comparaison équitable, Celer a effectué ces tests sur des prouveurs basés sur CPU, alors que notre système principal utilise des prouveurs GPU, encore plus rapides.

Le passage à un système de preuve basé sur STARK représente une amélioration significative des performances et contribuera à assurer une faible latence pour la finalité et la prise en charge de niveaux d’activité croissants sur zkSync Era et d’autres systèmes basés sur ZK Stack.
Réduction des exigences matérielles pour la décentralisation
Ces résultats de performance sont particulièrement impressionnants sachant que ce n’est pas le seul indicateur que nous ayons optimisé — nous voulons améliorer les performances du système tout en abaissant les exigences matérielles pour l’exécuter.
Les systèmes de preuve couramment utilisés aujourd’hui, y compris notre propre système actuel, imposent des exigences matérielles élevées. Notre système actuel fonctionne sur des GPU A100, chacun disposant de 80 Go de RAM. Le besoin de machines coûteuses et puissantes constitue un obstacle majeur à notre objectif : un avenir de génération de preuves décentralisée pilotée par les utilisateurs. Pour atteindre cet objectif, il ne suffit pas de rendre la génération de preuves sans permission ; les utilisateurs ne devraient pas non plus avoir besoin d’une machine coûteuse équipée de centaines de Go de RAM pour y participer.
C’est justement dans ce domaine que nous avons accompli des progrès extrêmement remarquables ! Notre prouveur GPU pour Boojum nécessite seulement 16 Go de RAM. Ce seuil bas constitue une étape cruciale vers l’avenir que nous envisageons. Un prouveur basé sur CPU peut fonctionner avec seulement 64 Go de RAM, et nous espérons descendre à 32 Go, en exploitant pleinement les processeurs multi-cœurs modernes.
Enfin, le séquenceur de zkSync Era, basé sur Rust, peut déjà traiter plus de 100 transactions par seconde (TPS). L'introduction du nouveau système de preuve améliore non seulement les performances, mais réduit aussi les exigences matérielles, ce qui en fait un complément idéal au séquenceur. L'amélioration des performances apportée par Boojum signifie que le système peut prouver les transactions plus rapidement, tandis que la baisse des exigences matérielles améliore l'accès du réseau à des machines moins chères, favorisant ainsi une meilleure extensibilité horizontale.
Le chemin de Boojum vers la mainnet
L'équipe a passé plusieurs mois à développer cette mise à niveau, et nous sommes ravis d'être désormais arrivés à l'étape de test du système sur la mainnet. Nous souhaitons également partager quelques éléments de ce parcours jusqu'à présent.
Mettre à niveau zkSync Era
Tout d'abord, zkSync Era a été conçu pour permettre la mise à jour progressive de chaque composant, et le système de preuve ne fait pas exception.
À l’instar d’Ethereum, nous utilisons une structure de données d’arbre de Merkle pour stocker les informations sur l’état du réseau. Étant donné que nous devons prouver des déclarations concernant l’état du système, ces informations sont essentielles pour le système de preuve. Pour cet arbre de Merkle (et la manière dont le système de preuve interagit avec lui), une décision de conception clé a été d’utiliser une fonction de hachage non algébrique, spécifiquement Blake2s. Si nous avions uniquement cherché à faciliter la génération de preuves, nous aurions utilisé une fonction de hachage algébrique (comme Poseidon2), mais cela aurait couplé l’état observable aux paramètres du système de preuve — par exemple le choix du champ premier. Ainsi, toute mise à niveau du système de preuve aurait nécessité une régénération complète de l’état.
Du design à l'audit : le parcours de Boojum
Il y a environ un mois, nous avons commencé à assembler une version complète et bout-en-bout de notre nouvelle implémentation du système de preuve. Compte tenu de la complexité de ce changement et de l’importance critique de la correction du système, nous avons lancé une série d’audits internes et externes.
À ce moment-là, le circuit zkEVM et la bibliothèque d'arithmétisation Boojum étaient encore en développement actif, mais nous avons collaboré avec des auditeurs de sécurité externes afin d’identifier précocement d’éventuels problèmes de solidité dans nos principaux circuits et composants Boojum. Nous avons travaillé étroitement avec eux, en leur fournissant un accès complet au code source et à la documentation, et ils ont examiné et testé les circuits zkEVM et les outils Boojum, en combinant méthodes automatisées et tests manuels.
Boojum : de l'audit aux tests
Nous en arrivons maintenant à aujourd’hui, et à la prochaine étape de notre déploiement progressif : le mode « ombre » sur la mainnet ! Nous sommes heureux d’annoncer que nous exécutons désormais le nouveau système de preuve en parallèle avec l’ancien, bien que Boojum soit actuellement en phase de test uniquement. Nous avons commencé à générer et à vérifier des « preuves fantômes » pour les blocs de la mainnet.
Ces preuves fantômes ne sont pas nécessaires au fonctionnement de zkSync Era sur la mainnet — celle-ci continuera d’être pilotée par le système de preuve existant. Nous les validons simplement pour continuer à tester et optimiser le système, mais en utilisant les données réelles d’activité des utilisateurs de zkSync Era.
Boojum : des tests à la mainnet
Comme pour tout ce que nous faisons, la sécurité reste la priorité absolue. Nous n’envisagerons la migration que lorsque nous serons entièrement satisfaits des tests du nouveau système, et nous partagerons davantage de détails dans les semaines et mois à venir. Nous prévoyons également de nouveaux audits et évaluations de sécurité pour rapprocher encore cette mise à niveau passionnante d’un déploiement complet, tout en remplaçant progressivement l’actuel système de preuve.
Nous sommes convaincus que Boojum représente la prochaine étape plus sûre, plus évolutive et plus efficace pour le zkEVM.
Bienvenue dans la communauté officielle TechFlow
Groupe Telegram :https://t.me/TechFlowDaily
Compte Twitter officiel :https://x.com/TechFlowPost
Compte Twitter anglais :https://x.com/BlockFlow_News














