Développement, application et principes des zk-SNARKs
I. L'évolution historique des zk-SNARKs
Le système de preuve à divulgation nulle de connaissance provient à l'origine d'un article coécrit en 1985 par Goldwasser, Micali et Rackoff. Cet article explore la quantité de connaissances à échanger nécessaire pour prouver la véracité d'une affirmation à travers plusieurs interactions dans un système interactif. Si un échange de connaissances peut être réalisé, il est alors appelé preuve à divulgation nulle de connaissance. Les premiers systèmes de preuve à divulgation nulle de connaissance présentaient des insuffisances en termes d'efficacité et de convivialité, restant principalement au niveau théorique.
Au cours des dix dernières années, avec l'émergence de la cryptographie dans le domaine des crypto-monnaies, les zk-SNARKs sont progressivement devenus une direction de recherche clé. Parmi celles-ci, le développement de protocoles de zk-SNARKs généraux, non interactifs et de taille de preuve limitée est l'une des directions d'exploration les plus importantes. Le cœur des zk-SNARKs réside dans la recherche d'un équilibre entre la vitesse de preuve, la vitesse de vérification et la taille de la preuve.
En 2010, le papier publié par Groth a établi les bases théoriques des zk-SNARKs, les plus importants dans le domaine des ZKP. En 2015, le système de preuve à connaissance nulle utilisé par Zcash a réalisé la protection de la vie privée des transactions, ouvrant la voie à une large application des ZKP.
D'autres résultats académiques importants incluent :
Le protocole Pinocchio de 2013 a compressé le temps de preuve et de vérification.
Groth16 de 2016, qui réduit la taille des preuves et améliore l'efficacité de la vérification
En 2017, Bulletproofs a proposé des zk-SNARKs courts et non interactifs.
Les zk-STARKs de 2018 ont proposé un protocole sans configuration de confiance.
De plus, PLONK, Halo2 et d'autres sont également des avancées importantes dans le développement des zk-SNARKs.
Deuxième partie, 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é.
protection de la vie privée
Les projets de transactions privées en début, tels que Zcash et Monero, ont suscité beaucoup d'attention, mais en raison d'une demande réelle qui n'a pas été à la hauteur des attentes, ils ont progressivement pris du recul.
Prenons l'exemple de Zcash, dont le processus de transaction basé sur zk-SNARKs comprend : la configuration du système, la génération de clés, la frappe de monnaie, le déversement, la vérification et la réception, entre autres étapes. Cependant, Zcash présente également des limites, comme son modèle UTXO et sa difficulté d'évolutivité. En réalité, la proportion de transactions privées utilisées est inférieure à 10 %.
Tornado Cash utilise un design de pool de mélange unique, basé sur le réseau Ethereum, et utilise zk-SNARKs pour assurer la protection de la vie privée. Ses principales caractéristiques incluent : uniquement la possibilité de retirer les fonds déposés, les fonds ne peuvent pas être retirés plusieurs fois, et le processus de preuve est lié à l'avis d'annulation, etc.
mise à l'échelle
L'application de ZK en matière de scalabilité concerne principalement ZK Rollup. ZK Rollup comprend deux types de rôles : Sequencer et Aggregator. Le Sequencer est responsable de l'emballage des transactions, tandis que l'Aggregator regroupe un grand nombre de transactions pour générer un rollup et créer des zk-SNARKs, utilisés pour mettre à jour l'état de Layer 1.
Les avantages des ZK Rollups incluent : des frais bas, une finalité rapide, et la protection de la vie privée. Les inconvénients incluent : une charge de calcul importante, des problèmes de sécurité, et la possibilité de modifier l'ordre des transactions.
Les projets ZK Rollup les plus populaires 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 s'ils supportent l'EVM.
La compatibilité EVM est un grand défi pour les systèmes ZK. Actuellement, il existe principalement deux solutions : être entièrement compatible avec les opcodes Solidity ou concevoir une nouvelle machine virtuelle compatible avec ZK et Solidity. L'amélioration de la compatibilité EVM influencera l'écosystème de développement et le paysage concurrentiel de ZK.
Trois, le principe de base des zk-SNARKs
ZK-SNARK représente "zk-SNARKs". Ses caractéristiques principales incluent :
zk-SNARKs: le processus de preuve ne divulgue pas d'informations supplémentaires
Concis : validation de petite taille
Non interactif: pas besoin de plusieurs tours d'interaction
Preuve : fiabilité de calcul
Connaissance: le prouveur doit connaître les informations valides
Le processus de preuve ZK-SNARK de Groth16 comprend principalement :
Convertir le problème en circuit
Convertir le circuit en forme R1CS
Conversion de R1CS en forme QAP
Établir un paramétrage de confiance, générer des clés de preuve et des clés de vérification
Génération et vérification des preuves zk-SNARKs
Le principe des zk-SNARKs, ses applications et sa relation avec les zk-STARKs seront détaillés dans un rapport ultérieur.
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.
11 J'aime
Récompense
11
5
Partager
Commentaire
0/400
BearMarketBuilder
· 07-09 21:16
Encore une fois, j'étudie le zkp. Même en déplaçant des briques, il faut suivre la tendance.
Voir l'originalRépondre0
MerkleDreamer
· 07-06 21:45
Je trouve que Zcash est plutôt fiable.
Voir l'originalRépondre0
GasOptimizer
· 07-06 21:42
Le gas est de plus en plus bas chaque jour, qui peut donner un plan d'optimisation A+ ?
Voir l'originalRépondre0
CryptoPhoenix
· 07-06 21:36
J'attendais cette vague de réchauffement, la tendance ZK est incontestablement imparable ![隐藏emoji]
Voir l'originalRépondre0
MEVHunter
· 07-06 21:31
zk encore trop lent pour une véritable extraction alpha... ngmi
Analyse approfondie des zk-SNARKs : de l'historique à l'application pratique
Développement, application et principes des zk-SNARKs
I. L'évolution historique des zk-SNARKs
Le système de preuve à divulgation nulle de connaissance provient à l'origine d'un article coécrit en 1985 par Goldwasser, Micali et Rackoff. Cet article explore la quantité de connaissances à échanger nécessaire pour prouver la véracité d'une affirmation à travers plusieurs interactions dans un système interactif. Si un échange de connaissances peut être réalisé, il est alors appelé preuve à divulgation nulle de connaissance. Les premiers systèmes de preuve à divulgation nulle de connaissance présentaient des insuffisances en termes d'efficacité et de convivialité, restant principalement au niveau théorique.
Au cours des dix dernières années, avec l'émergence de la cryptographie dans le domaine des crypto-monnaies, les zk-SNARKs sont progressivement devenus une direction de recherche clé. Parmi celles-ci, le développement de protocoles de zk-SNARKs généraux, non interactifs et de taille de preuve limitée est l'une des directions d'exploration les plus importantes. Le cœur des zk-SNARKs réside dans la recherche d'un équilibre entre la vitesse de preuve, la vitesse de vérification et la taille de la preuve.
En 2010, le papier publié par Groth a établi les bases théoriques des zk-SNARKs, les plus importants dans le domaine des ZKP. En 2015, le système de preuve à connaissance nulle utilisé par Zcash a réalisé la protection de la vie privée des transactions, ouvrant la voie à une large application des ZKP.
D'autres résultats académiques importants incluent :
De plus, PLONK, Halo2 et d'autres sont également des avancées importantes dans le développement des zk-SNARKs.
Deuxième partie, 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é.
protection de la vie privée
Les projets de transactions privées en début, tels que Zcash et Monero, ont suscité beaucoup d'attention, mais en raison d'une demande réelle qui n'a pas été à la hauteur des attentes, ils ont progressivement pris du recul.
Prenons l'exemple de Zcash, dont le processus de transaction basé sur zk-SNARKs comprend : la configuration du système, la génération de clés, la frappe de monnaie, le déversement, la vérification et la réception, entre autres étapes. Cependant, Zcash présente également des limites, comme son modèle UTXO et sa difficulté d'évolutivité. En réalité, la proportion de transactions privées utilisées est inférieure à 10 %.
Tornado Cash utilise un design de pool de mélange unique, basé sur le réseau Ethereum, et utilise zk-SNARKs pour assurer la protection de la vie privée. Ses principales caractéristiques incluent : uniquement la possibilité de retirer les fonds déposés, les fonds ne peuvent pas être retirés plusieurs fois, et le processus de preuve est lié à l'avis d'annulation, etc.
mise à l'échelle
L'application de ZK en matière de scalabilité concerne principalement ZK Rollup. ZK Rollup comprend deux types de rôles : Sequencer et Aggregator. Le Sequencer est responsable de l'emballage des transactions, tandis que l'Aggregator regroupe un grand nombre de transactions pour générer un rollup et créer des zk-SNARKs, utilisés pour mettre à jour l'état de Layer 1.
Les avantages des ZK Rollups incluent : des frais bas, une finalité rapide, et la protection de la vie privée. Les inconvénients incluent : une charge de calcul importante, des problèmes de sécurité, et la possibilité de modifier l'ordre des transactions.
Les projets ZK Rollup les plus populaires 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 s'ils supportent l'EVM.
La compatibilité EVM est un grand défi pour les systèmes ZK. Actuellement, il existe principalement deux solutions : être entièrement compatible avec les opcodes Solidity ou concevoir une nouvelle machine virtuelle compatible avec ZK et Solidity. L'amélioration de la compatibilité EVM influencera l'écosystème de développement et le paysage concurrentiel de ZK.
Trois, le principe de base des zk-SNARKs
ZK-SNARK représente "zk-SNARKs". Ses caractéristiques principales incluent :
Le processus de preuve ZK-SNARK de Groth16 comprend principalement :
Le principe des zk-SNARKs, ses applications et sa relation avec les zk-STARKs seront détaillés dans un rapport ultérieur.