Considérations de sécurité dans la combinaison de zk-SNARKs et Blockchain
zk-SNARKs(ZKP) en tant que système de preuve, a été largement utilisé ces dernières années dans le domaine de la Blockchain. Avec de plus en plus de protocoles Layer 2 et de blockchains publiques spéciales adoptant la technologie ZKP, la complexité de ces systèmes a également entraîné de nouveaux défis en matière de sécurité. Cet article examinera du point de vue de la sécurité les vulnérabilités potentielles pouvant survenir lors de la combinaison de ZKP et de la 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 valide doit satisfaire simultanément à trois caractéristiques clés :
Complétude : pour une déclaration vraie, le prouveur peut toujours prouver son exactitude 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 connaissance nulle : lors du processus de vérification, le vérificateur ne recevra aucune information du prouveur concernant les données d'origine.
Ces trois caractéristiques déterminent si le système est sécurisé et efficace, et doivent être particulièrement surveillées lors du processus de service sécurisé. Si la complétude n'est pas satisfaite, le système peut se retrouver en état de déni de service ; si la fiabilité n'est pas respectée, des problèmes de contournement des autorisations peuvent survenir ; si la propriété de zéro connaissance n'est pas respectée, cela peut entraîner la fuite de paramètres originaux, provoquant ainsi d'autres risques de sécurité.
Principales préoccupations de sécurité
Pour les projets de Blockchain basés sur ZKP, il est principalement nécessaire de se concentrer sur les directions de sécurité suivantes :
1. Circuits zk-SNARKs
Erreur de conception de circuit : peut entraîner un processus de preuve ne respectant pas les propriétés de sécurité. Par exemple, l'erreur de conception de circuit découverte lors de la mise à niveau Sapling de Zcash en 2018, qui pourrait permettre la falsification illimitée de jetons.
Erreur d'implémentation des primitives cryptographiques : si la fonction de hachage, l'algorithme de chiffrement, etc. sont mal implémentés, cela peut affecter la sécurité de l'ensemble du système.
Manque de randomisation : Si le processus de génération de nombres aléatoires présente des problèmes, cela peut réduire la sécurité de la preuve. Dfinity a déjà découvert de telles vulnérabilités.
2. Sécurité des contrats intelligents
En plus des vulnérabilités courantes, les contrats des projets ZKP sont particulièrement importants en ce qui concerne la cross-chain des actifs et la vérification des proofs. Les vulnérabilités dans la validation des messages cross-chain et la vérification des proofs 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. Il faut prêter attention au stockage des données, aux mécanismes de vérification, au processus de transmission, etc. En 2019, la chaîne Plasma avait déjà rencontré des problèmes de disponibilité des données, empêchant les utilisateurs de réaliser des transactions normalement.
4. Incitations économiques
Évaluer si le mécanisme d'incitation du projet est raisonnable et s'il peut efficacement stimuler les parties prenantes à maintenir la sécurité et la stabilité du système. Se concentrer sur la conception du modèle d'incitation, la distribution des récompenses, les mécanismes de punition, etc.
5. Protection de la vie privée
La mise en œuvre de la solution de confidentialité du projet d'audit garantit que les données des utilisateurs sont pleinement protégées tout au long du processus. Il est possible d'inférer si la vie privée du prouveur a été compromise en analysant le flux de communication du protocole.
6. Optimisation des performances
Évaluer la vitesse de traitement des transactions, l'efficacité de la vérification et d'autres indicateurs de performance, et vérifier si les mesures d'optimisation associées sont raisonnables.
7. Mécanismes de tolérance aux pannes et de récupération
Stratégies de tolérance aux pannes et de récupération du système d'audit face aux pannes réseau, aux attaques malveillantes, etc., garantissant un rétablissement automatique du fonctionnement normal.
8. Qualité du code
Auditer la qualité globale du code, en se concentrant sur la lisibilité, la maintenabilité et la robustesse, et évaluer s'il existe des anomalies ou des erreurs potentielles.
Résumé
Lors de l'évaluation de la sécurité des projets ZKP, il est nécessaire de déterminer les priorités en fonction des scénarios d'application spécifiques ( tels que Layer2, les monnaies privées, les blockchains publiques, etc. ) Cependant, il est essentiel de garantir les trois caractéristiques clés des ZKP : la complétude, la fiabilité et la propriété de connaissance nulle. Ce n'est qu'en tenant compte de ces facteurs de sécurité que l'on peut construire un système blockchain ZKP véritablement sécurisé et fiable.
Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
21 J'aime
Récompense
21
9
Partager
Commentaire
0/400
AirdropF5Bro
· 07-07 22:03
Encore en train de faire des connaissances zéro, Se faire prendre pour des cons, n'est-ce pas ?
Voir l'originalRépondre0
OnChain_Detective
· 07-07 11:48
des vulnérabilités partout... restez vigilant anonyme
Voir l'originalRépondre0
GateUser-c802f0e8
· 07-05 07:49
Il y a vraiment beaucoup de gens qui jouent avec les zkp.
Voir l'originalRépondre0
ShadowStaker
· 07-05 05:52
la conception du circuit semble vraiment suspecte... un autre jour, un autre trou de sécurité zkp qui attend d'arriver, je secoue la tête
Voir l'originalRépondre0
0xOverleveraged
· 07-05 05:49
Ah oui, la confidentialité dépend aussi des zk-SNARKs.
Voir l'originalRépondre0
SchrodingerWallet
· 07-05 05:47
Frère, il y a vraiment beaucoup de pièges avec les preuves à divulgation nulle de connaissance.
Analyse des défis de sécurité et des contre-mesures liés à la combinaison de ZKP et de Blockchain
Considérations de sécurité dans la combinaison de zk-SNARKs et Blockchain
zk-SNARKs(ZKP) en tant que système de preuve, a été largement utilisé ces dernières années dans le domaine de la Blockchain. Avec de plus en plus de protocoles Layer 2 et de blockchains publiques spéciales adoptant la technologie ZKP, la complexité de ces systèmes a également entraîné de nouveaux défis en matière de sécurité. Cet article examinera du point de vue de la sécurité les vulnérabilités potentielles pouvant survenir lors de la combinaison de ZKP et de la 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 valide doit satisfaire simultanément à trois caractéristiques clés :
Complétude : pour une déclaration vraie, le prouveur peut toujours prouver son exactitude 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 connaissance nulle : lors du processus de vérification, le vérificateur ne recevra aucune information du prouveur concernant les données d'origine.
Ces trois caractéristiques déterminent si le système est sécurisé et efficace, et doivent être particulièrement surveillées lors du processus de service sécurisé. Si la complétude n'est pas satisfaite, le système peut se retrouver en état de déni de service ; si la fiabilité n'est pas respectée, des problèmes de contournement des autorisations peuvent survenir ; si la propriété de zéro connaissance n'est pas respectée, cela peut entraîner la fuite de paramètres originaux, provoquant ainsi d'autres risques de sécurité.
Principales préoccupations de sécurité
Pour les projets de Blockchain basés sur ZKP, il est principalement nécessaire de se concentrer sur les directions de sécurité suivantes :
1. Circuits zk-SNARKs
Erreur de conception de circuit : peut entraîner un processus de preuve ne respectant pas les propriétés de sécurité. Par exemple, l'erreur de conception de circuit découverte lors de la mise à niveau Sapling de Zcash en 2018, qui pourrait permettre la falsification illimitée de jetons.
Erreur d'implémentation des primitives cryptographiques : si la fonction de hachage, l'algorithme de chiffrement, etc. sont mal implémentés, cela peut affecter la sécurité de l'ensemble du système.
Manque de randomisation : Si le processus de génération de nombres aléatoires présente des problèmes, cela peut réduire la sécurité de la preuve. Dfinity a déjà découvert de telles vulnérabilités.
2. Sécurité des contrats intelligents
En plus des vulnérabilités courantes, les contrats des projets ZKP sont particulièrement importants en ce qui concerne la cross-chain des actifs et la vérification des proofs. Les vulnérabilités dans la validation des messages cross-chain et la vérification des proofs 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. Il faut prêter attention au stockage des données, aux mécanismes de vérification, au processus de transmission, etc. En 2019, la chaîne Plasma avait déjà rencontré des problèmes de disponibilité des données, empêchant les utilisateurs de réaliser des transactions normalement.
4. Incitations économiques
Évaluer si le mécanisme d'incitation du projet est raisonnable et s'il peut efficacement stimuler les parties prenantes à maintenir la sécurité et la stabilité du système. Se concentrer sur la conception du modèle d'incitation, la distribution des récompenses, les mécanismes de punition, etc.
5. Protection de la vie privée
La mise en œuvre de la solution de confidentialité du projet d'audit garantit que les données des utilisateurs sont pleinement protégées tout au long du processus. Il est possible d'inférer si la vie privée du prouveur a été compromise en analysant le flux de communication du protocole.
6. Optimisation des performances
Évaluer la vitesse de traitement des transactions, l'efficacité de la vérification et d'autres indicateurs de performance, et vérifier si les mesures d'optimisation associées sont raisonnables.
7. Mécanismes de tolérance aux pannes et de récupération
Stratégies de tolérance aux pannes et de récupération du système d'audit face aux pannes réseau, aux attaques malveillantes, etc., garantissant un rétablissement automatique du fonctionnement normal.
8. Qualité du code
Auditer la qualité globale du code, en se concentrant sur la lisibilité, la maintenabilité et la robustesse, et évaluer s'il existe des anomalies ou des erreurs potentielles.
Résumé
Lors de l'évaluation de la sécurité des projets ZKP, il est nécessaire de déterminer les priorités en fonction des scénarios d'application spécifiques ( tels que Layer2, les monnaies privées, les blockchains publiques, etc. ) Cependant, il est essentiel de garantir les trois caractéristiques clés des ZKP : la complétude, la fiabilité et la propriété de connaissance nulle. Ce n'est qu'en tenant compte de ces facteurs de sécurité que l'on peut construire un système blockchain ZKP véritablement sécurisé et fiable.