zk-SNARKs : de la percée théorique aux cas d'utilisation Web3

robot
Création du résumé en cours

zk-SNARKs : histoire, applications et principes

I. L'évolution des zk-SNARKs

Le système moderne des zk-SNARKs a ses origines dans un article coécrit en 1985 par Goldwasser, Micali et Rackoff. Cet article explore la quantité de connaissances nécessaires à échanger pour prouver la véracité d'une affirmation dans un système interactif, par le biais de plusieurs interactions. Si un échange de connaissances sans révélation est possible, cela est appelé zk-SNARKs. Les premiers systèmes de zk-SNARKs souffraient d'insuffisances en termes d'efficacité et de praticité, restant principalement au niveau théorique.

Au cours de la dernière décennie, avec l'essor de la cryptographie dans le domaine des cryptomonnaies, les zk-SNARKs ont commencé à prospérer. Parmi ceux-ci, la construction de protocoles zk-SNARKs généraux, non interactifs et de taille de preuve limitée est devenue l'une des directions clés d'exploration. Le cœur des zk-SNARKs réside dans le compromis entre la vitesse de preuve, la vitesse de vérification et la taille du volume de preuve.

Le papier publié par Groth en 2010 est une percée importante dans le domaine des zk-SNARKs, établissant une base théorique pour cette technologie. En 2015, Zcash a adopté un système de zk-SNARKs pour protéger la confidentialité des transactions, marquant ainsi un progrès significatif de cette technologie au niveau de l'application. Par la suite, les zk-SNARKs ont été combinés avec des contrats intelligents, élargissant ainsi les scénarios d'application.

D'autres résultats académiques importants comprennent :

  • Pinocchio de 2013 : réduction des preuves et des temps de vérification à une portée pratique
  • Groth16 de 2016 : réduction de la taille des preuves et amélioration de l'efficacité de vérification
  • Bulletproofs de 2017 : proposition de zk-SNARKs courts sans configuration de confiance.
  • zk-STARKs de 2018 : présentation du protocole ZK-STARK sans configuration de confiance.

L'émergence de technologies telles que PLONK et Halo2 a également apporté des améliorations supplémentaires aux zk-SNARKs.

HashKey ZK 101 Première Édition : Principes Historiques et Industrie

Deuxièmement, les applications des zk-SNARKs

Les deux applications les plus répandues des zk-SNARKs sont la protection de la vie privée et l'évolutivité. Les projets de transactions privées tels que Zcash et Monero ont été très médiatisés à leurs débuts, mais en raison d'une demande réelle inférieure aux attentes, ils ont progressivement disparu du mainstream. Ces dernières années, avec le passage d'Ethereum 2.0 vers une approche centrée sur les rollups, les solutions d'évolutivité basées sur les zk-SNARKs sont redevenues au centre de l'attention.

transactions privées

Les projets représentatifs de transactions privées incluent :

  • Utiliser Zcash et Tornado avec zk-SNARKs
  • Utiliser Monero avec Bulletproof

Prenons l'exemple de Zcash, dont le processus de transaction zk-SNARKs comprend : la configuration du système, la génération de clés, le minting, la transaction, la vérification et la réception. Cependant, Zcash présente encore certaines limitations, telles que le modèle UTXO et la difficulté d'évolutivité. La proportion d'utilisateurs effectuant réellement des transactions privées est inférieure à 10 %, ce qui montre que sa promotion n'est pas un succès.

En comparaison, Tornado utilise une méthode de pool de mélange unique, plus universelle, et est basé sur le réseau Ethereum. Tornado est essentiellement un pool de mélange utilisant des zk-SNARKs, capable d'offrir plusieurs caractéristiques de protection de la vie privée.

HashKey ZK 101 Première Édition : Principes Historiques et Industrie

mise à l'échelle

L'application des zk dans la scalabilité peut être divisée en réseau de première couche ( tel que Mina ) et réseau de seconde couche (, c'est-à-dire zk-rollup ). L'idée fondamentale du zk-rollup a été proposée pour la première fois par Vitalik en 2018.

Le zk-rollup implique principalement deux types de rôles : le Sequencer et l'Aggregator. Le Sequencer est responsable de l'emballage des transactions, tandis que l'Aggregator se charge de fusionner les transactions et de générer des zk-SNARKs, utilisées pour mettre à jour l'arbre d'état d'Ethereum.

Les avantages des zk-rollups incluent : des frais bas, une finalité rapide, une protection de la vie privée, etc. Les inconvénients comprennent : une grande charge de calcul, des considérations de sécurité ( telles que le besoin d'une configuration de confiance ), et la possibilité de modifier l'ordre des transactions, etc.

Les principaux projets zk-rollup sur le marché actuellement sont : StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, etc. Ces projets choisissent principalement entre SNARK( et ses versions améliorées ) et STARK, ainsi que le degré de support pour l'EVM.

La compatibilité des systèmes ZK avec l'EVM a toujours été un point focal dans l'industrie. Actuellement, il existe principalement deux solutions : la compatibilité complète avec les opcodes Solidity, ou la conception d'une nouvelle machine virtuelle compatible avec ZK et Solidity. Ces dernières années, l'itération rapide de la technologie a considérablement amélioré la compatibilité de l'EVM, offrant plus de commodités aux développeurs.

HashKey ZK 101 Première édition : Principes historiques et industrie

Trois, le principe de base des zk-SNARKs

Les zk-SNARKs doivent satisfaire à trois propriétés : intégrité, fiabilité et caractère non-informatif. zk-SNARK(Argument Succinct Non-Interactif de Connaissance à Zero-Knowledge) en tant que solution importante de preuve à zéro connaissance, possède les caractéristiques suivantes :

  • zk-SNARKs: le processus de preuve ne divulgue pas d'informations supplémentaires
  • Concis : petit volume de vérification
  • Non interactif : pas de multiples interactions nécessaires
  • Fiabilité : les prouveurs avec une capacité de calcul limitée ne peuvent pas falsifier les preuves
  • Connaissance: Le prouveur doit connaître des informations valides pour construire la preuve.

HashKey ZK 101 Première : principes historiques et secteur

Prenons l'exemple des zk-SNARKs de Groth16, dont le principe de preuve comprend les étapes suivantes :

  1. Convertir le problème en circuit
  2. Convertir le circuit en forme R1CS
  3. Conversion de R1CS en forme QAP
  4. Établir des configurations de confiance, générer des paramètres aléatoires
  5. Génération et vérification des preuves zk-SNARKs

HashKey ZK 101 Première édition : principes historiques et industrie

ZK-1.09%
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
  • 5
  • Partager
Commentaire
0/400
MevWhisperervip
· Il y a 5h
Intéressé, viens vite voir !
Voir l'originalRépondre0
Frontrunnervip
· Il y a 11h
Eh, ce n'est toujours pas aussi bon que L2.
Voir l'originalRépondre0
tx_pending_forevervip
· Il y a 11h
Quand pourrai-je comprendre zk...
Voir l'originalRépondre0
SelfRuggervip
· Il y a 11h
zk c'est vraiment bon ! Enfin sauvé le marché.
Voir l'originalRépondre0
LightningClickervip
· Il y a 11h
L'univers à la vitesse de la lumière s'accélère et s'étend~
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)