Le système moderne de zk-SNARKs a été introduit dans un article publié en 1985 par Goldwasser, Micali et Rackoff. Cet article explore la quantité de connaissances à échanger pour prouver la véracité d'une affirmation dans un système interactif, par le biais de plusieurs tours d'interaction. Si un échange de connaissances sans révélation peut être réalisé, cela est appelé zk-SNARK. Ce système interactif présente un problème de correction probabiliste, ce qui a conduit au développement ultérieur de systèmes non interactifs complets.
Les systèmes de zk-SNARKs des premières générations avaient une efficacité et une utilisabilité limitées, restant principalement au niveau théorique. Au cours des dix dernières années, avec l'essor de la cryptographie dans le domaine des cryptomonnaies, les zk-SNARKs sont progressivement devenus une direction de recherche importante. Parmi celles-ci, explorer des protocoles généraux, non interactifs et à taille de preuve limitée est essentiel.
Les avancées majeures des zk-SNARKs incluent :
En 2010, Groth a proposé la preuve non interactive à courtes paires, qui a établi la base théorique pour les zk-SNARKs.
Protocole Pinocchio de 2013, qui a compressé le temps de preuve et de validation
L'algorithme Groth16 de 2016 a réduit la taille des preuves et amélioré l'efficacité de la vérification
En 2017, l'algorithme Bulletproofs a permis de réaliser des zk-SNARKs courts et non interactifs.
Protocole zk-STARKs de 2018, sans configuration de confiance requise
De plus, PLONK, Halo2 et d'autres avancées importantes ont amélioré les zk-SNARKs.
II. Les principales applications des zk-SNARKs
Les deux applications les plus répandues des zk-SNARKs sont la protection de la vie privée et l'extensibilité.
En matière de transactions privées, les projets représentatifs incluent :
Zcash : utilise des zk-SNARKs pour garantir la confidentialité des transactions
Monero : utilise l'algorithme Bulletproof
Tornado Cash: pool de mélange basé sur Ethereum
En matière d'extensibilité, cela se traduit principalement par la technologie ZK Rollup:
Peut être réalisé sur un réseau de couche 1, comme Mina
Plus de mise en œuvre sur le réseau de couche 2, c'est-à-dire ZK Rollup
Les ZK Rollup ont principalement deux types de rôles : le Sequencer qui est responsable de l'emballage des transactions, et l'Aggregator qui est chargé de fusionner les transactions et de générer des zk-SNARKs.
Actuellement, les projets ZK Rollup compétitifs sur le marché incluent : StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, etc. Ils choisissent principalement entre SNARK et STARK sur leur feuille de route technique, ainsi que le niveau de support pour l'EVM.
La compatibilité EVM est un problème important. Les projets doivent généralement faire des compromis entre les systèmes ZK et la compatibilité EVM, ou concevoir de nouvelles machines virtuelles pour concilier les deux. Récemment, la compatibilité EVM a fait de grands progrès, ce qui influencera le développement de l'écosystème ZK.
Trois, les principes de base des zk-SNARKs
ZK-SNARK signifie "zk-SNARKs". Il a les caractéristiques suivantes :
zk-SNARKs : ne pas divulguer d'informations supplémentaires
Concis : le processus de vérification est court
Non interactif : nécessite aucun échange multiple
Fiabilité : les prouveurs avec une capacité de calcul limitée ne peuvent pas falsifier
Connaissance : le prouveur doit connaître des informations valides
À titre d'exemple de Groth16, les étapes de base des zk-SNARKs comprennent :
Convertir le problème en circuit
Conversion de circuit en forme R1CS
Conversion de R1CS en forme QAP
Générer des paramètres de configuration fiables
Génération et vérification des preuves zk-SNARKs
Les zk-SNARKs jouent un rôle de plus en plus important dans le domaine de la cryptographie et de la blockchain, et leur développement et leur application méritent une attention continue.
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.
8 J'aime
Récompense
8
5
Partager
Commentaire
0/400
Rekt_Recovery
· 07-23 11:42
j'ai perdu tout mon stack dans les échanges zk... j'apprends encore cependant
Voir l'originalRépondre0
SchrodingerWallet
· 07-23 09:41
Cryptographie témoin
Voir l'originalRépondre0
ZenZKPlayer
· 07-23 09:38
Je ne comprends toujours pas cet article.
Voir l'originalRépondre0
OldLeekConfession
· 07-23 09:34
Ceux qui comprennent sont finalement peu nombreux.
zk-SNARKs : Une analyse complète des bases théoriques aux applications ZK Rollup
zk-SNARKs : histoire, applications et principes
I. Le développement des zk-SNARKs
Le système moderne de zk-SNARKs a été introduit dans un article publié en 1985 par Goldwasser, Micali et Rackoff. Cet article explore la quantité de connaissances à échanger pour prouver la véracité d'une affirmation dans un système interactif, par le biais de plusieurs tours d'interaction. Si un échange de connaissances sans révélation peut être réalisé, cela est appelé zk-SNARK. Ce système interactif présente un problème de correction probabiliste, ce qui a conduit au développement ultérieur de systèmes non interactifs complets.
Les systèmes de zk-SNARKs des premières générations avaient une efficacité et une utilisabilité limitées, restant principalement au niveau théorique. Au cours des dix dernières années, avec l'essor de la cryptographie dans le domaine des cryptomonnaies, les zk-SNARKs sont progressivement devenus une direction de recherche importante. Parmi celles-ci, explorer des protocoles généraux, non interactifs et à taille de preuve limitée est essentiel.
Les avancées majeures des zk-SNARKs incluent :
De plus, PLONK, Halo2 et d'autres avancées importantes ont amélioré les zk-SNARKs.
II. Les principales applications des zk-SNARKs
Les deux applications les plus répandues des zk-SNARKs sont la protection de la vie privée et l'extensibilité.
En matière de transactions privées, les projets représentatifs incluent :
En matière d'extensibilité, cela se traduit principalement par la technologie ZK Rollup:
Les ZK Rollup ont principalement deux types de rôles : le Sequencer qui est responsable de l'emballage des transactions, et l'Aggregator qui est chargé de fusionner les transactions et de générer des zk-SNARKs.
Actuellement, les projets ZK Rollup compétitifs sur le marché incluent : StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, etc. Ils choisissent principalement entre SNARK et STARK sur leur feuille de route technique, ainsi que le niveau de support pour l'EVM.
La compatibilité EVM est un problème important. Les projets doivent généralement faire des compromis entre les systèmes ZK et la compatibilité EVM, ou concevoir de nouvelles machines virtuelles pour concilier les deux. Récemment, la compatibilité EVM a fait de grands progrès, ce qui influencera le développement de l'écosystème ZK.
Trois, les principes de base des zk-SNARKs
ZK-SNARK signifie "zk-SNARKs". Il a les caractéristiques suivantes :
À titre d'exemple de Groth16, les étapes de base des zk-SNARKs comprennent :
Les zk-SNARKs jouent un rôle de plus en plus important dans le domaine de la cryptographie et de la blockchain, et leur développement et leur application méritent une attention continue.