zk-SNARKs(ZKP) en tant qu'outil cryptographique puissant, est de plus en plus adopté par de nombreux projets Blockchain. Cependant, en raison de la complexité de son système, de nombreux risques de sécurité peuvent survenir lors de son intégration avec Blockchain. Cet article examinera, du point de vue de la sécurité, les vulnérabilités potentielles qui peuvent apparaître lors de la combinaison de ZKP et Blockchain, offrant ainsi des références pour la sécurité des projets connexes.
Les caractéristiques clés des zk-SNARKs
Un système de zk-SNARKs complet doit satisfaire simultanément trois caractéristiques clés :
Complétude : pour une déclaration vraie, le prouveur peut toujours réussir à prouver sa véracité au vérificateur.
Fiabilité : pour les déclarations erronées, le prouveur malveillant ne peut pas tromper le vérificateur.
Caractère de preuve à divulgation nulle : au cours du processus de vérification, le vérificateur ne recevra aucune information de la part du prouveur concernant les données d'origine.
Ces trois caractéristiques sont essentielles pour déterminer si un système ZKP est sûr et efficace. Si l'une de ces caractéristiques n'est pas satisfaite, cela peut entraîner de graves problèmes de sécurité pour le système, tels que des attaques par déni de service, un contournement des autorisations ou des fuites de données.
Points de sécurité des projets ZKP
Pour les projets de blockchain basés sur ZKP, il est important de se concentrer sur les directions de sécurité suivantes :
1. Circuits zk-SNARKs
Les circuits ZKP sont au cœur du système, et leur sécurité affecte directement la fiabilité du projet. Les principaux points d'attention incluent :
Conception de circuits : éviter les erreurs logiques, garantir le respect des attributs de sécurité tels que la zk-SNARKs, la complétude et la fiabilité.
Mise en œuvre des primitives cryptographiques : garantir la mise en œuvre correcte des fonctions de hachage, des algorithmes de chiffrement et d'autres primitives cryptographiques.
Garantie de la randomité : assurer la sécurité du processus de génération de nombres aléatoires pour éviter qu'il ne soit compromis par des attaquants.
2. Sécurité des contrats intelligents
Pour les projets Layer 2 ou de monnaies privées, les contrats intelligents jouent un rôle clé dans le transfert d'actifs entre chaînes et la validation des proofs. En plus des vulnérabilités courantes, il est particulièrement important de prêter attention à la sécurité de la validation des messages entre chaînes et des validations de proofs.
3. Disponibilité des données
Assurez-vous que les données hors chaîne peuvent être accessibles et vérifiées de manière sécurisée et efficace. Concentrez-vous sur le stockage des données, les mécanismes de vérification, le processus de transmission, etc., et envisagez d'utiliser des techniques telles que les preuves de disponibilité des données.
4. Mécanismes d'incitation économique
Évaluer la conception du modèle d'incitation du projet, la répartition des récompenses, les mécanismes de pénalité, etc., pour garantir qu'ils stimulent efficacement chaque partie prenante à maintenir la sécurité et la stabilité du système.
5. Protection de la vie privée
Mise en œuvre d'un plan de confidentialité pour les projets d'audit, garantissant que les données des utilisateurs sont pleinement protégées lors de la transmission, du stockage et de la vérification, tout en maintenant la disponibilité et la fiabilité du système.
6. Optimisation des performances
Évaluer les stratégies d'optimisation des performances du projet, telles que la vitesse de traitement des transactions, l'efficacité du processus de vérification, etc., pour garantir le respect des exigences de performance.
7. Mécanismes de tolérance aux pannes et de récupération
Audit des projets face à des situations imprévues ( telles que des pannes réseau, des attaques malveillantes ), des stratégies de tolérance aux pannes et de récupération pour garantir que le système puisse se rétablir automatiquement et maintenir un fonctionnement normal.
8. Qualité du code
La qualité globale du code du projet d'audit, en mettant l'accent sur la lisibilité, la maintenabilité et la robustesse, évalue s'il existe des pratiques de programmation non conformes, du code redondant, des erreurs potentielles, etc.
Conclusion
Lors de l'évaluation de la sécurité des projets ZKP, il est nécessaire de déterminer les priorités en fonction du type de projet (Layer 2, des monnaies privées, des blockchains publiques, etc. Cependant, il est essentiel de garantir pleinement les trois caractéristiques clés du ZKP : complétude, fiabilité et propriété de la connaissance nulle. Ce n'est qu'en considérant ces facteurs de sécurité de manière globale que l'on peut construire un véritable système ZKP Blockchain sûr et fiable.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
21 J'aime
Récompense
21
5
Reposter
Partager
Commentaire
0/400
PortfolioAlert
· 08-19 03:56
Il s'avère que le manteau d'invisibilité a été transformé en protocole.
Voir l'originalRépondre0
LuckyHashValue
· 08-16 06:38
C'est tellement difficile à comprendre, je suis immédiatement déconcerté.
Voir l'originalRépondre0
SatoshiChallenger
· 08-16 06:27
Encore une fois, la théorie parfaite est vantée, avez-vous oublié la leçon de la coupe ZK de 2019 ?
Voir l'originalRépondre0
NotAFinancialAdvice
· 08-16 06:18
Si la sécurité présente des failles, c'est condamné.
Les 8 points clés de sécurité à considérer pour les projets de zk-SNARKs sur la Blockchain
zk-SNARKs dans la sécurité de Blockchain
zk-SNARKs(ZKP) en tant qu'outil cryptographique puissant, est de plus en plus adopté par de nombreux projets Blockchain. Cependant, en raison de la complexité de son système, de nombreux risques de sécurité peuvent survenir lors de son intégration avec Blockchain. Cet article examinera, du point de vue de la sécurité, les vulnérabilités potentielles qui peuvent apparaître lors de la combinaison de ZKP et Blockchain, offrant ainsi des références pour la sécurité des projets connexes.
Les caractéristiques clés des zk-SNARKs
Un système de zk-SNARKs complet doit satisfaire simultanément trois caractéristiques clés :
Complétude : pour une déclaration vraie, le prouveur peut toujours réussir à prouver sa véracité au vérificateur.
Fiabilité : pour les déclarations erronées, le prouveur malveillant ne peut pas tromper le vérificateur.
Caractère de preuve à divulgation nulle : au cours du processus de vérification, le vérificateur ne recevra aucune information de la part du prouveur concernant les données d'origine.
Ces trois caractéristiques sont essentielles pour déterminer si un système ZKP est sûr et efficace. Si l'une de ces caractéristiques n'est pas satisfaite, cela peut entraîner de graves problèmes de sécurité pour le système, tels que des attaques par déni de service, un contournement des autorisations ou des fuites de données.
Points de sécurité des projets ZKP
Pour les projets de blockchain basés sur ZKP, il est important de se concentrer sur les directions de sécurité suivantes :
1. Circuits zk-SNARKs
Les circuits ZKP sont au cœur du système, et leur sécurité affecte directement la fiabilité du projet. Les principaux points d'attention incluent :
Conception de circuits : éviter les erreurs logiques, garantir le respect des attributs de sécurité tels que la zk-SNARKs, la complétude et la fiabilité.
Mise en œuvre des primitives cryptographiques : garantir la mise en œuvre correcte des fonctions de hachage, des algorithmes de chiffrement et d'autres primitives cryptographiques.
Garantie de la randomité : assurer la sécurité du processus de génération de nombres aléatoires pour éviter qu'il ne soit compromis par des attaquants.
2. Sécurité des contrats intelligents
Pour les projets Layer 2 ou de monnaies privées, les contrats intelligents jouent un rôle clé dans le transfert d'actifs entre chaînes et la validation des proofs. En plus des vulnérabilités courantes, il est particulièrement important de prêter attention à la sécurité de la validation des messages entre chaînes et des validations de proofs.
3. Disponibilité des données
Assurez-vous que les données hors chaîne peuvent être accessibles et vérifiées de manière sécurisée et efficace. Concentrez-vous sur le stockage des données, les mécanismes de vérification, le processus de transmission, etc., et envisagez d'utiliser des techniques telles que les preuves de disponibilité des données.
4. Mécanismes d'incitation économique
Évaluer la conception du modèle d'incitation du projet, la répartition des récompenses, les mécanismes de pénalité, etc., pour garantir qu'ils stimulent efficacement chaque partie prenante à maintenir la sécurité et la stabilité du système.
5. Protection de la vie privée
Mise en œuvre d'un plan de confidentialité pour les projets d'audit, garantissant que les données des utilisateurs sont pleinement protégées lors de la transmission, du stockage et de la vérification, tout en maintenant la disponibilité et la fiabilité du système.
6. Optimisation des performances
Évaluer les stratégies d'optimisation des performances du projet, telles que la vitesse de traitement des transactions, l'efficacité du processus de vérification, etc., pour garantir le respect des exigences de performance.
7. Mécanismes de tolérance aux pannes et de récupération
Audit des projets face à des situations imprévues ( telles que des pannes réseau, des attaques malveillantes ), des stratégies de tolérance aux pannes et de récupération pour garantir que le système puisse se rétablir automatiquement et maintenir un fonctionnement normal.
8. Qualité du code
La qualité globale du code du projet d'audit, en mettant l'accent sur la lisibilité, la maintenabilité et la robustesse, évalue s'il existe des pratiques de programmation non conformes, du code redondant, des erreurs potentielles, etc.
Conclusion
Lors de l'évaluation de la sécurité des projets ZKP, il est nécessaire de déterminer les priorités en fonction du type de projet (Layer 2, des monnaies privées, des blockchains publiques, etc. Cependant, il est essentiel de garantir pleinement les trois caractéristiques clés du ZKP : complétude, fiabilité et propriété de la connaissance nulle. Ce n'est qu'en considérant ces facteurs de sécurité de manière globale que l'on peut construire un véritable système ZKP Blockchain sûr et fiable.