2023 est la première année de l’épidémie de ZK, et il y a déjà quelques opinions. Dans cet article, nous nous concentrerons sur la discussion des différents types de pistes matérielles de zkEVM et ZKP, etc., et les analyserons un par un. Lors de la réunion de recherche en investissement sur le thème ZK initiée par ChainTimes la semaine dernière, tout le monde a activement communiqué. Cet article triera l'analyse sur zkEVM et le matériel partagé par MetaStone Capital.
01.À propos de zk-rollup
En tant que solution d'évolutivité Ethereum, Rollups peut regrouper et compresser les transactions via son propre réseau et les envoyer à la chaîne Ethereum pour vérification. Il peut augmenter l'efficacité opérationnelle du réseau en vérifiant plusieurs transactions sur le réseau en même temps. pour augmenter le nombre d’exécutions de transactions et parvenir à une expansion.
Grâce au nombre de transactions exécutées simultanément par Rollups lui-même, le problème TPS pour lequel Ethereum a été critiqué peut être amélioré. Sur la base de la sécurité d'Ethereum lui-même, le nombre de transactions exécutables peut être augmenté de plusieurs ordres de grandeur.
zkRollups peut combiner la confidentialité avec des solutions grâce à une technologie de preuve sans connaissance, qui permet à une partie de prouver quelque chose à une autre partie sans révéler les informations prouvant cette partie, garantissant ainsi la confidentialité. Bien entendu, tous les zkRollups ne profiteront pas des propriétés de confidentialité de la technologie à connaissance nulle. Dans le même temps, par rapport à L1, zkRollups a des économies d'échelle plus fortes. Quant à L1 Ethereum, son coût et sa vitesse de traitement ne conviennent généralement pas à un nombre croissant d'utilisateurs. Pour zkRollups, davantage d'utilisateurs de transactions réduiront davantage le coût. d'utiliser le réseau et d'atteindre l'objectif initial.
Les avantages évidents de l’application de zk-rollup sur ETH sont :
1. Partager la sécurité de la couche de consensus Ethereum
2. Résoudre le problème d'évolutivité dans le triangle impossible de la blockchain
3. D’énormes effets de réseau
02. Comment fonctionnent EVM et zkEVM
a. Principe de fonctionnement de l'EVM
Le bytecode du contrat intelligent est chargé à partir du stockage de l'EVM et exécuté par des nœuds peer-to-peer sur l'EVM.
Les opcodes EVM interagissent avec différentes parties de l'état EVM et effectuent des opérations de lecture et d'écriture (y compris la mémoire et la pile)
L'opcode EVM effectue des calculs sur la valeur obtenue du magasin d'état avant de renvoyer la nouvelle valeur pour terminer la transition d'état.
b. Comment fonctionne zkEVM
Autrement dit, une preuve de connaissance nulle est générée pour vérifier chacun des processus ci-dessus, un certificat de validité est généré et soumis au contrat du vérificateur ETH pour vérification. La vérification consiste à voir si la valeur correcte est obtenue à partir de l'ancien état, s'il y a un écart dans le calcul, etc. Le processus de génération d'une preuve de validité est également le processus de création d'un circuit de preuve sans connaissance.

