Dans l'article "Aperçu d'un secteur prometteur: le marché de la puissance de calcul décentralisée (Partie I)", nous avons déjà saisi l'importance de la puissance de calcul dans le contexte des attentes en matière d'IA et avons exploré en profondeur les deux principaux défis auxquels est actuellement confronté l'établissement d'un marché décentralisé de la puissance de calcul AGI. Cet article débutera avec les concepts fondamentaux des preuves de connaissance nulle et, en approfondissant progressivement, explorera les multiples possibilités du marché de la puissance de calcul décentralisée, un secteur en pleine expansion et prometteur. (L'article précédent a également abordé le marché de la puissance de calcul de Bitcoin, mais compte tenu de la croissance explosive récente de l'écosystème Bitcoin, cet aspect sera discuté plus en détail dans nos futurs articles liés à l'écosystème Bitcoin.)
Au milieu des années 1980, trois cryptographes du MIT (Shafi Goldwasser, Silvio Micali et Charles Rackoff) ont publié un article intitulé « La complexité de la connaissance des systèmes de preuves interactives ». Cet article décrit une technique cryptographique innovante qui permet la vérification de l'authenticité des informations sans révéler ces informations elles-mêmes. Les auteurs ont nommé cette technique « preuve de zéro-connaissance » et ont fourni une définition et un cadre spécifiques pour le concept.
Au cours des décennies suivantes, la technologie de preuve de zéro-connaissance, basée sur ce document, s'est progressivement développée et améliorée dans divers domaines. Aujourd'hui, les preuves de zéro-connaissance sont devenues un terme global représentant de nombreuses méthodes cryptographiques "modernes" ou "avancées", en particulier celles liées à l'avenir de la blockchain.
Preuve de connaissance nulle (ZKP), utilisée de manière interchangeable dans ce texte en fonction du contexte, désigne une méthode permettant à un prouveur de démontrer la véracité d'une déclaration à un vérificateur sans fournir d'informations spécifiques sur la déclaration elle-même. Les trois attributs fondamentaux de cette méthode comprennent la complétude, la justesse et la non-divulgation. La complétude garantit la provabilité des déclarations vraies, la justesse garantit que les déclarations fausses ne peuvent pas être prouvées, et la non-divulgation signifie que le vérificateur n'obtient aucune information au-delà de la vérité de la déclaration.
Basé sur la méthode de communication entre le prouveur et le vérificateur, il existe deux types de preuves de zéro connaissance : interactives et non interactives. Dans les preuves interactives, il y a une série d'interactions entre le prouveur et le vérificateur. Ces interactions font partie du processus de preuve, où le prouveur répond à une série de requêtes ou défis du vérificateur pour prouver la véracité de leur déclaration. Ce processus implique généralement plusieurs tours de communication, le vérificateur posant une question ou un défi à chaque tour et le prouveur répondant pour prouver la justesse de leur déclaration. Dans les preuves non interactives, plusieurs tours d'interaction ne sont pas nécessaires. Ici, le prouveur crée une preuve unique et vérifiable de manière indépendante et l'envoie au vérificateur. Ce dernier peut vérifier indépendamment la véracité de cette preuve sans autre communication avec le prouveur.
1.Interactif : L'histoire d'Alibaba et les Quarante Voleurs est un exemple classique souvent cité pour expliquer les preuves interactives à zéro connaissance. Dans une version simplifiée de l'histoire, Alibaba, qui connaît les mots magiques pour ouvrir une caverne remplie de trésors, est capturé par les voleurs. S'il révèle les mots magiques, il risque d'être tué faute d'utilité supplémentaire. S'il refuse, les voleurs pourraient le tuer pour ne pas connaître le secret. Pour prouver qu'il connaît le secret sans le révéler, Alibaba utilise deux entrées, A et B, de la caverne, qui mènent toutes deux à une chambre centrale avec une porte protégée par mot de passe. Alibaba entre dans la caverne et choisit une entrée tandis que les voleurs attendent dehors, incapables de voir son choix. Les voleurs appellent alors aléatoirement A ou B, exigeant qu'Alibaba sorte par l'entrée choisie. Si Alibaba connaît vraiment les mots magiques, il peut utiliser le mot de passe pour passer par la porte centrale et sortir par l'entrée désignée. En répétant avec succès ce processus plusieurs fois, Alibaba prouve qu'il connaît le secret sans le divulguer.
Les preuves de connaissance nulle ont diverses implémentations dans la blockchain, avec zk-STARK (Zero-Knowledge Scalable Transparent Argument of Knowledge) et zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) étant les plus connues. Les deux sont des preuves de connaissance nulle non interactives, comme indiqué par "Non-Interactive" dans leurs noms.
zk-SNARK est un schéma de preuve à divulgation nulle d'informations largement utilisé à usage général (non une seule technologie mais une catégorie). Il convertit n'importe quel processus computationnel en une série de circuits logiques, puis utilise les propriétés polynomiales pour transformer ces circuits en polynômes, comprimant ainsi et générant de petites preuves non interactives pour des applications professionnelles complexes. zk-SNARK nécessite une configuration de confiance, où plusieurs parties génèrent chacune une partie de la clé dans un environnement de confiance, puis la détruisent. Si les informations secrètes utilisées dans la configuration de confiance ne sont pas détruites, elles pourraient être exploitées pour falsifier des transactions via une fausse vérification.
zk-STARK a évolué à partir de zk-SNARK, abordant la dépendance aux configurations de confiance. Il peut effectuer la vérification de la blockchain sans aucune configuration de confiance, réduisant la complexité du lancement de réseaux et éliminant les risques de collusion. Cependant, zk-STARK a le problème de générer des preuves plus importantes, ce qui est désavantageux en termes de stockage, de vérification on-chain et de temps de génération. Si vous avez utilisé les premières versions de StarkNet (en utilisant zk-STARK), vous avez peut-être remarqué une différence significative de vitesse et de frais de gaz par rapport à d'autres solutions de couche 2. Ainsi, zk-SNARK est plus couramment adopté. D'autres solutions moins courantes incluent PLONK et Bulletproofs, chacune avec ses propres avantages et inconvénients en termes de taille de preuve, temps de prouveur et temps de vérification. Atteindre une preuve de connaissance nulle idéale est un défi, et les algorithmes les plus courants équilibrent généralement différentes dimensions.
Le développement de ZK implique généralement deux composants clés :
Expression de calcul compatible ZK : cela inclut un langage spécifique à un domaine (DSL) ou une bibliothèque de bas niveau. Les bibliothèques de bas niveau comme Arkworks fournissent des outils et des primitives nécessaires, permettant aux développeurs de réécrire manuellement le code dans un langage de plus bas niveau. Les DSL comme Cairo ou Circom sont des langages de programmation adaptés aux applications ZK, se compilant en les primitives nécessaires à la génération de preuves. Des opérations plus complexes entraînent des temps de génération de preuves plus longs, et certaines opérations (comme les opérations bit utilisées dans SHA ou Keccak) peuvent ne pas être adaptées à ZK, ce qui entraîne une génération de preuves longue.
Système de preuve : Le système de preuve est le cœur d’une application ZK, mettant en œuvre deux fonctions de base : Prouver et Vérifier. La fonction Prouver permet de générer une preuve (nécessitant des calculs mathématiques approfondis, les preuves plus complexes prenant plus de temps à générer) qu’une affirmation est correcte sans révéler les détails de la preuve. La fonction Vérifier permet de vérifier l’exactitude de cette preuve (plus la preuve est complexe et volumineuse, plus les performances sont élevées et plus le temps nécessaire à la vérification est court). Différents systèmes d’épreuve, tels que Groth16, GM17, PLONK, Spartan et STARK, varient en termes d’efficacité, de sécurité et de facilité d’utilisation.
Ponts inter-chaînes ZKP et interopérabilité : ZKP peut créer des preuves de validité pour les protocoles de messagerie inter-chaînes, permettant aux messages d'être rapidement vérifiés sur la chaîne cible. Cela est similaire à la vérification des zkRollups sur la base L1. Cependant, la messagerie inter-chaînes est plus complexe en raison des différents schémas de signature et des fonctions cryptographiques qui nécessitent une vérification entre les chaînes source et cible.
La puissance de calcul dans les moteurs de jeu sur chaîne avec ZKP : Dark Forest montre comment ZKP peut permettre des jeux d'information incomplète sur chaîne. Cela est crucial pour concevoir des jeux plus interactifs où les actions des joueurs restent privées jusqu'à ce qu'ils choisissent de les révéler. À mesure que les jeux sur chaîne évoluent, le ZKP deviendra une partie des moteurs d'exécution de jeu. Les startups qui intègrent avec succès des fonctionnalités de confidentialité dans des moteurs de jeu sur chaîne à haut débit joueront un rôle important.
Solutions d'identité : ZKP ouvre de multiples opportunités dans le domaine de l'identité. Ils peuvent être utilisés pour des preuves de réputation ou pour relier les identités Web2 et Web3. Actuellement, nos identités Web2 et Web3 sont séparées. Des projets comme Clique utilisent des oracles pour connecter ces identités. ZKP peut aller plus loin en liant de manière anonyme les identités Web2 et Web3, permettant des cas d'utilisation tels que l'adhésion anonyme à un DAO, à condition qu'ils puissent prouver une expertise spécifique au domaine en utilisant des données Web2 ou Web3. Un autre cas d'utilisation est les prêts Web3 non garantis basés sur le statut social Web2 de l'emprunteur (par exemple, le nombre de followers sur Twitter).
ZKP pour la conformité réglementaire : Web3 permet aux comptes en ligne anonymes de participer activement au système financier, en offrant une liberté financière et une inclusivité importantes. Avec l'augmentation des réglementations Web3, ZKP peut être utilisé pour se conformer sans compromettre l'anonymat. ZKP peut prouver qu'un utilisateur n'est pas citoyen ou résident d'un pays sanctionné. Il peut également être utilisé pour prouver le statut d'investisseur agréé ou tout autre exigence KYC/AML.
Financement par emprunt privé Web3 natif : Le financement par emprunt TradeFi est souvent utilisé pour aider les startups en croissance à accélérer leur croissance ou à démarrer de nouveaux secteurs d’activité sans ajouter de capital-risque supplémentaire. L’essor des DAO Web3 et des entreprises anonymes crée des opportunités de financement par emprunt Web3 natif. Par exemple, en utilisant ZKP, les DAO ou les entreprises anonymes peuvent obtenir des prêts non garantis et des taux compétitifs basés sur des mesures de preuve de croissance, sans divulguer d’informations sur les emprunteurs aux prêteurs.
Confidentialité dans la DeFi : Les institutions financières maintiennent souvent la confidentialité de leur historique de transactions et de leur exposition au risque. Cependant, l'utilisation des protocoles de finance décentralisée (DeFi) on-chain devient difficile en raison de l'avancée des techniques d'analyse on-chain. Une solution potentielle consiste à développer des produits DeFi axés sur la confidentialité pour protéger la vie privée des participants. Un tel protocole qui tente cela est le zkSwap de Penumbra. De plus, le zk.money d'Aztec offre des opportunités de gains DeFi privés en obfusquant la participation des utilisateurs dans des protocoles DeFi transparents. En général, les protocoles qui mettent en œuvre avec succès des produits DeFi efficaces et axés sur la confidentialité peuvent attirer des volumes de transactions importants et des revenus provenant des participants institutionnels.
ZKP pour la publicité Web3 : Web3 permet aux utilisateurs de posséder leurs droits sur les données, comme l'historique de navigation, les activités de portefeuille privé, etc. Web3 permet également la monétisation de ces données au bénéfice des utilisateurs. Comme la monétisation des données peut entrer en conflit avec la vie privée, ZKP peut jouer un rôle crucial dans le contrôle des données personnelles pouvant être divulguées aux annonceurs et agrégateurs de données.
Partage et Monétisation des Données Privées : Beaucoup de nos données privées, si elles sont partagées avec les bonnes entités, peuvent avoir des impacts significatifs. Les données de santé personnelles peuvent être crowdsourcées pour aider les chercheurs à développer de nouveaux médicaments. Les dossiers financiers privés peuvent être partagés avec les organismes de réglementation et de surveillance pour identifier et punir les pratiques corrompues. ZKP peut permettre le partage et la monétisation privés de telles données.
Gouvernance : Alors que les DAO (organisations autonomes décentralisées) et la gouvernance on-chain deviennent de plus en plus répandues, le Web3 s’oriente vers une démocratie participative directe. L’une des principales failles du modèle de gouvernance actuel est la non-confidentialité de la participation. Le ZKP peut jouer un rôle fondamental dans la résolution de ce problème. Les participants à la gouvernance peuvent voter sans révéler leurs choix de vote. De plus, ZKP peut restreindre la visibilité des propositions de gouvernance aux seuls membres de la DAO, ce qui permet aux DAO de créer des avantages concurrentiels.
ZKRollup: Scaling est l'un des cas d'utilisation les plus importants de ZKP dans la blockchain. La technologie zkRollup agrège plusieurs transactions en une seule transaction. Ces transactions sont traitées et calculées hors chaîne (en dehors de la chaîne principale de la blockchain). Pour ces transactions agrégées, zkRollup utilise ZKP pour générer une preuve qui peut vérifier la validité des transactions sans révéler leurs détails spécifiques, compressant considérablement la taille des données. Le ZKP généré est ensuite soumis à la chaîne principale de la blockchain. Les nœuds sur la chaîne principale n'ont besoin de vérifier que la validité de la preuve, sans traiter chaque transaction individuelle, réduisant ainsi considérablement la charge de la chaîne principale.
Les protocoles de preuve de connaissance nulle (ZKP), bien qu'ayant de multiples avantages, rencontrent actuellement un problème principal : la vérification est facile, mais la génération est difficile. Le principal goulot d'étranglement dans la génération de la plupart des systèmes de preuve est soit la multiplication multi-scalaire (MSM) soit la transformation de Fourier rapide (FFT) et son inverse. La composition et les pour et les contre de ces derniers sont les suivants :
Multiplication multi-scalaire (MSM) : MSM est un calcul clé en cryptographie, impliquant la multiplication de points et de scalaires dans la cryptographie à courbe elliptique. Dans les ZKP, MSM est utilisé pour construire des relations mathématiques complexes autour de points sur des courbes elliptiques. Ces calculs impliquent généralement un grand nombre de points de données et d’opérations, essentiels à la génération et à la vérification des preuves. Le MSM est particulièrement important dans les ZKP car il aide à construire des preuves qui peuvent vérifier les déclarations cryptées sans exposer d’informations privées. MSM peut être exécuté sur plusieurs threads, prenant ainsi en charge le traitement parallèle. Cependant, lorsqu’il s’agit de grands vecteurs d’éléments, tels que 50 millions d’éléments, les opérations de multiplication peuvent encore être lentes et nécessiter des ressources mémoire substantielles. De plus, MSM est confronté à des défis d’évolutivité, restant lent même avec une parallélisation étendue.
Transformée de Fourier rapide (FFT) : La FFT est un algorithme efficace pour calculer la multiplication polynomiale et résoudre des problèmes d’interpolation polynomiale. Dans les ZKP, il est souvent utilisé pour optimiser le calcul des polynômes, une étape cruciale dans la génération de preuves. La FFT accélère le calcul en décomposant les opérations polynomiales complexes en parties plus petites et plus simples, cruciales pour l’efficacité du processus de génération de preuves. L’utilisation de la FFT améliore considérablement la capacité des systèmes ZKP à gérer des polynômes complexes et de grands ensembles de données. Cependant, les opérations FFT reposent sur des échanges de données fréquents, ce qui rend difficile l’amélioration significative de l’efficacité grâce à l’informatique distribuée ou à l’accélération matérielle. Les échanges de données dans les opérations FFT nécessitent une bande passante importante, en particulier lorsqu’il s’agit de jeux de données supérieurs à la capacité de mémoire matérielle.
Alors que l'optimisation logicielle est également une direction de recherche importante, la méthode la plus directe et brutale pour accélérer la génération de preuves est de superposer une puissance de calcul suffisante dans le matériel. Parmi les différentes options de matériel de calcul (GPU, FPGA, ASIC), quel est le meilleur choix? Comme les GPU ont déjà été brièvement présentés dans la section précédente, nous comprenons principalement la logique de conception et les avantages et inconvénients des FPGA et des ASIC.
ASIC : Un circuit intégré spécifique à une application (ASIC, Application-Specific Integrated Circuit) est un circuit intégré conçu spécifiquement pour répondre aux besoins d'une application particulière. Par rapport aux processeurs généralistes ou aux circuits intégrés standard, les ASIC sont personnalisés pour effectuer des tâches ou des applications spécifiques, ce qui se traduit généralement par une efficacité et des performances plus élevées dans leurs applications spécifiques. Dans le domaine bien connu du minage de Bitcoin, les ASIC sont des matériels de calcul très importants, leur haute efficacité et leur faible consommation d'énergie en font un choix idéal pour le minage de Bitcoin. Cependant, les ASIC présentent deux inconvénients clairs : étant conçus pour des applications spécifiques (par exemple, les machines de minage ASIC Bitcoin sont conçues autour de l'algorithme de hachage SHA-256), les coûts de conception et de fabrication peuvent être très élevés sans adoption de masse, et le cycle de conception et de vérification peut être relativement long.
FPGA : FPGA est l’abréviation de Field Programmable Gate Array, un type de dispositif reprogrammable développé sur la base de circuits logiques traditionnels et de réseaux de portes tels que PAL (Programmable Logic Array), GAL (Generic Array Logic) et CPLD (Complex Programmable Logic Device). Comme les ASIC, les FPGA sont des circuits intégrés utilisés dans la conception électronique pour mettre en œuvre des fonctions spécifiques, surmontant les limites des circuits semi-personnalisés passés et le nombre limité de portes dans les dispositifs programmables précédents. Ses principales caractéristiques sont « la reprogrammabilité, la faible consommation d’énergie, la faible latence et la forte puissance de calcul ». Cependant, l’inconvénient des FPGA est que leur fonctionnalité dépend entièrement de l’implémentation matérielle, qu’ils ne peuvent pas effectuer d’opérations telles que des sauts de conditions de branchement, et qu’ils ne peuvent effectuer que des opérations en virgule fixe. En termes de coût, le coût de conception des FPGA est inférieur à celui des ASIC, mais les coûts de fabrication doivent également être pris en compte en fonction de l’échelle. Bien sûr, le coût global des deux est beaucoup plus élevé que celui des GPU.
En revenant à la discussion sur l'accélération matérielle ZKP, il faut d'abord reconnaître que le ZKP en est encore aux premiers stades de développement. Les paramètres du système (comme la largeur FFT ou la taille des éléments en bits) ou le choix des systèmes de preuve (juste les systèmes de preuve mentionnés ci-dessus ont cinq variétés) sont encore rarement standardisés. Nous comparons les trois types de matériel informatique dans cet environnement:
· Changements dans ZK ‘Meta’: Comme mentionné ci-dessus, la logique métier sur les ASIC est écrite une fois. Si toute la logique ZKP change, il faut recommencer depuis le début. Les FPGAs peuvent être actualisés un nombre illimité de fois en 1 seconde, ce qui signifie qu'ils peuvent être réutilisés sur plusieurs chaînes avec des systèmes de preuve incompatibles (par exemple, extraction MEV inter-chaînes) et s'adapter de manière flexible aux changements dans ZK ‘meta’. Bien que les GPU ne soient pas aussi rapidement reconfigurables au niveau matériel que les FPGAs, ils offrent une grande flexibilité au niveau logiciel. Les GPU peuvent s'adapter à différents algorithmes ZKP et changements de logique grâce à des mises à jour logicielles. Même si ces mises à jour ne sont peut-être pas aussi rapides qu'avec les FPGAs, elles peuvent encore être effectuées en un temps relativement court.
· Offre : La conception, la fabrication et le déploiement des ASIC nécessitent généralement 12 à 18 mois, voire plus. En revanche, la chaîne d'approvisionnement des FPGA est relativement saine, avec des fournisseurs de premier plan comme Xilinx permettant à un grand nombre de commandes de détail d'arriver dans les 16 semaines à partir du site Web (c'est-à-dire sans aucun point de contact). En ce qui concerne les GPU, ils ont naturellement un énorme avantage en termes d'approvisionnement. Depuis la fusion d'Ethereum Shanghai, un grand nombre de machines de minage de GPU inactives ont été observées sur le réseau. Les séries ultérieures de cartes graphiques développées par Nvidia et AMD peuvent également être fournies en grandes quantités.
À partir des deux points ci-dessus, à moins que la piste ZK forme un consensus et normalise l'adoption d'un schéma, les ASIC n'ont aucun avantage. Étant donné le développement diversifié actuel des schémas ZKP, les GPU et les FPGA seront les deux principaux types de matériel informatique computationnel dont nous devons discuter ensuite.
· Cycle de développement : En raison de la popularité des GPU et des outils de développement matures tels que CUDA (pour les GPU NVIDIA) et OpenCL (multiplateforme), le développement sur GPU est plus accessible. Le développement sur FPGA implique généralement des langages de description matérielle plus complexes (comme VHDL ou Verilog), nécessitant plus de temps d'apprentissage et de développement.
· Consommation électrique : Les FPGA surpassent généralement les GPU en termes d'efficacité énergétique. Cela est principalement dû au fait que les FPGA peuvent être optimisés pour des tâches spécifiques, réduisant ainsi la consommation d'énergie inutile. Bien que les GPU soient puissants dans le traitement de tâches hautement parallélisées, cela s'accompagne également d'une consommation électrique plus élevée.
· Personnalisation : Les FPGA peuvent être programmés pour optimiser des algorithmes ZKP spécifiques, améliorant ainsi l'efficacité. Pour des algorithmes ZKP spécifiques, l'architecture générale des GPU peut ne pas être aussi efficace que du matériel spécialisé.
· Vitesse de génération : Selon une comparaison de trapdoor-tech des GPU (en utilisant Nvidia 3090 comme exemple) et des FPGA (en utilisant Xilinx VU9P comme exemple), sous BLS12–381 (un type spécifique de courbe elliptique), en utilisant le même algorithme de multiplication modulaire/addition modulaire, la vitesse de génération des GPU est cinq fois supérieure à celle des FPGA.
En résumé, à court terme, en considérant le cycle de développement, le parallélisme, la vitesse de génération, le coût et le grand nombre de périphériques inactifs prêts à travers le réseau, les GPU sont sans aucun doute le choix le plus avantageux actuellement. La direction actuelle de l'optimisation matérielle est également principalement axée sur les GPU. Le moment pour les FPGA de prendre complètement le dessus sur la concurrence n'est pas encore venu. Par conséquent, est-il possible de construire un marché de la puissance de calcul ZKP similaire à l'extraction de PoW (un terme que j'ai personnellement conçu)?
En envisageant la construction d'un marché de la puissance de calcul ZKP, nous avons déjà tiré des conclusions sur l'aspect matériel du texte précédent. Les questions restantes sont les suivantes : le ZKP a-t-il besoin de décentralisation ? La taille du marché est-elle suffisamment attrayante ? Si les chaînes publiques basées sur ZK choisissent toutes de construire leurs propres marchés de génération de preuves, quelle est la signification d'un marché de la puissance de calcul ZKP ?
L’importance de la décentralisation : Tout d’abord, la plupart des projets zkRollup actuels (tels que Starkware et zKsync) reposent sur des serveurs centralisés, ne considérant que l’expansion d’Ethereum. La centralisation signifie que le risque que les informations des utilisateurs soient censurées existe toujours, sacrifiant quelque peu la nature sans autorisation la plus importante de la blockchain. Pour les protocoles de confidentialité utilisant ZK, la décentralisation de la génération de ZKP est extrêmement nécessaire. La deuxième raison de la décentralisation est le coût, similaire à la section précédente sur l’AGI. Le coût des services cloud et de l’achat de matériel est très élevé, et la génération de preuves ne convient généralement qu’aux grands projets. Pour les petits projets à leurs débuts, un marché de preuve décentralisé peut grandement atténuer leurs difficultés de financement au démarrage, et également réduire la concurrence déloyale due aux contraintes financières.
Taille du marché: Paradigm a prédit l'année dernière que le marché des mineurs/générateurs de preuves ZK pourrait atteindre une taille comparable à celle du marché minier PoW passé. La raison fondamentale en est que les acheteurs et vendeurs sur le marché de la puissance de calcul ZKP sont nombreux. Pour les anciens mineurs d'Ethereum, les nombreux projets de chaînes publiques et de couche 2 basés sur ZK sont bien plus attractifs que les chaînes publiques forkées d'Ethereum. Cependant, nous devons également prendre en compte que la plupart des chaînes publiques ou des couches 2 basées sur ZK sont tout à fait capables de construire leurs propres marchés de génération de preuves. S'ils doivent se conformer au récit de la décentralisation, cette étape est également inévitable dans leur feuille de route (comme Starkware et zkSync, qui auront leurs propres solutions décentralisées à l'avenir). Alors, le marché de la puissance de calcul ZKP a-t-il toujours un but?
L'importance de le construire: Tout d'abord, les applications de ZKP sont extrêmement répandues (comme nous l'avons déjà exemplifié plusieurs fois dans le texte précédent, et nous nous référerons à un projet ultérieurement). Deuxièmement, même si chaque chaîne ZK a son propre marché de génération de preuves, le marché de la puissance de calcul a encore trois fonctions qui peuvent inciter les vendeurs à envisager de vendre leur puissance de calcul.
Proof Market est un marché de puissance de calcul ZKP décentralisé construit par =nil; (une société de développement Ethereum). À ma connaissance, c'est actuellement le seul marché de puissance de calcul construit autour de la génération de ZKP. Fondamentalement, c'est un protocole de confidentialité des données sans confiance qui permet aux blockchains et protocoles de couche 1 et de couche 2 de générer des preuves de connaissance nulle en fonction du besoin de partage transparent des données, sans avoir recours à des intermédiaires centralisés. Bien que Proof Market ne soit pas le marché construit autour des GPU individuels comme je l'imaginais (Proof Market est construit autour de fournisseurs de matériel professionnels, et le minage de GPU pour ZKP peut également se référer au Roller Network dans l'architecture Scroll ou à Aleo), il est toujours très pertinent pour envisager comment un marché de puissance de calcul ZKP est construit et largement appliqué. Le flux de travail de Proof Market est le suivant :
Demandeur de preuve :
zkLLVM:
Marché des preuves:
Générateur de preuves :
Mécanisme de récompense :
Dans l'ensemble du processus, la demande, la génération, la vérification et la distribution des récompenses pour les preuves tournent toutes autour du Proof Market. Ce processus vise à créer un marché décentralisé où la génération et la vérification des ZKP sont automatisées, et les participants peuvent recevoir des récompenses correspondant à leurs contributions.
Depuis sa version de test en janvier 2023, les principaux scénarios d’application de Proof Market ont été les protocoles fonctionnant en dehors de la couche 1 (L1) d’Ethereum, tels que zkRollup, zkBridge connecté à Ethereum et les chaînes publiques utilisant zkP.
Avec l'intégration des points de terminaison Ethereum (une interface de passerelle qui permet à d'autres systèmes ou services de se connecter et de s'intégrer), Proof Market sera applicable à plus d'applications, en particulier celles qui ont besoin de demander directement des preuves aux applications EVM pour offrir une expérience utilisateur plus fluide ou qui ont besoin de travailler avec des données stockées on-chain.
Voici quelques scénarios d'application potentiels :
Le projet bien connu LSD Lido utilise également Proof Market pour construire une solution visant à renforcer la sécurité et la crédibilité du contrat Lido Accounting Oracle. L'Oracle Accounting Lido repose sur un comité Oracle composé de tiers de confiance et d'un mécanisme de quorum pour maintenir son état, ce qui pose des vecteurs d'attaque potentiels. Le processus de solution dans Proof Market est le suivant :
Définition du problème
Spécification de la solution
Lido: Besoin de rendre certains données de l'état de la couche de consensus accessibles dans la couche d'exécution.
Oracle : Rapports TVL et nombres de validateurs au contrat TVL.
Producteur de preuves : Génère des preuves d'intégrité computationnelle.
Vérificateur de preuves : Vérifie les preuves dans le contrat EL.
Phases de déploiement
Comparé à la grande vision du marché de la puissance de calcul AGI, le marché de la puissance de calcul ZKP est en effet plus limité aux applications au sein de la blockchain. Cependant, l'avantage est que le développement du marché de la puissance de calcul ZKP n'a pas besoin de considérer des conceptions extrêmement complexes comme les réseaux neuronaux, ce qui rend la difficulté de développement globale plus faible et les besoins en financement moins importants. En combinant les projets mentionnés ci-dessus, il n'est pas difficile de voir que tandis que le marché de la puissance de calcul AGI est encore perplexe quant à la manière de se concrétiser, le marché de la puissance de calcul ZKP a déjà pénétré de multiples scénarios d'application dans la blockchain dans plusieurs dimensions.
D'un point de vue du marché, le marché de la puissance de calcul ZKP est encore dans une phase de l'océan très bleue, et le marché de la preuve mentionné n'est pas le design idéal à mon avis. En combinant l'optimisation de l'algorithme, l'optimisation du scénario d'application, l'optimisation matérielle et le choix de différents marchés de vendeurs de puissance de calcul, il y a encore beaucoup d'espace imaginatif dans la conception du marché de la puissance de calcul ZKP. De plus, en considérant la perspective de développement, Vitalik a souligné à plusieurs reprises que l'impact de ZK sur le domaine de la blockchain dans la prochaine décennie sera aussi important que la blockchain elle-même. Cependant, compte tenu de la polyvalence de ZK, à mesure que la conception mûrit, l'importance future de ZK dans les domaines non liés à la blockchain pourrait ne pas être inférieure à celle de l'AGI actuel, et ses perspectives ne devraient pas être sous-estimées.
YBB est un fonds web3 se consacrant à identifier des projets définissant le Web3 avec une vision de créer un meilleur habitat en ligne pour tous les résidents d'Internet. Fondé par un groupe de croyants en blockchain qui participent activement à cette industrie depuis 2013, YBB est toujours prêt à aider les projets de stade précoce à évoluer de 0 à 1. Nous apprécions l'innovation, la passion autonome et les produits orientés utilisateur tout en reconnaissant le potentiel des cryptos et des applications de blockchain.
株式
内容
Dans l'article "Aperçu d'un secteur prometteur: le marché de la puissance de calcul décentralisée (Partie I)", nous avons déjà saisi l'importance de la puissance de calcul dans le contexte des attentes en matière d'IA et avons exploré en profondeur les deux principaux défis auxquels est actuellement confronté l'établissement d'un marché décentralisé de la puissance de calcul AGI. Cet article débutera avec les concepts fondamentaux des preuves de connaissance nulle et, en approfondissant progressivement, explorera les multiples possibilités du marché de la puissance de calcul décentralisée, un secteur en pleine expansion et prometteur. (L'article précédent a également abordé le marché de la puissance de calcul de Bitcoin, mais compte tenu de la croissance explosive récente de l'écosystème Bitcoin, cet aspect sera discuté plus en détail dans nos futurs articles liés à l'écosystème Bitcoin.)
Au milieu des années 1980, trois cryptographes du MIT (Shafi Goldwasser, Silvio Micali et Charles Rackoff) ont publié un article intitulé « La complexité de la connaissance des systèmes de preuves interactives ». Cet article décrit une technique cryptographique innovante qui permet la vérification de l'authenticité des informations sans révéler ces informations elles-mêmes. Les auteurs ont nommé cette technique « preuve de zéro-connaissance » et ont fourni une définition et un cadre spécifiques pour le concept.
Au cours des décennies suivantes, la technologie de preuve de zéro-connaissance, basée sur ce document, s'est progressivement développée et améliorée dans divers domaines. Aujourd'hui, les preuves de zéro-connaissance sont devenues un terme global représentant de nombreuses méthodes cryptographiques "modernes" ou "avancées", en particulier celles liées à l'avenir de la blockchain.
Preuve de connaissance nulle (ZKP), utilisée de manière interchangeable dans ce texte en fonction du contexte, désigne une méthode permettant à un prouveur de démontrer la véracité d'une déclaration à un vérificateur sans fournir d'informations spécifiques sur la déclaration elle-même. Les trois attributs fondamentaux de cette méthode comprennent la complétude, la justesse et la non-divulgation. La complétude garantit la provabilité des déclarations vraies, la justesse garantit que les déclarations fausses ne peuvent pas être prouvées, et la non-divulgation signifie que le vérificateur n'obtient aucune information au-delà de la vérité de la déclaration.
Basé sur la méthode de communication entre le prouveur et le vérificateur, il existe deux types de preuves de zéro connaissance : interactives et non interactives. Dans les preuves interactives, il y a une série d'interactions entre le prouveur et le vérificateur. Ces interactions font partie du processus de preuve, où le prouveur répond à une série de requêtes ou défis du vérificateur pour prouver la véracité de leur déclaration. Ce processus implique généralement plusieurs tours de communication, le vérificateur posant une question ou un défi à chaque tour et le prouveur répondant pour prouver la justesse de leur déclaration. Dans les preuves non interactives, plusieurs tours d'interaction ne sont pas nécessaires. Ici, le prouveur crée une preuve unique et vérifiable de manière indépendante et l'envoie au vérificateur. Ce dernier peut vérifier indépendamment la véracité de cette preuve sans autre communication avec le prouveur.
1.Interactif : L'histoire d'Alibaba et les Quarante Voleurs est un exemple classique souvent cité pour expliquer les preuves interactives à zéro connaissance. Dans une version simplifiée de l'histoire, Alibaba, qui connaît les mots magiques pour ouvrir une caverne remplie de trésors, est capturé par les voleurs. S'il révèle les mots magiques, il risque d'être tué faute d'utilité supplémentaire. S'il refuse, les voleurs pourraient le tuer pour ne pas connaître le secret. Pour prouver qu'il connaît le secret sans le révéler, Alibaba utilise deux entrées, A et B, de la caverne, qui mènent toutes deux à une chambre centrale avec une porte protégée par mot de passe. Alibaba entre dans la caverne et choisit une entrée tandis que les voleurs attendent dehors, incapables de voir son choix. Les voleurs appellent alors aléatoirement A ou B, exigeant qu'Alibaba sorte par l'entrée choisie. Si Alibaba connaît vraiment les mots magiques, il peut utiliser le mot de passe pour passer par la porte centrale et sortir par l'entrée désignée. En répétant avec succès ce processus plusieurs fois, Alibaba prouve qu'il connaît le secret sans le divulguer.
Les preuves de connaissance nulle ont diverses implémentations dans la blockchain, avec zk-STARK (Zero-Knowledge Scalable Transparent Argument of Knowledge) et zk-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) étant les plus connues. Les deux sont des preuves de connaissance nulle non interactives, comme indiqué par "Non-Interactive" dans leurs noms.
zk-SNARK est un schéma de preuve à divulgation nulle d'informations largement utilisé à usage général (non une seule technologie mais une catégorie). Il convertit n'importe quel processus computationnel en une série de circuits logiques, puis utilise les propriétés polynomiales pour transformer ces circuits en polynômes, comprimant ainsi et générant de petites preuves non interactives pour des applications professionnelles complexes. zk-SNARK nécessite une configuration de confiance, où plusieurs parties génèrent chacune une partie de la clé dans un environnement de confiance, puis la détruisent. Si les informations secrètes utilisées dans la configuration de confiance ne sont pas détruites, elles pourraient être exploitées pour falsifier des transactions via une fausse vérification.
zk-STARK a évolué à partir de zk-SNARK, abordant la dépendance aux configurations de confiance. Il peut effectuer la vérification de la blockchain sans aucune configuration de confiance, réduisant la complexité du lancement de réseaux et éliminant les risques de collusion. Cependant, zk-STARK a le problème de générer des preuves plus importantes, ce qui est désavantageux en termes de stockage, de vérification on-chain et de temps de génération. Si vous avez utilisé les premières versions de StarkNet (en utilisant zk-STARK), vous avez peut-être remarqué une différence significative de vitesse et de frais de gaz par rapport à d'autres solutions de couche 2. Ainsi, zk-SNARK est plus couramment adopté. D'autres solutions moins courantes incluent PLONK et Bulletproofs, chacune avec ses propres avantages et inconvénients en termes de taille de preuve, temps de prouveur et temps de vérification. Atteindre une preuve de connaissance nulle idéale est un défi, et les algorithmes les plus courants équilibrent généralement différentes dimensions.
Le développement de ZK implique généralement deux composants clés :
Expression de calcul compatible ZK : cela inclut un langage spécifique à un domaine (DSL) ou une bibliothèque de bas niveau. Les bibliothèques de bas niveau comme Arkworks fournissent des outils et des primitives nécessaires, permettant aux développeurs de réécrire manuellement le code dans un langage de plus bas niveau. Les DSL comme Cairo ou Circom sont des langages de programmation adaptés aux applications ZK, se compilant en les primitives nécessaires à la génération de preuves. Des opérations plus complexes entraînent des temps de génération de preuves plus longs, et certaines opérations (comme les opérations bit utilisées dans SHA ou Keccak) peuvent ne pas être adaptées à ZK, ce qui entraîne une génération de preuves longue.
Système de preuve : Le système de preuve est le cœur d’une application ZK, mettant en œuvre deux fonctions de base : Prouver et Vérifier. La fonction Prouver permet de générer une preuve (nécessitant des calculs mathématiques approfondis, les preuves plus complexes prenant plus de temps à générer) qu’une affirmation est correcte sans révéler les détails de la preuve. La fonction Vérifier permet de vérifier l’exactitude de cette preuve (plus la preuve est complexe et volumineuse, plus les performances sont élevées et plus le temps nécessaire à la vérification est court). Différents systèmes d’épreuve, tels que Groth16, GM17, PLONK, Spartan et STARK, varient en termes d’efficacité, de sécurité et de facilité d’utilisation.
Ponts inter-chaînes ZKP et interopérabilité : ZKP peut créer des preuves de validité pour les protocoles de messagerie inter-chaînes, permettant aux messages d'être rapidement vérifiés sur la chaîne cible. Cela est similaire à la vérification des zkRollups sur la base L1. Cependant, la messagerie inter-chaînes est plus complexe en raison des différents schémas de signature et des fonctions cryptographiques qui nécessitent une vérification entre les chaînes source et cible.
La puissance de calcul dans les moteurs de jeu sur chaîne avec ZKP : Dark Forest montre comment ZKP peut permettre des jeux d'information incomplète sur chaîne. Cela est crucial pour concevoir des jeux plus interactifs où les actions des joueurs restent privées jusqu'à ce qu'ils choisissent de les révéler. À mesure que les jeux sur chaîne évoluent, le ZKP deviendra une partie des moteurs d'exécution de jeu. Les startups qui intègrent avec succès des fonctionnalités de confidentialité dans des moteurs de jeu sur chaîne à haut débit joueront un rôle important.
Solutions d'identité : ZKP ouvre de multiples opportunités dans le domaine de l'identité. Ils peuvent être utilisés pour des preuves de réputation ou pour relier les identités Web2 et Web3. Actuellement, nos identités Web2 et Web3 sont séparées. Des projets comme Clique utilisent des oracles pour connecter ces identités. ZKP peut aller plus loin en liant de manière anonyme les identités Web2 et Web3, permettant des cas d'utilisation tels que l'adhésion anonyme à un DAO, à condition qu'ils puissent prouver une expertise spécifique au domaine en utilisant des données Web2 ou Web3. Un autre cas d'utilisation est les prêts Web3 non garantis basés sur le statut social Web2 de l'emprunteur (par exemple, le nombre de followers sur Twitter).
ZKP pour la conformité réglementaire : Web3 permet aux comptes en ligne anonymes de participer activement au système financier, en offrant une liberté financière et une inclusivité importantes. Avec l'augmentation des réglementations Web3, ZKP peut être utilisé pour se conformer sans compromettre l'anonymat. ZKP peut prouver qu'un utilisateur n'est pas citoyen ou résident d'un pays sanctionné. Il peut également être utilisé pour prouver le statut d'investisseur agréé ou tout autre exigence KYC/AML.
Financement par emprunt privé Web3 natif : Le financement par emprunt TradeFi est souvent utilisé pour aider les startups en croissance à accélérer leur croissance ou à démarrer de nouveaux secteurs d’activité sans ajouter de capital-risque supplémentaire. L’essor des DAO Web3 et des entreprises anonymes crée des opportunités de financement par emprunt Web3 natif. Par exemple, en utilisant ZKP, les DAO ou les entreprises anonymes peuvent obtenir des prêts non garantis et des taux compétitifs basés sur des mesures de preuve de croissance, sans divulguer d’informations sur les emprunteurs aux prêteurs.
Confidentialité dans la DeFi : Les institutions financières maintiennent souvent la confidentialité de leur historique de transactions et de leur exposition au risque. Cependant, l'utilisation des protocoles de finance décentralisée (DeFi) on-chain devient difficile en raison de l'avancée des techniques d'analyse on-chain. Une solution potentielle consiste à développer des produits DeFi axés sur la confidentialité pour protéger la vie privée des participants. Un tel protocole qui tente cela est le zkSwap de Penumbra. De plus, le zk.money d'Aztec offre des opportunités de gains DeFi privés en obfusquant la participation des utilisateurs dans des protocoles DeFi transparents. En général, les protocoles qui mettent en œuvre avec succès des produits DeFi efficaces et axés sur la confidentialité peuvent attirer des volumes de transactions importants et des revenus provenant des participants institutionnels.
ZKP pour la publicité Web3 : Web3 permet aux utilisateurs de posséder leurs droits sur les données, comme l'historique de navigation, les activités de portefeuille privé, etc. Web3 permet également la monétisation de ces données au bénéfice des utilisateurs. Comme la monétisation des données peut entrer en conflit avec la vie privée, ZKP peut jouer un rôle crucial dans le contrôle des données personnelles pouvant être divulguées aux annonceurs et agrégateurs de données.
Partage et Monétisation des Données Privées : Beaucoup de nos données privées, si elles sont partagées avec les bonnes entités, peuvent avoir des impacts significatifs. Les données de santé personnelles peuvent être crowdsourcées pour aider les chercheurs à développer de nouveaux médicaments. Les dossiers financiers privés peuvent être partagés avec les organismes de réglementation et de surveillance pour identifier et punir les pratiques corrompues. ZKP peut permettre le partage et la monétisation privés de telles données.
Gouvernance : Alors que les DAO (organisations autonomes décentralisées) et la gouvernance on-chain deviennent de plus en plus répandues, le Web3 s’oriente vers une démocratie participative directe. L’une des principales failles du modèle de gouvernance actuel est la non-confidentialité de la participation. Le ZKP peut jouer un rôle fondamental dans la résolution de ce problème. Les participants à la gouvernance peuvent voter sans révéler leurs choix de vote. De plus, ZKP peut restreindre la visibilité des propositions de gouvernance aux seuls membres de la DAO, ce qui permet aux DAO de créer des avantages concurrentiels.
ZKRollup: Scaling est l'un des cas d'utilisation les plus importants de ZKP dans la blockchain. La technologie zkRollup agrège plusieurs transactions en une seule transaction. Ces transactions sont traitées et calculées hors chaîne (en dehors de la chaîne principale de la blockchain). Pour ces transactions agrégées, zkRollup utilise ZKP pour générer une preuve qui peut vérifier la validité des transactions sans révéler leurs détails spécifiques, compressant considérablement la taille des données. Le ZKP généré est ensuite soumis à la chaîne principale de la blockchain. Les nœuds sur la chaîne principale n'ont besoin de vérifier que la validité de la preuve, sans traiter chaque transaction individuelle, réduisant ainsi considérablement la charge de la chaîne principale.
Les protocoles de preuve de connaissance nulle (ZKP), bien qu'ayant de multiples avantages, rencontrent actuellement un problème principal : la vérification est facile, mais la génération est difficile. Le principal goulot d'étranglement dans la génération de la plupart des systèmes de preuve est soit la multiplication multi-scalaire (MSM) soit la transformation de Fourier rapide (FFT) et son inverse. La composition et les pour et les contre de ces derniers sont les suivants :
Multiplication multi-scalaire (MSM) : MSM est un calcul clé en cryptographie, impliquant la multiplication de points et de scalaires dans la cryptographie à courbe elliptique. Dans les ZKP, MSM est utilisé pour construire des relations mathématiques complexes autour de points sur des courbes elliptiques. Ces calculs impliquent généralement un grand nombre de points de données et d’opérations, essentiels à la génération et à la vérification des preuves. Le MSM est particulièrement important dans les ZKP car il aide à construire des preuves qui peuvent vérifier les déclarations cryptées sans exposer d’informations privées. MSM peut être exécuté sur plusieurs threads, prenant ainsi en charge le traitement parallèle. Cependant, lorsqu’il s’agit de grands vecteurs d’éléments, tels que 50 millions d’éléments, les opérations de multiplication peuvent encore être lentes et nécessiter des ressources mémoire substantielles. De plus, MSM est confronté à des défis d’évolutivité, restant lent même avec une parallélisation étendue.
Transformée de Fourier rapide (FFT) : La FFT est un algorithme efficace pour calculer la multiplication polynomiale et résoudre des problèmes d’interpolation polynomiale. Dans les ZKP, il est souvent utilisé pour optimiser le calcul des polynômes, une étape cruciale dans la génération de preuves. La FFT accélère le calcul en décomposant les opérations polynomiales complexes en parties plus petites et plus simples, cruciales pour l’efficacité du processus de génération de preuves. L’utilisation de la FFT améliore considérablement la capacité des systèmes ZKP à gérer des polynômes complexes et de grands ensembles de données. Cependant, les opérations FFT reposent sur des échanges de données fréquents, ce qui rend difficile l’amélioration significative de l’efficacité grâce à l’informatique distribuée ou à l’accélération matérielle. Les échanges de données dans les opérations FFT nécessitent une bande passante importante, en particulier lorsqu’il s’agit de jeux de données supérieurs à la capacité de mémoire matérielle.
Alors que l'optimisation logicielle est également une direction de recherche importante, la méthode la plus directe et brutale pour accélérer la génération de preuves est de superposer une puissance de calcul suffisante dans le matériel. Parmi les différentes options de matériel de calcul (GPU, FPGA, ASIC), quel est le meilleur choix? Comme les GPU ont déjà été brièvement présentés dans la section précédente, nous comprenons principalement la logique de conception et les avantages et inconvénients des FPGA et des ASIC.
ASIC : Un circuit intégré spécifique à une application (ASIC, Application-Specific Integrated Circuit) est un circuit intégré conçu spécifiquement pour répondre aux besoins d'une application particulière. Par rapport aux processeurs généralistes ou aux circuits intégrés standard, les ASIC sont personnalisés pour effectuer des tâches ou des applications spécifiques, ce qui se traduit généralement par une efficacité et des performances plus élevées dans leurs applications spécifiques. Dans le domaine bien connu du minage de Bitcoin, les ASIC sont des matériels de calcul très importants, leur haute efficacité et leur faible consommation d'énergie en font un choix idéal pour le minage de Bitcoin. Cependant, les ASIC présentent deux inconvénients clairs : étant conçus pour des applications spécifiques (par exemple, les machines de minage ASIC Bitcoin sont conçues autour de l'algorithme de hachage SHA-256), les coûts de conception et de fabrication peuvent être très élevés sans adoption de masse, et le cycle de conception et de vérification peut être relativement long.
FPGA : FPGA est l’abréviation de Field Programmable Gate Array, un type de dispositif reprogrammable développé sur la base de circuits logiques traditionnels et de réseaux de portes tels que PAL (Programmable Logic Array), GAL (Generic Array Logic) et CPLD (Complex Programmable Logic Device). Comme les ASIC, les FPGA sont des circuits intégrés utilisés dans la conception électronique pour mettre en œuvre des fonctions spécifiques, surmontant les limites des circuits semi-personnalisés passés et le nombre limité de portes dans les dispositifs programmables précédents. Ses principales caractéristiques sont « la reprogrammabilité, la faible consommation d’énergie, la faible latence et la forte puissance de calcul ». Cependant, l’inconvénient des FPGA est que leur fonctionnalité dépend entièrement de l’implémentation matérielle, qu’ils ne peuvent pas effectuer d’opérations telles que des sauts de conditions de branchement, et qu’ils ne peuvent effectuer que des opérations en virgule fixe. En termes de coût, le coût de conception des FPGA est inférieur à celui des ASIC, mais les coûts de fabrication doivent également être pris en compte en fonction de l’échelle. Bien sûr, le coût global des deux est beaucoup plus élevé que celui des GPU.
En revenant à la discussion sur l'accélération matérielle ZKP, il faut d'abord reconnaître que le ZKP en est encore aux premiers stades de développement. Les paramètres du système (comme la largeur FFT ou la taille des éléments en bits) ou le choix des systèmes de preuve (juste les systèmes de preuve mentionnés ci-dessus ont cinq variétés) sont encore rarement standardisés. Nous comparons les trois types de matériel informatique dans cet environnement:
· Changements dans ZK ‘Meta’: Comme mentionné ci-dessus, la logique métier sur les ASIC est écrite une fois. Si toute la logique ZKP change, il faut recommencer depuis le début. Les FPGAs peuvent être actualisés un nombre illimité de fois en 1 seconde, ce qui signifie qu'ils peuvent être réutilisés sur plusieurs chaînes avec des systèmes de preuve incompatibles (par exemple, extraction MEV inter-chaînes) et s'adapter de manière flexible aux changements dans ZK ‘meta’. Bien que les GPU ne soient pas aussi rapidement reconfigurables au niveau matériel que les FPGAs, ils offrent une grande flexibilité au niveau logiciel. Les GPU peuvent s'adapter à différents algorithmes ZKP et changements de logique grâce à des mises à jour logicielles. Même si ces mises à jour ne sont peut-être pas aussi rapides qu'avec les FPGAs, elles peuvent encore être effectuées en un temps relativement court.
· Offre : La conception, la fabrication et le déploiement des ASIC nécessitent généralement 12 à 18 mois, voire plus. En revanche, la chaîne d'approvisionnement des FPGA est relativement saine, avec des fournisseurs de premier plan comme Xilinx permettant à un grand nombre de commandes de détail d'arriver dans les 16 semaines à partir du site Web (c'est-à-dire sans aucun point de contact). En ce qui concerne les GPU, ils ont naturellement un énorme avantage en termes d'approvisionnement. Depuis la fusion d'Ethereum Shanghai, un grand nombre de machines de minage de GPU inactives ont été observées sur le réseau. Les séries ultérieures de cartes graphiques développées par Nvidia et AMD peuvent également être fournies en grandes quantités.
À partir des deux points ci-dessus, à moins que la piste ZK forme un consensus et normalise l'adoption d'un schéma, les ASIC n'ont aucun avantage. Étant donné le développement diversifié actuel des schémas ZKP, les GPU et les FPGA seront les deux principaux types de matériel informatique computationnel dont nous devons discuter ensuite.
· Cycle de développement : En raison de la popularité des GPU et des outils de développement matures tels que CUDA (pour les GPU NVIDIA) et OpenCL (multiplateforme), le développement sur GPU est plus accessible. Le développement sur FPGA implique généralement des langages de description matérielle plus complexes (comme VHDL ou Verilog), nécessitant plus de temps d'apprentissage et de développement.
· Consommation électrique : Les FPGA surpassent généralement les GPU en termes d'efficacité énergétique. Cela est principalement dû au fait que les FPGA peuvent être optimisés pour des tâches spécifiques, réduisant ainsi la consommation d'énergie inutile. Bien que les GPU soient puissants dans le traitement de tâches hautement parallélisées, cela s'accompagne également d'une consommation électrique plus élevée.
· Personnalisation : Les FPGA peuvent être programmés pour optimiser des algorithmes ZKP spécifiques, améliorant ainsi l'efficacité. Pour des algorithmes ZKP spécifiques, l'architecture générale des GPU peut ne pas être aussi efficace que du matériel spécialisé.
· Vitesse de génération : Selon une comparaison de trapdoor-tech des GPU (en utilisant Nvidia 3090 comme exemple) et des FPGA (en utilisant Xilinx VU9P comme exemple), sous BLS12–381 (un type spécifique de courbe elliptique), en utilisant le même algorithme de multiplication modulaire/addition modulaire, la vitesse de génération des GPU est cinq fois supérieure à celle des FPGA.
En résumé, à court terme, en considérant le cycle de développement, le parallélisme, la vitesse de génération, le coût et le grand nombre de périphériques inactifs prêts à travers le réseau, les GPU sont sans aucun doute le choix le plus avantageux actuellement. La direction actuelle de l'optimisation matérielle est également principalement axée sur les GPU. Le moment pour les FPGA de prendre complètement le dessus sur la concurrence n'est pas encore venu. Par conséquent, est-il possible de construire un marché de la puissance de calcul ZKP similaire à l'extraction de PoW (un terme que j'ai personnellement conçu)?
En envisageant la construction d'un marché de la puissance de calcul ZKP, nous avons déjà tiré des conclusions sur l'aspect matériel du texte précédent. Les questions restantes sont les suivantes : le ZKP a-t-il besoin de décentralisation ? La taille du marché est-elle suffisamment attrayante ? Si les chaînes publiques basées sur ZK choisissent toutes de construire leurs propres marchés de génération de preuves, quelle est la signification d'un marché de la puissance de calcul ZKP ?
L’importance de la décentralisation : Tout d’abord, la plupart des projets zkRollup actuels (tels que Starkware et zKsync) reposent sur des serveurs centralisés, ne considérant que l’expansion d’Ethereum. La centralisation signifie que le risque que les informations des utilisateurs soient censurées existe toujours, sacrifiant quelque peu la nature sans autorisation la plus importante de la blockchain. Pour les protocoles de confidentialité utilisant ZK, la décentralisation de la génération de ZKP est extrêmement nécessaire. La deuxième raison de la décentralisation est le coût, similaire à la section précédente sur l’AGI. Le coût des services cloud et de l’achat de matériel est très élevé, et la génération de preuves ne convient généralement qu’aux grands projets. Pour les petits projets à leurs débuts, un marché de preuve décentralisé peut grandement atténuer leurs difficultés de financement au démarrage, et également réduire la concurrence déloyale due aux contraintes financières.
Taille du marché: Paradigm a prédit l'année dernière que le marché des mineurs/générateurs de preuves ZK pourrait atteindre une taille comparable à celle du marché minier PoW passé. La raison fondamentale en est que les acheteurs et vendeurs sur le marché de la puissance de calcul ZKP sont nombreux. Pour les anciens mineurs d'Ethereum, les nombreux projets de chaînes publiques et de couche 2 basés sur ZK sont bien plus attractifs que les chaînes publiques forkées d'Ethereum. Cependant, nous devons également prendre en compte que la plupart des chaînes publiques ou des couches 2 basées sur ZK sont tout à fait capables de construire leurs propres marchés de génération de preuves. S'ils doivent se conformer au récit de la décentralisation, cette étape est également inévitable dans leur feuille de route (comme Starkware et zkSync, qui auront leurs propres solutions décentralisées à l'avenir). Alors, le marché de la puissance de calcul ZKP a-t-il toujours un but?
L'importance de le construire: Tout d'abord, les applications de ZKP sont extrêmement répandues (comme nous l'avons déjà exemplifié plusieurs fois dans le texte précédent, et nous nous référerons à un projet ultérieurement). Deuxièmement, même si chaque chaîne ZK a son propre marché de génération de preuves, le marché de la puissance de calcul a encore trois fonctions qui peuvent inciter les vendeurs à envisager de vendre leur puissance de calcul.
Proof Market est un marché de puissance de calcul ZKP décentralisé construit par =nil; (une société de développement Ethereum). À ma connaissance, c'est actuellement le seul marché de puissance de calcul construit autour de la génération de ZKP. Fondamentalement, c'est un protocole de confidentialité des données sans confiance qui permet aux blockchains et protocoles de couche 1 et de couche 2 de générer des preuves de connaissance nulle en fonction du besoin de partage transparent des données, sans avoir recours à des intermédiaires centralisés. Bien que Proof Market ne soit pas le marché construit autour des GPU individuels comme je l'imaginais (Proof Market est construit autour de fournisseurs de matériel professionnels, et le minage de GPU pour ZKP peut également se référer au Roller Network dans l'architecture Scroll ou à Aleo), il est toujours très pertinent pour envisager comment un marché de puissance de calcul ZKP est construit et largement appliqué. Le flux de travail de Proof Market est le suivant :
Demandeur de preuve :
zkLLVM:
Marché des preuves:
Générateur de preuves :
Mécanisme de récompense :
Dans l'ensemble du processus, la demande, la génération, la vérification et la distribution des récompenses pour les preuves tournent toutes autour du Proof Market. Ce processus vise à créer un marché décentralisé où la génération et la vérification des ZKP sont automatisées, et les participants peuvent recevoir des récompenses correspondant à leurs contributions.
Depuis sa version de test en janvier 2023, les principaux scénarios d’application de Proof Market ont été les protocoles fonctionnant en dehors de la couche 1 (L1) d’Ethereum, tels que zkRollup, zkBridge connecté à Ethereum et les chaînes publiques utilisant zkP.
Avec l'intégration des points de terminaison Ethereum (une interface de passerelle qui permet à d'autres systèmes ou services de se connecter et de s'intégrer), Proof Market sera applicable à plus d'applications, en particulier celles qui ont besoin de demander directement des preuves aux applications EVM pour offrir une expérience utilisateur plus fluide ou qui ont besoin de travailler avec des données stockées on-chain.
Voici quelques scénarios d'application potentiels :
Le projet bien connu LSD Lido utilise également Proof Market pour construire une solution visant à renforcer la sécurité et la crédibilité du contrat Lido Accounting Oracle. L'Oracle Accounting Lido repose sur un comité Oracle composé de tiers de confiance et d'un mécanisme de quorum pour maintenir son état, ce qui pose des vecteurs d'attaque potentiels. Le processus de solution dans Proof Market est le suivant :
Définition du problème
Spécification de la solution
Lido: Besoin de rendre certains données de l'état de la couche de consensus accessibles dans la couche d'exécution.
Oracle : Rapports TVL et nombres de validateurs au contrat TVL.
Producteur de preuves : Génère des preuves d'intégrité computationnelle.
Vérificateur de preuves : Vérifie les preuves dans le contrat EL.
Phases de déploiement
Comparé à la grande vision du marché de la puissance de calcul AGI, le marché de la puissance de calcul ZKP est en effet plus limité aux applications au sein de la blockchain. Cependant, l'avantage est que le développement du marché de la puissance de calcul ZKP n'a pas besoin de considérer des conceptions extrêmement complexes comme les réseaux neuronaux, ce qui rend la difficulté de développement globale plus faible et les besoins en financement moins importants. En combinant les projets mentionnés ci-dessus, il n'est pas difficile de voir que tandis que le marché de la puissance de calcul AGI est encore perplexe quant à la manière de se concrétiser, le marché de la puissance de calcul ZKP a déjà pénétré de multiples scénarios d'application dans la blockchain dans plusieurs dimensions.
D'un point de vue du marché, le marché de la puissance de calcul ZKP est encore dans une phase de l'océan très bleue, et le marché de la preuve mentionné n'est pas le design idéal à mon avis. En combinant l'optimisation de l'algorithme, l'optimisation du scénario d'application, l'optimisation matérielle et le choix de différents marchés de vendeurs de puissance de calcul, il y a encore beaucoup d'espace imaginatif dans la conception du marché de la puissance de calcul ZKP. De plus, en considérant la perspective de développement, Vitalik a souligné à plusieurs reprises que l'impact de ZK sur le domaine de la blockchain dans la prochaine décennie sera aussi important que la blockchain elle-même. Cependant, compte tenu de la polyvalence de ZK, à mesure que la conception mûrit, l'importance future de ZK dans les domaines non liés à la blockchain pourrait ne pas être inférieure à celle de l'AGI actuel, et ses perspectives ne devraient pas être sous-estimées.
YBB est un fonds web3 se consacrant à identifier des projets définissant le Web3 avec une vision de créer un meilleur habitat en ligne pour tous les résidents d'Internet. Fondé par un groupe de croyants en blockchain qui participent activement à cette industrie depuis 2013, YBB est toujours prêt à aider les projets de stade précoce à évoluer de 0 à 1. Nous apprécions l'innovation, la passion autonome et les produits orientés utilisateur tout en reconnaissant le potentiel des cryptos et des applications de blockchain.