Considérations de sécurité des projets Blockchain ZKP : évaluation complète sous 7 axes

robot
Création du résumé en cours

Sécurité des considérations liées à la combinaison de zk-SNARKs et de Blockchain

Les zk-SNARKs ( ZKP ) en tant que technologie cryptographique avancée, sont de plus en plus adoptés par les projets de Blockchain. Avec des solutions Layer 2 comme zkSync et Scroll, ainsi que des blockchains spéciales comme Filecoin et Aleo qui sont basées sur les ZKP, et les pratiques antérieures de divers projets de monnaies anonymes, la fusion entre les ZKP et la Blockchain s'approfondit constamment. Cependant, en raison de la complexité des systèmes, ce processus peut également entraîner de nouveaux risques de sécurité. Cet article abordera, d'un point de vue de la sécurité, les vulnérabilités potentielles qui peuvent survenir dans le processus de combinaison des ZKP et de la Blockchain, afin de fournir des références pour la protection de la sécurité des projets concernés.

Les caractéristiques clés des zk-SNARKs

Avant d'analyser la sécurité des systèmes ZKP, nous devons d'abord comprendre leurs caractéristiques fondamentales. Un système de preuve à divulgation nulle de connaissance (zero-knowledge proof) qualifié doit satisfaire simultanément à trois propriétés clés : complétude, fiabilité et zéro connaissance.

  1. Complétude : Pour une déclaration vraie, le prouveur peut toujours réussir à prouver sa véracité au vérificateur.

  2. Fiabilité : Un prouveur malveillant ne peut pas tromper le vérificateur sur des déclarations erronées.

  3. Caractère de preuve à divulgation nulle : pendant le processus de vérification, le vérificateur ne recevra aucune information de la part du prouveur concernant les données elles-mêmes.

Si le système ne satisfait pas à la complétude, il peut, dans certaines situations extrêmes, ne pas être en mesure de fournir une preuve correcte, entraînant un refus de service. Si la fiabilité n'est pas satisfaite, un attaquant peut tromper le vérificateur en falsifiant des preuves ou en construisant des structures spéciales, ce qui entraîne des problèmes graves de contournement des autorisations. Et si la propriété de non-divulgation est insuffisante, cela peut entraîner la fuite de paramètres d'origine au cours du processus d'interaction, permettant à l'attaquant de construire des preuves d'attaque ou de pousser le prouveur à agir de manière malveillante.

Par conséquent, garantir l'intégrité de ces trois caractéristiques est la clé de la sécurité et de l'efficacité des systèmes ZKP.

ZKP dans la sécurité de la Blockchain

Pour les projets de Blockchain utilisant la technologie ZKP, il est principalement nécessaire de se concentrer sur les directions de sécurité suivantes :

1. Circuits zk-SNARKs

Les circuits ZKP utilisés dans le projet doivent répondre aux exigences en matière de sécurité, d'efficacité et d'évolutivité. Les principaux points d'attention comprennent :

  • Conception de circuits : il peut exister des erreurs logiques, entraînant un processus de preuve qui ne respecte pas les attributs de sécurité tels que la zk-SNARKs, la complétude ou la fiabilité.
  • Mise en œuvre des primitives cryptographiques : des mises en œuvre erronées de fonctions de hachage, d'algorithmes de cryptage, etc. peuvent compromettre la sécurité de l'ensemble du système de preuve.
  • Garantie de randomité : Si le processus de génération de nombres aléatoires présente des problèmes, cela peut compromettre la sécurité de la preuve.

2. Sécurité des contrats intelligents

Pour les projets de cryptomonnaie privés basés sur Layer 2 ou implémentés via des contrats intelligents, la sécurité des contrats est cruciale. En plus des vulnérabilités courantes telles que la réentrance, l'injection, le débordement et le contournement des autorisations, les contrats intelligents des projets ZKP jouent un rôle clé dans le transfert d'actifs entre chaînes et la validation des preuves. Les vulnérabilités dans la validation des messages inter-chaînes et la validation des preuves peuvent directement entraîner une défaillance de la fiabilité du système.

3. Disponibilité des données

Le projet doit résoudre correctement le problème de la disponibilité des données, en s'assurant que les données hors chaîne peuvent être accessibles et vérifiées de manière sécurisée et efficace en cas de besoin. Il convient de prêter attention à la sécurité des aspects tels que le stockage des données, les mécanismes de vérification et le processus de transmission. En plus d'utiliser des preuves de disponibilité des données, il est également possible de renforcer la protection des hôtes et la surveillance de l'état des données.

4. Mécanisme d'incitation économique

Évaluer le mécanisme d'incitation du projet pour s'assurer qu'il peut efficacement stimuler la participation raisonnable des validateurs, des utilisateurs et d'autres parties prenantes, tout en maintenant la sécurité et la stabilité du système. Mettre l'accent sur la conception du modèle d'incitation, la distribution des récompenses et les mécanismes de pénalité.

5. Protection de la vie privée

Pour les projets impliquant la protection de la vie privée, il est nécessaire d'auditer soigneusement la mise en œuvre de leur plan de confidentialité. Assurez-vous que les données des utilisateurs sont pleinement protégées pendant le transfert, le stockage et la vérification, tout en maintenant la disponibilité et la fiabilité du système. Il est possible d'analyser le flux de communication du protocole pour déduire s'il existe un risque de fuite de la vie privée du prouveur.

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 validation, etc. Auditer les mesures d'optimisation dans l'implémentation du code pour s'assurer que le projet peut répondre aux exigences de performance.

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 lors de la survenue de situations imprévues (comme des pannes réseau, des attaques malveillantes, etc.) pour les projets d'audit. Assurez-vous que le système peut se rétablir automatiquement et maintenir un fonctionnement normal dans la mesure du possible.

8. Qualité du code

Évaluer la qualité globale du code du projet d'audit, en se concentrant sur la lisibilité, la maintenabilité et la robustesse du code. Évaluer s'il existe des pratiques de programmation non conformes, du code redondant ou des erreurs potentielles.

Conclusion

Lors de l'évaluation de la sécurité des projets ZKP, il est d'abord nécessaire de clarifier où le projet applique le ZKP, car les points d'accent sur la sécurité varient selon les types de projets (tels que Layer 2, les monnaies privées, et les blockchains publiques). Quoi qu'il en soit, garantir l'efficacité des trois caractéristiques principales du ZKP - la complétude, la fiabilité et la validité des connaissances nulles - demeure la priorité. Ce n'est qu'en comprenant pleinement ces considérations de sécurité que l'on peut fournir une protection complète et efficace pour la combinaison du ZKP et de la Blockchain.

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.
  • Récompense
  • 4
  • Partager
Commentaire
0/400
LiquiditySurfervip
· 08-04 12:29
L2 n'est pas si compliqué que ça, pourquoi faire tout un plat ?
Voir l'originalRépondre0
alpha_leakervip
· 08-04 12:28
Les risques de sécurité auraient dû être détectés plus tôt, mais personne n'en parle.
Voir l'originalRépondre0
Token_Sherpavip
· 08-04 12:27
mdr un autre ponzi enveloppé dans des mathématiques zk... j'ai déjà vu ce film
Voir l'originalRépondre0
DuckFluffvip
· 08-04 12:14
La bêta test de zkSync a été vraiment malheureuse.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)