Analyse approfondie : les 8 grands défis de sécurité de la combinaison des zk-SNARKs et de la Blockchain

robot
Création du résumé en cours

Considérations de sécurité sur la combinaison de zk-SNARKs et Blockchain

Les zk-SNARKs ( ZKP ), en tant que technologie cryptographique avancée, sont de plus en plus adoptés par de nombreux projets Blockchain. Cependant, en raison de la complexité des systèmes, la combinaison des ZKP avec la Blockchain entraîne également de nouveaux défis en matière de sécurité. Cet article explorera les risques potentiels auxquels l'application des ZKP dans la Blockchain pourrait être confrontée du point de vue de la sécurité, afin de fournir des références pour la protection des projets concernés.

Les caractéristiques clés des zk-SNARKs

Un système de zk-SNARKs fiable doit satisfaire simultanément trois caractéristiques clés :

  1. Complétude : Pour une déclaration vraie, le prouveur peut toujours prouver avec succès sa validité au vérificateur.

  2. Fiabilité : les prouveurs malveillants ne peuvent pas tromper les vérificateurs en cas de déclaration erronée.

  3. Propriété de zero-knowledge : pendant le processus de vérification, le vérificateur ne recevra aucune information du prouveur concernant les données d'origine.

Ces trois caractéristiques sont la base de la sécurité et de l'efficacité du système ZKP. Si la complétude n'est pas satisfaite, le système peut rejeter des preuves correctes dans certaines conditions. Si la fiabilité n'est pas satisfaite, un attaquant peut falsifier des preuves pour tromper le vérificateur. Si la propriété de connaissance nulle n'est pas satisfaite, il peut y avoir une fuite des paramètres originaux, entraînant des vulnérabilités de sécurité.

Principales préoccupations en matière de sécurité des projets ZKP

1. Circuit zk-SNARKs

La conception de circuits, la mise en œuvre de primitives cryptographiques et la génération de l'aléatoire sont des aspects à surveiller de près :

  • Une erreur de conception du circuit peut entraîner un processus de preuve qui ne respecte pas les propriétés de sécurité. Par exemple, Zcash a découvert lors de sa mise à niveau de 2018 une erreur de conception du circuit susceptible de provoquer la création illimitée de jetons contrefaits.

  • Une erreur dans l'implémentation des primitives cryptographiques peut compromettre la sécurité de l'ensemble du système. Par exemple, le pont inter-chaînes de BNB Chain a entraîné d'énormes pertes en raison d'une erreur dans l'implémentation de la primitive de vérification du merkle tree.

  • L'absence de randomisation peut compromettre la sécurité de la preuve. Dfinity a découvert une vulnérabilité dans le générateur de nombres aléatoires, ce qui pourrait compromettre les caractéristiques de zk-SNARKs.

2. Sécurité des contrats intelligents

Pour les projets Layer2 ou de monnaies privées, les contrats intelligents jouent un rôle clé dans la migration d'actifs entre chaînes et la vérification des preuves. En plus des vulnérabilités courantes, les problèmes de vérification des messages inter-chaînes et de vérification des preuves peuvent entraîner une perte de fiabilité. Par exemple, la vulnérabilité du contrat Verify de Circom pourrait permettre des attaques de double dépense.

3. Disponibilité des données

Il est nécessaire de garantir que les données hors chaîne peuvent être accessibles et vérifiées de manière sécurisée et efficace. En 2019, la chaîne Plasma avait déjà rencontré des problèmes de disponibilité des données, empêchant les utilisateurs d'effectuer des transactions ou de retirer des fonds. 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écanisme d'incitation économique

Il est nécessaire d'évaluer si le mécanisme d'incitation du projet est raisonnable et s'il peut efficacement inciter toutes les parties à maintenir la sécurité et la stabilité du système. Portez une attention particulière à la conception du modèle d'incitation, à la distribution des récompenses et aux mécanismes de punition.

5. Protection de la vie privée

La mise en œuvre d'une solution de confidentialité d'audit garantit que les données des utilisateurs sont pleinement protégées lors de leur transmission, stockage et vérification. Il est possible d'inférer s'il existe un risque de fuite de données personnelles en analysant le processus de communication du protocole.

6. Optimisation des performances

Évaluer les indicateurs de performance tels que la vitesse de traitement des transactions et l'efficacité du processus de validation, afin de garantir la satisfaction des besoins réels. Auditer les mesures d'optimisation mises en œuvre dans le code.

7. Mécanismes de tolérance aux pannes et de récupération

Stratégies de réponse du système d'audit face à des situations imprévues telles que des pannes réseau ou des attaques malveillantes. Assurez-vous que le système peut se rétablir automatiquement en fonctionnement normal dans la mesure du possible.

8. Qualité du code

Évaluer de manière exhaustive la qualité du code du projet, en se concentrant sur la lisibilité, la maintenabilité et la robustesse. Vérifier s'il existe des pratiques de programmation non conformes, du code redondant ou des erreurs potentielles.

Résumé

Les points de sécurité des projets ZKP varient en fonction des scénarios d'application, mais doivent tous garantir trois caractéristiques majeures : la complétude, la fiabilité et la connaissance nulle. Pour différents types de projets, des stratégies de sécurité ciblées doivent être élaborées pour garantir le bon fonctionnement sécurisé et stable du système.

BNB0.23%
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
  • 7
  • Partager
Commentaire
0/400
BankruptcyArtistvip
· 07-13 09:19
Les programmeurs doivent faire le plus simple.
Voir l'originalRépondre0
LayerZeroHerovip
· 07-13 00:42
La confidentialité et la sécurité sont difficiles à concilier.
Voir l'originalRépondre0
TeaTimeTradervip
· 07-11 08:01
Le code est astucieusement raisonnable
Voir l'originalRépondre0
GasFeeLovervip
· 07-10 23:39
Pas mieux que de préserver sa vie avec gwei.
Voir l'originalRépondre0
0xLuckboxvip
· 07-10 23:34
La sécurité est la plus importante, n'est-ce pas ?
Voir l'originalRépondre0
VCsSuckMyLiquidityvip
· 07-10 23:21
Le design est la clé de la vie.
Voir l'originalRépondre0
CryptoHistoryClassvip
· 07-10 23:16
L'histoire se répète dans la sécurité.
Voir l'originalRépondre0
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)