Huit points de sécurité à suivre pour la combinaison de zk-SNARKs et de Blockchain

robot
Création du résumé en cours

Sécurité des zk-SNARKs dans le Blockchain

zk-SNARKs(ZKP) en tant que système de preuve, consiste essentiellement à décomposer et vérifier un problème par le prouveur et le vérificateur sur la base d'un ensemble de circuits logiques. Avec de plus en plus de protocoles Layer 2 et de chaînes publiques spécifiques adoptant la technologie ZKP, ainsi que divers projets de cryptomonnaies anonymes basés sur ZKP, la combinaison de la Blockchain et du ZKP a généré davantage de vulnérabilités de sécurité en raison de la complexité du système. Cet article abordera les vulnérabilités potentielles qui peuvent survenir lors de la combinaison de ZKP et de la Blockchain du point de vue de la sécurité, afin de fournir des références pour les services de 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 ses trois caractéristiques principales :

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

  2. Fiabilité : face aux déclarations erronées, le prouveur malveillant ne peut pas tromper le vérificateur.

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

Ces trois caractéristiques sont la clé de la sécurité et de l'efficacité des systèmes ZKP, et nécessitent une attention particulière dans les services de sécurité. Si la complétude n'est pas satisfaite, le système peut ne pas être en mesure de fournir une preuve correcte dans des conditions extrêmes, entraînant un déni de service. Si la fiabilité n'est pas satisfaite, un attaquant peut falsifier des preuves pour tromper le vérificateur, entraînant un contournement des autorisations. Si la propriété de connaissance nulle n'est pas satisfaite, il peut y avoir une fuite des paramètres originaux durant le processus d'interaction, permettant à l'attaquant de construire des preuves d'attaque ou au prouveur de mal agir.

Les préoccupations de sécurité des projets ZKP

Pour les projets Blockchain basés sur ZKP, il est principalement nécessaire de se concentrer sur les problèmes de sécurité suivants :

1. Circuit zk-SNARKs

Il est nécessaire de garantir la sécurité, l'efficacité et l'évolutivité des circuits ZKP, qui incluent principalement :

  • Erreur de conception du circuit : peut entraîner un processus de preuve ne respectant pas les 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 l'implémentation des fonctions de hachage, des algorithmes de cryptage, etc., présente des problèmes, cela peut compromettre la sécurité de l'ensemble du système de preuve.

  • Manque de randomisation : 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

Pour les projets de monnaies privées basés sur Layer 2 ou réalisés via des contrats intelligents, en plus des vulnérabilités courantes comme les réentrées et les injections, il est également essentiel de prêter une attention particulière à la sécurité de la validation des messages inter-chaînes et des preuves, ce qui a un impact direct sur la fiabilité du système.

3. Disponibilité des données

Il est nécessaire de prêter attention à la manière dont le projet résout les problèmes de disponibilité des données, en veillant à ce que les données hors chaîne puissent être accessibles et vérifiées de manière sécurisée et efficace. On peut aborder cela sous les angles du stockage des données, des mécanismes de vérification, et du processus de transmission.

4. Incitations économiques

Évaluer si le mécanisme d'incitation du projet est raisonnable et s'il peut efficacement stimuler la participation de toutes les parties tout en maintenant la sécurité et la stabilité du système. Cela inclut la conception du modèle d'incitation, la répartition des récompenses, les mécanismes de pénalité, etc.

5. Protection de la vie privée

Pour les projets impliquant la protection de la vie privée, il est nécessaire d'auditer la mise en œuvre de leur solution de confidentialité, afin de garantir que les données des utilisateurs soient pleinement protégées pendant le transfert, le stockage et 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 validation, etc., auditer les mesures d'optimisation dans l'implémentation du code.

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 face à des situations imprévues ( telles que des pannes réseau, des attaques malveillantes, etc. ), garantissant que le système peut, dans la mesure du possible, 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 la présence de pratiques de programmation non conformes, de code redondant, d'erreurs potentielles et d'autres problèmes.

L'importance des services de sécurité

Pour les projets ZKP, des services de sécurité professionnels peuvent offrir une protection complète. En plus des audits de code de contrat intelligent conventionnels, il est également nécessaire de posséder la capacité d'audit de la logique de codage des circuits, en utilisant à la fois des méthodes manuelles et automatisées pour auditer la validité des conditions de contrainte et de génération de témoins. Pour les logiques importantes, il est possible de simuler divers comportements d'attaque en assemblant manuellement des témoins logiques personnalisés pour effectuer des tests.

De plus, concernant le code Sequencer/Prover et le contrat de vérification, il est également nécessaire de disposer de capacités de test Fuzz et de sécurité, tout en fournissant une protection pour les entités de nœud et les données de nœud. Après le lancement du projet, le système de surveillance et de protection en temps réel est également très important, car il peut fournir des capacités de sensibilisation à la sécurité sur la chaîne, d'alerte aux risques, de suivi sur la chaîne, etc.

Résumé

Lors de la discussion sur la sécurité des projets ZKP, il est d'abord nécessaire de clarifier où le projet utilise les ZKP, car les différents types de projets ( comme Layer 2, les monnaies privées et les blockchains ) ont des priorités de sécurité différentes. Quoi qu'il en soit, il est essentiel de garantir les trois caractéristiques centrales des ZKP : la complétude, la fiabilité et la propriété de connaissance nulle. Ce n'est qu'en tenant compte de tous les facteurs de sécurité que l'on peut construire une solide ligne de défense sécuritaire pour les projets ZKP.

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
  • 8
  • Partager
Commentaire
0/400
PumpDetectorvip
· 08-03 00:42
je regarde les zk proofs depuis l'époque de silk road... je ne peux toujours pas leur faire confiance honnêtement
Voir l'originalRépondre0
StealthDeployervip
· 08-03 00:35
Ça a l'air si compliqué, je ne comprends pas.
Voir l'originalRépondre0
LiquidityNinjavip
· 08-01 14:02
N'y pense plus, le projet est déjà mort.
Voir l'originalRépondre0
SchrodingerWalletvip
· 07-31 01:15
Encore de la pure théorie, et la pratique ?
Voir l'originalRépondre0
SchroedingerGasvip
· 07-31 01:14
Le gaz coûte de l'argent, c'est la plus grande imprévisibilité.
Voir l'originalRépondre0
MissingSatsvip
· 07-31 01:12
Encore du layer2 ? Je ne m'en fiche pas de perdre de l'argent.
Voir l'originalRépondre0
ReverseTradingGuruvip
· 07-31 01:05
Qui peut comprendre ça ? J'en ai marre.
Voir l'originalRépondre0
DeFiCaffeinatorvip
· 07-31 01:00
J'ai la tête qui tourne à cause des vulnérabilités~
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)