Les zk-SNARK permettent à une partie de prouver à une autre partie qu'elle connaît un secret sans révéler le secret lui-même, permettant des interactions sécurisées et privées avec des parties inconnues et non fiables dans la blockchain.
Écrit par : Institut de recherche Dayou IPFS
zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), permettent à une partie de prouver à une autre partie qu'elle connaît un secret sans révéler le secret lui-même. Les zk-SNARK permettent des interactions sécurisées et privées avec des parties inconnues et non fiables dans la blockchain.
** Le réseau Filecoin génère actuellement 6 à 7 millions de preuves zk-SNARK par jour, chacune contenant plus de 100 millions de contraintes arithmétiques. ** Afin d'atteindre cet objectif, nous - Protocol Labs avons amélioré et fortement optimisé l'outil de génération de snark existant, lui permettant d'évoluer pour répondre à nos besoins sans précédent.
** Filecoin est le plus grand réseau zk-SNARK à ce jour. **
plusieurs volets :
La configuration de confiance de Filecoin prend en charge les circuits jusqu'à 2 ^ 27 = ~ 134 millions de contraintes.
Filecoin a une limite > 100M pour les grands circuits individuels.
Pour répondre aux exigences de sécurité de Filecoin, certaines épreuves regroupent jusqu'à 10 zk-snarks individuels dans une seule grande épreuve.
Filecoin étend et déploie également la recherche sur les agrégations zk-SNARK pour permettre la compression de milliers de preuves individuelles en une seule preuve.
Tout cela contribue à la capacité de Filecoin à prouver plus d'informations en production.
Le pouvoir de Tau et la construction de la confiance
Afin de prendre en charge le montant limité requis pour Filecoin, nous avons organisé une nouvelle cérémonie Tau Power qui a augmenté le montant du soutien de 64 fois le montant exécuté par Zcash. Cela nous permet de générer des preuves de plus de 100 millions de contraintes, limitées uniquement par la taille des paramètres de la distribution.
Pour prendre en charge notre configuration de confiance de deuxième étape (spécifique au circuit) pour les grands circuits, nous avons mis en œuvre des techniques pour réduire considérablement l'utilisation de la RAM, permettre le parallélisme et réduire les frais généraux d'E / S - afin de permettre aux parties utilisant du matériel pratique de participer dans les 7 semaines suivant le cérémonie.
Utiliser le prouveur basé sur GPU
La génération du zk-snark devient rapidement un goulot d'étranglement, donc la partie coûteuse est implémentée sur le GPU en utilisant OpenCL et CUDA. Étant donné que les opérations de base prenant en charge la génération de preuves sont hautement parallélisées, nous tirons parti des calculs GPU modernes à usage général pour les décharger du CPU.
** Cela permet un débit plus élevé tout en créant une efficacité économique. ** En déchargeant le travail parallélisable sur des processeurs parallèles relativement bon marché, nous pouvons garder la mémoire principale et le processeur libres pour le travail de haut niveau et gourmand en mémoire utilisé pour créer des mineurs de données.
Les algorithmes de domaine de bas niveau sous-tendent la plupart des opérations effectuées lors de la génération et de la vérification de zk-snarks. ** La bibliothèque blst implémente des sections critiques dans l'assemblage et le C pour obtenir les dernières performances du CPU. **Pour s'assurer que ces optimisations ne compromettent pas la sécurité, le code (même le langage d'assemblage !) est formellement vérifié par Galois.
Validation de lot plus forte
Pour améliorer la vitesse de vérification de plusieurs zk-snarks, une vérification par lots est implémentée. Il s'agit d'une technique décrite dans l'annexe B2 de la spécification Zcash, mais qui n'est pas encore utilisée. Cela permet de réduire le nombre de boucles Miller (l'opération la plus coûteuse du processus de validation) qui doivent être effectuées, réduisant ainsi considérablement le nombre de validations multiples à la fois.
Bien que la vérification par lots aide, nous avions besoin d'une vérification plus rapide, nous avons donc implémenté SnarkPack. Cela nous permet d'agréger de nombreux zk-snarks dans une preuve combinée. ** Cette optimisation réduit non seulement le temps de vérification de plus de 10 fois à grande échelle, mais réduit également la bande passante de la chaîne en réduisant le nombre moyen d'octets par preuve qui doivent être soumis à la chaîne. **
Pour y parvenir, nous nous sommes appuyés sur une justification interne du produit et avons travaillé avec les auteurs pour l'étendre afin de répondre à nos besoins sans nécessiter une nouvelle configuration de confiance. Nous y sommes parvenus en adaptant la technique pour l'appliquer en toute sécurité à l'aide de deux paramètres de puissance de confiance existants de Tau. ** Ceci est un excellent exemple des obstacles que nous avons historiquement dû surmonter pour atteindre une échelle révolutionnaire. **
Dayou IPFS Research Institute continuera à être attentif aux dernières nouvelles entourant le projet Filecoin.
Que vous soyez novice ou praticien senior, Dayou IPFS Institute vous apportera des perspectives innovantes et une analyse approfondie. Nous défendons l'esprit d'ouverture et de tolérance, et vous invitons à nous rejoindre pour apprendre et grandir ensemble.
Voir l'original
Le contenu est fourni à titre de référence uniquement, il ne s'agit pas d'une sollicitation ou d'une offre. Aucun conseil en investissement, fiscalité ou juridique n'est fourni. Consultez l'Avertissement pour plus de détails sur les risques.
Explication détaillée de l'application des zk-SNARK dans le réseau Filecoin
Écrit par : Institut de recherche Dayou IPFS
zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), permettent à une partie de prouver à une autre partie qu'elle connaît un secret sans révéler le secret lui-même. Les zk-SNARK permettent des interactions sécurisées et privées avec des parties inconnues et non fiables dans la blockchain.
** Le réseau Filecoin génère actuellement 6 à 7 millions de preuves zk-SNARK par jour, chacune contenant plus de 100 millions de contraintes arithmétiques. ** Afin d'atteindre cet objectif, nous - Protocol Labs avons amélioré et fortement optimisé l'outil de génération de snark existant, lui permettant d'évoluer pour répondre à nos besoins sans précédent.
** Filecoin est le plus grand réseau zk-SNARK à ce jour. **
plusieurs volets :
Tout cela contribue à la capacité de Filecoin à prouver plus d'informations en production.
Le pouvoir de Tau et la construction de la confiance
Afin de prendre en charge le montant limité requis pour Filecoin, nous avons organisé une nouvelle cérémonie Tau Power qui a augmenté le montant du soutien de 64 fois le montant exécuté par Zcash. Cela nous permet de générer des preuves de plus de 100 millions de contraintes, limitées uniquement par la taille des paramètres de la distribution.
Pour prendre en charge notre configuration de confiance de deuxième étape (spécifique au circuit) pour les grands circuits, nous avons mis en œuvre des techniques pour réduire considérablement l'utilisation de la RAM, permettre le parallélisme et réduire les frais généraux d'E / S - afin de permettre aux parties utilisant du matériel pratique de participer dans les 7 semaines suivant le cérémonie.
Utiliser le prouveur basé sur GPU
La génération du zk-snark devient rapidement un goulot d'étranglement, donc la partie coûteuse est implémentée sur le GPU en utilisant OpenCL et CUDA. Étant donné que les opérations de base prenant en charge la génération de preuves sont hautement parallélisées, nous tirons parti des calculs GPU modernes à usage général pour les décharger du CPU.
** Cela permet un débit plus élevé tout en créant une efficacité économique. ** En déchargeant le travail parallélisable sur des processeurs parallèles relativement bon marché, nous pouvons garder la mémoire principale et le processeur libres pour le travail de haut niveau et gourmand en mémoire utilisé pour créer des mineurs de données.
Les algorithmes de domaine de bas niveau sous-tendent la plupart des opérations effectuées lors de la génération et de la vérification de zk-snarks. ** La bibliothèque blst implémente des sections critiques dans l'assemblage et le C pour obtenir les dernières performances du CPU. **Pour s'assurer que ces optimisations ne compromettent pas la sécurité, le code (même le langage d'assemblage !) est formellement vérifié par Galois.
Validation de lot plus forte
Pour améliorer la vitesse de vérification de plusieurs zk-snarks, une vérification par lots est implémentée. Il s'agit d'une technique décrite dans l'annexe B2 de la spécification Zcash, mais qui n'est pas encore utilisée. Cela permet de réduire le nombre de boucles Miller (l'opération la plus coûteuse du processus de validation) qui doivent être effectuées, réduisant ainsi considérablement le nombre de validations multiples à la fois.
Bien que la vérification par lots aide, nous avions besoin d'une vérification plus rapide, nous avons donc implémenté SnarkPack. Cela nous permet d'agréger de nombreux zk-snarks dans une preuve combinée. ** Cette optimisation réduit non seulement le temps de vérification de plus de 10 fois à grande échelle, mais réduit également la bande passante de la chaîne en réduisant le nombre moyen d'octets par preuve qui doivent être soumis à la chaîne. **
Pour y parvenir, nous nous sommes appuyés sur une justification interne du produit et avons travaillé avec les auteurs pour l'étendre afin de répondre à nos besoins sans nécessiter une nouvelle configuration de confiance. Nous y sommes parvenus en adaptant la technique pour l'appliquer en toute sécurité à l'aide de deux paramètres de puissance de confiance existants de Tau. ** Ceci est un excellent exemple des obstacles que nous avons historiquement dû surmonter pour atteindre une échelle révolutionnaire. **
Dayou IPFS Research Institute continuera à être attentif aux dernières nouvelles entourant le projet Filecoin.
Que vous soyez novice ou praticien senior, Dayou IPFS Institute vous apportera des perspectives innovantes et une analyse approfondie. Nous défendons l'esprit d'ouverture et de tolérance, et vous invitons à nous rejoindre pour apprendre et grandir ensemble.