Défis de sécurité de la combinaison des zk-SNARKs et de la Blockchain
zk-SNARKs(ZKP) en tant que technologie cryptographique avancée, est de plus en plus adoptée par de nombreux projets Blockchain. Cependant, la complexité des systèmes ZKP entraîne également de nombreux risques de sécurité. Cet article explorera, du point de vue de la sécurité, les vulnérabilités potentielles pouvant survenir lors de la combinaison de ZKP et Blockchain, afin de fournir des références pour la sécurité des projets concernés.
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 affirmation vraie, le prouveur peut toujours prouver avec succès sa véracité au vérificateur.
Fiabilité : En ce qui concerne les déclarations erronées, le prouveur malveillant ne peut pas tromper le vérificateur.
Propriété de non-divulgation : au cours du processus de vérification, le vérificateur ne recevra aucune information sur les données d'origine.
Ces trois caractéristiques sont la base de la sécurité et de l'efficacité des systèmes de zk-SNARKs. Si l'une de ces caractéristiques n'est pas satisfaite, cela peut entraîner des problèmes graves tels que le refus de service, le contournement des autorisations ou la fuite de données. Par conséquent, lors de l'évaluation de la sécurité, il est essentiel de se concentrer sur la garantie de ces caractéristiques.
Principales préoccupations en matière de sécurité
Pour les projets de blockchain basés sur ZKP, il est principalement nécessaire de se concentrer sur les problèmes de sécurité suivants :
1. Circuits zk-SNARKs
Les circuits ZKP sont le cœur du système, il est nécessaire d'assurer la sécurité de leur conception et de leur mise en œuvre. Cela comprend principalement :
Erreur de conception de circuit : cela peut entraîner une non-conformité des propriétés de sécurité telles que la zero-knowledge, la complétude ou la fiabilité.
Erreur d'implémentation des primitives cryptographiques : si des problèmes existent dans l'implémentation des fonctions de hachage, des algorithmes de chiffrement, etc., cela pourrait compromettre la sécurité de l'ensemble du système de preuve.
Absence de randomisation : si le processus de génération de nombres aléatoires présente des défauts, cela peut compromettre la sécurité de la preuve.
2. Sécurité des contrats intelligents
Pour les projets de cryptomonnaies de confidentialité sur Layer2 ou réalisés par le biais de contrats intelligents, la sécurité des contrats est cruciale. En plus des vulnérabilités courantes, il est également essentiel de prêter une attention particulière aux problèmes de validation des messages inter-chaînes et de validation des proofs, car ceux-ci peuvent directement affecter la fiabilité du système.
3. Disponibilité des données
Il est nécessaire de s'assurer que les données hors chaîne peuvent être accessibles et vérifiées de manière sécurisée et efficace lorsque cela est nécessaire. Il faut se concentrer sur la sécurité du stockage des données, des mécanismes de vérification et du processus de transmission. En plus d'utiliser des preuves de disponibilité des données, il est également possible de renforcer la protection de l'hôte et la surveillance de l'état des données.
4. Mécanismes d'incitation économique
Évaluer la conception du modèle d'incitation du projet, la distribution des récompenses et le mécanisme de punition, afin de s'assurer que toutes les parties prenantes ont intérêt à maintenir la sécurité et le bon fonctionnement du système.
5. Protection de la vie privée
La mise en œuvre d'un schéma de protection de la vie privée pour le projet d'audit garantit que les données des utilisateurs sont pleinement protégées lors de leur transmission, de leur stockage et de leur vérification, tout en maintenant la disponibilité et la fiabilité du système. En analysant le flux de communication du protocole, il est possible de déduire s'il existe un risque de divulgation de la vie privée des prouveurs.
6. Optimisation des performances
Évaluer les stratégies d'optimisation des performances du projet, telles que la vitesse de traitement des transactions et l'efficacité du processus de validation. Auditer les mesures d'optimisation mises en œuvre dans le code afin de garantir qu'elles répondent aux exigences de performance.
7. Mécanismes de tolérance aux pannes et de récupération
Examiner les stratégies de tolérance aux pannes et de récupération des projets face à des situations imprévues telles que des pannes réseau ou des attaques malveillantes, afin de garantir que le système puisse se rétablir automatiquement et maintenir un fonctionnement normal.
8. Qualité du code
Qualité globale du code des projets d'audit, en mettant l'accent sur la lisibilité, la maintenabilité et la robustesse. Évaluer s'il existe des pratiques de programmation non conformes, du code redondant ou des erreurs potentielles.
Services de sécurité et protection
Fournir une protection complète et sécurisée pour les projets ZKP peut être abordé sous plusieurs aspects :
Audit de code de circuit : utiliser des méthodes manuelles et automatisées pour auditer la validité des conditions de contrainte et de génération de témoins, et analyser en profondeur les vulnérabilités de calcul de contrainte manquantes.
Test de sécurité du code des nœuds : effectuer des tests de Fuzz sur le code Sequencer/Prover et les contrats de vérification, tout en fournissant une protection pour les entités et les données des nœuds.
Surveillance de la sécurité on-chain : déployer des systèmes de sensibilisation à la sécurité on-chain, d'alerte aux risques et de traçage on-chain pour réaliser une perception des risques en temps réel.
Protection de la sécurité des hôtes : Produits de protection de la sécurité des hôtes utilisant les capacités CWPP et ASA, offrant une gestion en boucle fermée des actifs, des risques, des menaces et des réponses au niveau des serveurs.
Conclusion
L'évaluation de la sécurité des projets ZKP doit être axée sur des scénarios d'application spécifiques ( tels que Layer2, les monnaies privées, les chaînes publiques, etc. ) Cependant, quel que soit le type, il est impératif de garantir les trois caractéristiques fondamentales du ZKP. Ce n'est qu'en tenant compte de tous les facteurs de sécurité que l'on peut construire un système Blockchain ZKP véritablement 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.
15 J'aime
Récompense
15
9
Partager
Commentaire
0/400
ChainWatcher
· 07-09 07:44
Continuer à raconter l'histoire, c'est tellement incomplet.
Voir l'originalRépondre0
Fren_Not_Food
· 07-08 15:09
Le zkp est assez intéressant !
Voir l'originalRépondre0
DataBartender
· 07-07 09:46
À quoi sert la confidentialité ? Les autres savent que votre compte est vide.
Voir l'originalRépondre0
FUDwatcher
· 07-06 08:15
Le zkp n'est pas une panacée, ceux qui comprennent savent.
Voir l'originalRépondre0
MainnetDelayedAgain
· 07-06 08:15
Selon les statistiques, ce projet a dessiné un gâteau à connaissance nulle pendant 328 jours.
Voir l'originalRépondre0
Lonely_Validator
· 07-06 08:07
La théorie est comprise, la pratique est à moitié comprise.
Voir l'originalRépondre0
fork_in_the_road
· 07-06 08:01
zk+Blockchain ne pourra pas sauver ce marché en ruine.
Voir l'originalRépondre0
Layer3Dreamer
· 07-06 07:55
théoriquement parlant, le trilemme zk frappe plus fort que le trilemme de la blockchain à vrai dire
Voir l'originalRépondre0
NftDataDetective
· 07-06 07:52
c'est reparti... le zkp attire l'attention mais personne ne parle des vecteurs d'attaque smh
Les huit grands défis de sécurité liés à la combinaison de la ZKP et de la Blockchain et les stratégies de réponse
Défis de sécurité de la combinaison des zk-SNARKs et de la Blockchain
zk-SNARKs(ZKP) en tant que technologie cryptographique avancée, est de plus en plus adoptée par de nombreux projets Blockchain. Cependant, la complexité des systèmes ZKP entraîne également de nombreux risques de sécurité. Cet article explorera, du point de vue de la sécurité, les vulnérabilités potentielles pouvant survenir lors de la combinaison de ZKP et Blockchain, afin de fournir des références pour la sécurité des projets concernés.
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 affirmation vraie, le prouveur peut toujours prouver avec succès sa véracité au vérificateur.
Fiabilité : En ce qui concerne les déclarations erronées, le prouveur malveillant ne peut pas tromper le vérificateur.
Propriété de non-divulgation : au cours du processus de vérification, le vérificateur ne recevra aucune information sur les données d'origine.
Ces trois caractéristiques sont la base de la sécurité et de l'efficacité des systèmes de zk-SNARKs. Si l'une de ces caractéristiques n'est pas satisfaite, cela peut entraîner des problèmes graves tels que le refus de service, le contournement des autorisations ou la fuite de données. Par conséquent, lors de l'évaluation de la sécurité, il est essentiel de se concentrer sur la garantie de ces caractéristiques.
Principales préoccupations en matière de sécurité
Pour les projets de blockchain basés sur ZKP, il est principalement nécessaire de se concentrer sur les problèmes de sécurité suivants :
1. Circuits zk-SNARKs
Les circuits ZKP sont le cœur du système, il est nécessaire d'assurer la sécurité de leur conception et de leur mise en œuvre. Cela comprend principalement :
Erreur de conception de circuit : cela peut entraîner une non-conformité des propriétés de sécurité telles que la zero-knowledge, la complétude ou la fiabilité.
Erreur d'implémentation des primitives cryptographiques : si des problèmes existent dans l'implémentation des fonctions de hachage, des algorithmes de chiffrement, etc., cela pourrait compromettre la sécurité de l'ensemble du système de preuve.
Absence de randomisation : si le processus de génération de nombres aléatoires présente des défauts, cela peut compromettre la sécurité de la preuve.
2. Sécurité des contrats intelligents
Pour les projets de cryptomonnaies de confidentialité sur Layer2 ou réalisés par le biais de contrats intelligents, la sécurité des contrats est cruciale. En plus des vulnérabilités courantes, il est également essentiel de prêter une attention particulière aux problèmes de validation des messages inter-chaînes et de validation des proofs, car ceux-ci peuvent directement affecter la fiabilité du système.
3. Disponibilité des données
Il est nécessaire de s'assurer que les données hors chaîne peuvent être accessibles et vérifiées de manière sécurisée et efficace lorsque cela est nécessaire. Il faut se concentrer sur la sécurité du stockage des données, des mécanismes de vérification et du processus de transmission. En plus d'utiliser des preuves de disponibilité des données, il est également possible de renforcer la protection de l'hôte et la surveillance de l'état des données.
4. Mécanismes d'incitation économique
Évaluer la conception du modèle d'incitation du projet, la distribution des récompenses et le mécanisme de punition, afin de s'assurer que toutes les parties prenantes ont intérêt à maintenir la sécurité et le bon fonctionnement du système.
5. Protection de la vie privée
La mise en œuvre d'un schéma de protection de la vie privée pour le projet d'audit garantit que les données des utilisateurs sont pleinement protégées lors de leur transmission, de leur stockage et de leur vérification, tout en maintenant la disponibilité et la fiabilité du système. En analysant le flux de communication du protocole, il est possible de déduire s'il existe un risque de divulgation de la vie privée des prouveurs.
6. Optimisation des performances
Évaluer les stratégies d'optimisation des performances du projet, telles que la vitesse de traitement des transactions et l'efficacité du processus de validation. Auditer les mesures d'optimisation mises en œuvre dans le code afin de garantir qu'elles répondent aux exigences de performance.
7. Mécanismes de tolérance aux pannes et de récupération
Examiner les stratégies de tolérance aux pannes et de récupération des projets face à des situations imprévues telles que des pannes réseau ou des attaques malveillantes, afin de garantir que le système puisse se rétablir automatiquement et maintenir un fonctionnement normal.
8. Qualité du code
Qualité globale du code des projets d'audit, en mettant l'accent sur la lisibilité, la maintenabilité et la robustesse. Évaluer s'il existe des pratiques de programmation non conformes, du code redondant ou des erreurs potentielles.
Services de sécurité et protection
Fournir une protection complète et sécurisée pour les projets ZKP peut être abordé sous plusieurs aspects :
Audit de code de circuit : utiliser des méthodes manuelles et automatisées pour auditer la validité des conditions de contrainte et de génération de témoins, et analyser en profondeur les vulnérabilités de calcul de contrainte manquantes.
Test de sécurité du code des nœuds : effectuer des tests de Fuzz sur le code Sequencer/Prover et les contrats de vérification, tout en fournissant une protection pour les entités et les données des nœuds.
Surveillance de la sécurité on-chain : déployer des systèmes de sensibilisation à la sécurité on-chain, d'alerte aux risques et de traçage on-chain pour réaliser une perception des risques en temps réel.
Protection de la sécurité des hôtes : Produits de protection de la sécurité des hôtes utilisant les capacités CWPP et ASA, offrant une gestion en boucle fermée des actifs, des risques, des menaces et des réponses au niveau des serveurs.
Conclusion
L'évaluation de la sécurité des projets ZKP doit être axée sur des scénarios d'application spécifiques ( tels que Layer2, les monnaies privées, les chaînes publiques, etc. ) Cependant, quel que soit le type, il est impératif de garantir les trois caractéristiques fondamentales du ZKP. Ce n'est qu'en tenant compte de tous les facteurs de sécurité que l'on peut construire un système Blockchain ZKP véritablement sûr et fiable.