Programme d'exécution 3.zkEVM
01. Les conditions de base de zkEVM nécessitent une machine virtuelle compatible evm pour exécuter des opcodes et exécuter des contrats intelligents.
02. Il existe un circuit de vérification qui génère des preuves de connaissance nulle. Terminez le processus de génération de preuves en utilisant les informations préalables à l'état, les entrées de transaction et les informations post-étatiques comme entrées.
03. Soumettre le certificat de validité au contrat de vérification de l'ETH pour vérification
4. Problèmes de compatibilité entre Scroll et zkSync, Starknet et Polygon
Etant donné qu'EVM n'a pas pris en compte la question du calcul de zkp lors de sa conception initiale, il existe deux manières de combiner zk+zvm :
une méthode de compilation
Starknet lui-même utilise le langage Cairo (langage système à preuve de connaissance nulle). Si les développeurs souhaitent déplacer des applications eth vers starknet, ils doivent emprunter le compilateur de l'équipe starknet pour la compilation, permettant aux projets écrits en Solidity de « un clic » sur leur base de code. » Se traduit au Caire.
zksync est également compilé dans le langage. Grâce au langage intermédiaire YUL, en utilisant le framework LLVM, le bytecode du contrat de solidité est compilé dans le langage YUL, puis compilé dans le bytecode exécutable zksync ZKEVM défini via le bytecode YUL.
Polygon est compilé sur du bytecode, et le bytecode de solidité open source est compilé en code de micro-opération exécutable polygon uvm, qui remplace en fait le code d'opération natif d'evm. Mais le point de progrès est de compléter la compatibilité evm à partir du niveau bytecode.
b.scroll est le processus de conception de circuits sans connaissance pour les opcodes evm
Scroll exécutera le contrat intelligent sur l'EVM, transférera le bytecode du contrat intelligent dans la mémoire, l'exécutera un par un à l'aide des opcodes, obtiendra l'arborescence Merkle et personnalisera un circuit pour chaque arborescence. Chaque opcode a un circuit et lorsqu'il est combiné, il n'y a aucune étape de traduction et il n'est pas nécessaire de modifier quoi que ce soit.
Le zkEVM au niveau du bytecode est convivial pour les développeurs : le déploiement à faible seuil est un point. De plus, sans convertir le code Solidity dans un autre langage de codage, les développeurs peuvent directement utiliser les outils de développement, les bibliothèques, les portefeuilles (tels que MetaMask) Ethereum courants. débogueur, c'est le plus critique. Au contraire, l'utilisation de la compatibilité au niveau du langage entraînera certaines difficultés pour les développeurs à utiliser les outils eth et à migrer les applications écologiques Ethereum, et la compatibilité sera moins bonne.
Compatibilité mise à part, comment comparer ZK-EVM :
Dans un environnement open source, les différences entre les différentes solutions ZK du système Prove global sont très faibles et les différences ne sont pas significatives, ce qui affecte faiblement l'efficacité de Prove. En termes d'ingénierie, cela se mesure en termes de complexité de preuve, de complexité de vérification, de complexité de communication, etc., ainsi que d'idées globales de développement de circuits. Il est impossible de juger qui gagnera à la fin. Car les effets de réseau, la culture communautaire, la promotion des opérations, les effets de richesse, l'accompagnement des développeurs, etc. sont autant d'éléments les plus importants de l'écosystème.
5. Types actuels de ZKP
Pour prouver un calcul via ZK, vous devez généralement traduire un programme traditionnel en un programme compatible ZK.
Plus le calcul est complexe et n'est pas compatible avec ZK, plus le processus de génération de preuve sera lent. Certaines opérations ne sont pas compatibles avec ZK (opération sha/bitwise). Si le calcul est convivial avec ZK, plus il est rapide. sera. Le système de preuve Il existe actuellement PLONK, Spartan et STARK. Ces systèmes de preuve peuvent produire une preuve basée sur l'entrée.
Cependant, le goulot d'étranglement actuel dans la génération de preuves n'est rien d'autre que l'un des deux. Tous les systèmes de preuve incluent essentiellement deux algorithmes : FFT et MSM. Le principal facteur limitant la vitesse des deux algorithmes dépend actuellement du coût du matériel et des coûts de bande passante.
Les types de matériel actuels incluent principalement les trois types suivants de GPU FPGA ASIC. Actuellement, ZKP en est encore à ses débuts. Il y a encore peu de travaux de normalisation sur les paramètres du système (tels que la largeur de la FFT ou la taille des éléments). le système de preuve est également Il n'y a pas de norme pertinente.
Sur la base des facteurs ci-dessus, pour les scénarios ZKP, le FPGA possède 2 attributs fondamentaux qui le rendent meilleur que l'ASIC :
01Écrire plusieurs fois » VS « Écrire une fois »
La logique métier sur l'ASIC est à écriture unique. S'il y a des modifications logiques ZKP, vous devez recommencer. Le FPGA peut re-flasher en 1 seconde et prend en charge le re-flash d'innombrables fois, ce qui signifie que le même matériel peut être réutilisé entre différentes chaînes exécutant des systèmes de preuve incompatibles (par exemple, si vous souhaitez extraire MEV à travers les chaînes), et le même matériel peut être réutilisé à tout moment. S'adapter de manière flexible aux changements dans la "méta" ZK.
02Approvisionnement plus sain :
La conception, la fabrication et le déploiement des ASIC prennent généralement 12 à 18 mois, voire plus. La chaîne d'approvisionnement des FPGA est saine. Les principaux fournisseurs de FPGA tels que Xilinx permettent de passer des commandes groupées en ligne (c'est-à-dire qu'aucun autre contact n'est requis) et d'arriver dans un délai de 16 semaines. Cela permet aux opérations centrées sur les FPGA d'avoir une boucle de rétroaction plus étroite sur leurs produits et d'étendre leurs opérations en achetant et en déployant davantage de FPGA.
Et nous nous attendons également à ce que les performances du FPGA soient meilleures que celles du GPU, principalement pour deux raisons :
1) Frais matériels : les meilleurs FPGA (principaux nœuds de traitement, vitesses d'horloge, efficacité énergétique et bande passante mémoire) sont environ 3 fois moins chers que les meilleurs GPU. La demande mondiale de GPU aggrave encore le problème.
2) Efficacité de la consommation d'énergie : la consommation d'énergie du FPGA est >10 fois supérieure à celle du GPU. La raison principale est que le GPU doit être connecté à un périphérique hôte, qui consomme généralement beaucoup d'énergie.
Nous pensons que les futurs gagnants du marché seront : FPGA > ASIC (ou GPU). Si une seule ou un petit nombre de solutions ZK L1 ou L2 dominent l'échelle à l'avenir et que le système de preuve ZK se stabilise autour d'une seule implémentation, alors l'ASIC pourrait dépasser le FPGA. Mais à l’heure actuelle, cette situation ne se produira pas dans quelques années.
Les mineurs de Bitcoin ont gagné plus de 15 milliards de dollars et les mineurs d’Ethereum un peu plus de 17 milliards de dollars. Les preuves sans connaissance finiront par devenir le support de facto de l'intégrité informatique et de la confidentialité sur le Web, auquel cas l'opportunité pour les mineurs/provers de ZK pourrait être de taille similaire à celle du marché minier de preuve de travail.
ZKP est lent et nécessite une accélération matérielle pour mettre en œuvre des calculs complexes. Nous pensons que la technologie la plus importante pour l'accélération matérielle ZK est le FPGA, et non le GPU (limité par le coût et l'efficacité énergétique) ou l'ASIC (limité par sa rigidité et son long cycle d'itération).