zk-SNARKs : principes de base et applications industrielles
I. L'évolution des zk-SNARKs
Le système moderne des zk-SNARKs trouve ses racines dans le document pionnier de Goldwasser, Micali et Rackoff en 1985. Ce document explore la quantité de connaissances nécessaires à échanger pour prouver la véracité d'une affirmation dans un système interactif, à travers plusieurs tours d'interaction. Si la preuve peut être réalisée sans échanger aucune connaissance, on parle de zk-SNARKs. Bien que ce système interactif soit correct au sens probabiliste, il n'est pas parfait.
L'apparition des systèmes non interactifs (NP) a rendu les zk-SNARKs plus complets. Cependant, les premiers systèmes de zk-SNARKs présentaient des lacunes en termes d'efficacité et de praticité, ne restant qu'au niveau théorique. Ce n'est que depuis près de dix ans, avec l'essor de la cryptographie dans le domaine des cryptomonnaies, que les zk-SNARKs ont réellement commencé à être appliqués.
Un objectif clé des zk-SNARKs est de développer des protocoles généraux, non interactifs et de taille de preuve limitée. Cela nécessite un compromis entre la vitesse de preuve, la vitesse de vérification et la taille de la preuve.
Le papier de Groth en 2010 est l'une des percées les plus importantes dans le domaine des zk-SNARKs, établissant la base théorique pour ceux-ci. En 2015, Zcash a appliqué les zk-SNARKs à la protection de la vie privée des transactions, ouvrant une nouvelle ère de combinaison entre zk-SNARKs et contrats intelligents.
D'autres réalisations académiques importantes comprennent : le protocole Pinocchio de 2013, l'algorithme Groth16 de 2016, l'algorithme Bulletproofs de 2017, le protocole zk-STARKs de 2018, etc. Ces recherches ont favorisé les progrès continus des zk-SNARKs en termes d'efficacité et de portée d'application.
II. Principales applications des zk-SNARKs
Les deux principaux domaines d'application des zk-SNARKs sont actuellement la protection de la vie privée et l'extensibilité.
En matière de protection de la vie privée, les projets représentatifs des débuts incluent Zcash et Monero. Bien que la nécessité des transactions privées ne soit pas aussi marquée que prévu, ces types de projets continuent de se développer.
En matière d'extension, avec le passage d'Ethereum à une approche d'extension centrée sur les rollups, les solutions d'extension basées sur zk-SNARKs redeviennent un point focal. Il existe principalement deux méthodes de mise en œuvre : l'extension du réseau de couche 1 ( comme Mina ) et l'extension du réseau de couche 2 (, à savoir zk-rollup ).
Le rôle central du zk-rollup comprend le Sequencer et l'Aggregator. Le Sequencer est responsable de l'emballage des transactions, tandis que l'Aggregator combine un grand nombre de transactions et génère des zk-SNARKs pour mettre à jour l'état de la chaîne principale.
Les avantages des zk-rollups résident dans des frais réduits, une finalité rapide et une protection de la vie privée. Cependant, il existe également des défis tels qu'une grande quantité de calculs et la nécessité d'une configuration de confiance.
Les principaux projets de zk-rollup sur le marché actuellement incluent 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 niveau de support pour l'EVM.
La compatibilité EVM est un problème important. Certains projets choisissent d'être entièrement compatibles avec les opcodes Solidity, tandis que d'autres conçoivent de nouvelles machines virtuelles pour concilier la convivialité ZK et la compatibilité avec Solidity. Les progrès rapides de la compatibilité EVM ces dernières années devraient permettre une migration transparente des développeurs de la chaîne principale Ethereum vers les zk-rollups.
Trois, les principes fondamentaux des zk-SNARKs
zk-SNARKs est l'abréviation de zero-knowledge Succinct Non-interactive ARguments of Knowledge, et possède les caractéristiques suivantes :
Zero Knowledge: le processus de preuve ne divulgue pas d'informations superflues
Succinct : vérification de petit volume
Non-interactive : non interactif
Arguments : fiabilité des calculs
de la connaissance : le prouveur doit connaître des informations valides
Le processus de preuve zk-SNARKs de Groth16 comprend principalement :
Convertir le problème en circuit
Convertir le circuit en forme R1CS
Convertir R1CS en forme QAP
Établir une configuration de confiance, générer des clés de preuve et des clés de vérification
Générer et vérifier les preuves zk-SNARKs
La technologie des zk-SNARKs se développe rapidement et devrait jouer un rôle important dans de nombreux domaines à l'avenir.
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.
9 J'aime
Récompense
9
6
Partager
Commentaire
0/400
SatoshiSherpa
· 07-17 02:24
J'adore les projets de licornes, au secours !
Voir l'originalRépondre0
FlashLoanKing
· 07-15 17:11
Avoir pris les gens pour des idiots et ensuite faire un Rug Pull.
Voir l'originalRépondre0
CantAffordPancake
· 07-14 18:02
Eh, ce n'est pas juste un chiffrement pour tromper tout le monde.
zk-SNARKs : une technologie révolutionnaire allant de la percée théorique à l'application des Cryptoactifs.
zk-SNARKs : principes de base et applications industrielles
I. L'évolution des zk-SNARKs
Le système moderne des zk-SNARKs trouve ses racines dans le document pionnier de Goldwasser, Micali et Rackoff en 1985. Ce document explore la quantité de connaissances nécessaires à échanger pour prouver la véracité d'une affirmation dans un système interactif, à travers plusieurs tours d'interaction. Si la preuve peut être réalisée sans échanger aucune connaissance, on parle de zk-SNARKs. Bien que ce système interactif soit correct au sens probabiliste, il n'est pas parfait.
L'apparition des systèmes non interactifs (NP) a rendu les zk-SNARKs plus complets. Cependant, les premiers systèmes de zk-SNARKs présentaient des lacunes en termes d'efficacité et de praticité, ne restant qu'au niveau théorique. Ce n'est que depuis près de dix ans, avec l'essor de la cryptographie dans le domaine des cryptomonnaies, que les zk-SNARKs ont réellement commencé à être appliqués.
Un objectif clé des zk-SNARKs est de développer des protocoles généraux, non interactifs et de taille de preuve limitée. Cela nécessite un compromis entre la vitesse de preuve, la vitesse de vérification et la taille de la preuve.
Le papier de Groth en 2010 est l'une des percées les plus importantes dans le domaine des zk-SNARKs, établissant la base théorique pour ceux-ci. En 2015, Zcash a appliqué les zk-SNARKs à la protection de la vie privée des transactions, ouvrant une nouvelle ère de combinaison entre zk-SNARKs et contrats intelligents.
D'autres réalisations académiques importantes comprennent : le protocole Pinocchio de 2013, l'algorithme Groth16 de 2016, l'algorithme Bulletproofs de 2017, le protocole zk-STARKs de 2018, etc. Ces recherches ont favorisé les progrès continus des zk-SNARKs en termes d'efficacité et de portée d'application.
II. Principales applications des zk-SNARKs
Les deux principaux domaines d'application des zk-SNARKs sont actuellement la protection de la vie privée et l'extensibilité.
En matière de protection de la vie privée, les projets représentatifs des débuts incluent Zcash et Monero. Bien que la nécessité des transactions privées ne soit pas aussi marquée que prévu, ces types de projets continuent de se développer.
En matière d'extension, avec le passage d'Ethereum à une approche d'extension centrée sur les rollups, les solutions d'extension basées sur zk-SNARKs redeviennent un point focal. Il existe principalement deux méthodes de mise en œuvre : l'extension du réseau de couche 1 ( comme Mina ) et l'extension du réseau de couche 2 (, à savoir zk-rollup ).
Le rôle central du zk-rollup comprend le Sequencer et l'Aggregator. Le Sequencer est responsable de l'emballage des transactions, tandis que l'Aggregator combine un grand nombre de transactions et génère des zk-SNARKs pour mettre à jour l'état de la chaîne principale.
Les avantages des zk-rollups résident dans des frais réduits, une finalité rapide et une protection de la vie privée. Cependant, il existe également des défis tels qu'une grande quantité de calculs et la nécessité d'une configuration de confiance.
Les principaux projets de zk-rollup sur le marché actuellement incluent 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 niveau de support pour l'EVM.
La compatibilité EVM est un problème important. Certains projets choisissent d'être entièrement compatibles avec les opcodes Solidity, tandis que d'autres conçoivent de nouvelles machines virtuelles pour concilier la convivialité ZK et la compatibilité avec Solidity. Les progrès rapides de la compatibilité EVM ces dernières années devraient permettre une migration transparente des développeurs de la chaîne principale Ethereum vers les zk-rollups.
Trois, les principes fondamentaux des zk-SNARKs
zk-SNARKs est l'abréviation de zero-knowledge Succinct Non-interactive ARguments of Knowledge, et possède les caractéristiques suivantes :
Le processus de preuve zk-SNARKs de Groth16 comprend principalement :
La technologie des zk-SNARKs se développe rapidement et devrait jouer un rôle important dans de nombreux domaines à l'avenir.