Le système de zéro connaissance a été initialement proposé dans l'article fondateur de Goldwasser, Micali et Rackoff en 1985. Cet article explore la quantité minimale de connaissances à échanger pour prouver la validité d'une déclaration à travers plusieurs interactions dans un système interactif. Si l'échange de zéro connaissance peut être réalisé, on l'appelle preuve de zéro connaissance. Les premiers systèmes de preuve de zéro connaissance avaient des problèmes d'efficacité et de praticité, restant principalement au niveau théorique.
Au cours de la dernière décennie, avec l'application généralisée de la cryptographie dans le domaine des cryptomonnaies, les zk-SNARKs ont connu un développement florissant. Parmi eux, le développement de protocoles de zk-SNARKs généraux, non interactifs et de taille de preuve limitée est devenu l'une des directions d'exploration clés. Le principal défi des zk-SNARKs réside dans l'équilibre entre la vitesse de preuve, la vitesse de vérification et la taille de la preuve.
Le document publié par Groth en 2010 a établi les bases théoriques des zk-SNARKs, devenant une avancée importante dans le domaine des preuves à connaissance nulle. En 2015, Zcash a appliqué les preuves à connaissance nulle pour protéger la confidentialité des transactions, ouvrant la voie à une large application des preuves à connaissance nulle.
Depuis lors, une série de résultats académiques a propulsé le développement des zk-SNARKs :
Le protocole Pinocchio de 2013 a compressé le temps de preuve et de vérification
L'algorithme Groth16 de 2016 a réduit la taille des preuves et amélioré l'efficacité de la vérification.
Les Bulletproofs, introduits en 2017, permettent des preuves courtes sans configuration de confiance.
En 2018, le protocole zk-STARKs sans configuration de confiance est devenu une autre direction de développement importante.
D'autres avancées importantes incluent PLONK, Halo2, etc., qui ont apporté des améliorations supplémentaires aux zk-SNARKs.
II. Les principales applications des zk-SNARKs
Les deux domaines d'application les plus répandus des zk-SNARKs sont la protection de la vie privée et l'évolutivité.
En matière de protection de la vie privée, des projets de transactions privées tels que Zcash et Monero ont émergé tôt. Cependant, en raison d'une demande réelle pour les transactions privées inférieure aux attentes, ces projets ont progressivement reculé.
En matière d'évolutivité, avec le passage d'Ethereum à une approche d'évolutivité centrée sur les rollups, les solutions d'évolutivité basées sur zk-SNARKs sont de nouveau au cœur des préoccupations de l'industrie.
transactions privées
Les projets représentatifs de transactions privées incluent :
Utiliser Zcash et Tornado avec zk-SNARKs
Utiliser Monero avec Bulletproof
Prenons Zcash comme exemple, son processus de transaction zk-SNARKs comprend : la configuration du système, la génération de clés, la création de pièces, le transfert, la vérification et la réception.
Bien que Zcash ait réalisé la confidentialité des transactions, il existe encore certaines limitations :
Basé sur le modèle UTXO, certaines informations de transaction sont simplement masquées et non complètement cachées.
Difficile à intégrer avec d'autres applications
Le taux d'utilisation des transactions privées est inférieur à 10%
En comparaison, Tornado utilise un seul grand pool de mélange, offrant une meilleure polyvalence. Tornado Cash est basé sur Groth16 et peut fournir les caractéristiques suivantes :
Seules les pièces déposées peuvent être retirées
Chaque pièce ne peut être retirée qu'une fois
Le processus de preuve est lié à l'avis d'élimination de la monnaie
Avec une sécurité de 126 bits
scalabilité
Les applications de zk-SNARKs dans l'extension se concentrent principalement sur le zk-rollup. Le zk-rollup comprend deux types de rôles clés :
Le séquenceur est responsable de l'emballage des transactions
L'agrégateur est responsable de la fusion des transactions et de la génération de zk-SNARKs.
Les avantages des zk-rollups incluent : frais bas, finalité rapide, protection de la vie privée, etc. Les inconvénients comprennent : la grande quantité de calcul pour générer des preuves, les SNARK nécessitent une configuration de confiance, etc.
Actuellement, les principaux projets zk-rollup sur le marché sont :
StarkNet de StarkWare
zkSync de Matter Labs
Aztec Connect d'Aztec
Hermez et Miden de Polygon
Loopring
Faire défiler
Ces projets diffèrent principalement dans leur approche technique en adoptant des zk-SNARKs ou des STARKs, ainsi que dans leur niveau de support pour l'EVM.
La compatibilité EVM est un grand défi auquel sont confrontés les zk-rollups. Actuellement, il existe principalement deux approches dans l'industrie :
Complètement compatible avec les opcodes Solidity
Concevoir une nouvelle machine virtuelle, tout en tenant compte de la compatibilité avec ZK et de la compatibilité avec Solidity.
Récemment, des progrès importants ont été réalisés en matière de compatibilité EVM, permettant une migration transparente des développeurs de la chaîne principale Ethereum vers les zk-rollups, ce qui aura un impact majeur sur l'écosystème ZK.
Trois, le principe de base des zk-SNARKs
zk-SNARKs représente "zk-SNARKs", avec les caractéristiques suivantes :
Zero Knowledge: le processus de preuve ne divulgue pas d'informations supplémentaires
Succinct: vérification de petite taille
Non-interactive : non interactif
Arguments: fiabilité de calcul
de la connaissance : le prouveur doit connaître des informations valides
Le processus de preuve zk-SNARK de Groth16 comprend principalement :
Convertir le problème en circuit
Convertir le circuit en forme R1CS
Convertir R1CS en forme QAP
Générer les paramètres de configuration de confiance
Génération et vérification des preuves zk-SNARKs
La technologie des zk-SNARKs continue de se développer rapidement et devrait jouer un rôle important dans davantage de domaines tels que la protection de la vie privée et l'extensibilité à 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.
21 J'aime
Récompense
21
6
Reposter
Partager
Commentaire
0/400
MetaMisfit
· Il y a 19h
Apprendre ça va te rendre chauve, n'est-ce pas ?
Voir l'originalRépondre0
FlatTax
· 08-10 17:35
zk la simplicité des grands principes
Voir l'originalRépondre0
DegenGambler
· 08-09 17:43
Je ne comprends pas pourquoi tant de gens perdent de l'argent et font un Rug Pull.
Voir l'originalRépondre0
ChainDetective
· 08-09 17:28
Après tant d'années de zk, autant développer directement.
Voir l'originalRépondre0
CantAffordPancake
· 08-09 17:24
Ah oui oui oui, après avoir parlé pendant un bon moment, ils parlent encore de zk.
Voir l'originalRépondre0
OfflineNewbie
· 08-09 17:22
C'est de nouveau le moment pour moi de me plonger dans la Cryptographie.
zk-SNARKs : de la protection de la vie privée à la technologie clé de l'extension Layer2
Développement et application des zk-SNARKs
I. L'évolution historique des zk-SNARKs
Le système de zéro connaissance a été initialement proposé dans l'article fondateur de Goldwasser, Micali et Rackoff en 1985. Cet article explore la quantité minimale de connaissances à échanger pour prouver la validité d'une déclaration à travers plusieurs interactions dans un système interactif. Si l'échange de zéro connaissance peut être réalisé, on l'appelle preuve de zéro connaissance. Les premiers systèmes de preuve de zéro connaissance avaient des problèmes d'efficacité et de praticité, restant principalement au niveau théorique.
Au cours de la dernière décennie, avec l'application généralisée de la cryptographie dans le domaine des cryptomonnaies, les zk-SNARKs ont connu un développement florissant. Parmi eux, le développement de protocoles de zk-SNARKs généraux, non interactifs et de taille de preuve limitée est devenu l'une des directions d'exploration clés. Le principal défi des zk-SNARKs réside dans l'équilibre entre la vitesse de preuve, la vitesse de vérification et la taille de la preuve.
Le document publié par Groth en 2010 a établi les bases théoriques des zk-SNARKs, devenant une avancée importante dans le domaine des preuves à connaissance nulle. En 2015, Zcash a appliqué les preuves à connaissance nulle pour protéger la confidentialité des transactions, ouvrant la voie à une large application des preuves à connaissance nulle.
Depuis lors, une série de résultats académiques a propulsé le développement des zk-SNARKs :
D'autres avancées importantes incluent PLONK, Halo2, etc., qui ont apporté des améliorations supplémentaires aux zk-SNARKs.
II. Les principales applications des zk-SNARKs
Les deux domaines d'application les plus répandus des zk-SNARKs sont la protection de la vie privée et l'évolutivité.
En matière de protection de la vie privée, des projets de transactions privées tels que Zcash et Monero ont émergé tôt. Cependant, en raison d'une demande réelle pour les transactions privées inférieure aux attentes, ces projets ont progressivement reculé.
En matière d'évolutivité, avec le passage d'Ethereum à une approche d'évolutivité centrée sur les rollups, les solutions d'évolutivité basées sur zk-SNARKs sont de nouveau au cœur des préoccupations de l'industrie.
transactions privées
Les projets représentatifs de transactions privées incluent :
Prenons Zcash comme exemple, son processus de transaction zk-SNARKs comprend : la configuration du système, la génération de clés, la création de pièces, le transfert, la vérification et la réception.
Bien que Zcash ait réalisé la confidentialité des transactions, il existe encore certaines limitations :
En comparaison, Tornado utilise un seul grand pool de mélange, offrant une meilleure polyvalence. Tornado Cash est basé sur Groth16 et peut fournir les caractéristiques suivantes :
scalabilité
Les applications de zk-SNARKs dans l'extension se concentrent principalement sur le zk-rollup. Le zk-rollup comprend deux types de rôles clés :
Les avantages des zk-rollups incluent : frais bas, finalité rapide, protection de la vie privée, etc. Les inconvénients comprennent : la grande quantité de calcul pour générer des preuves, les SNARK nécessitent une configuration de confiance, etc.
Actuellement, les principaux projets zk-rollup sur le marché sont :
Ces projets diffèrent principalement dans leur approche technique en adoptant des zk-SNARKs ou des STARKs, ainsi que dans leur niveau de support pour l'EVM.
La compatibilité EVM est un grand défi auquel sont confrontés les zk-rollups. Actuellement, il existe principalement deux approches dans l'industrie :
Récemment, des progrès importants ont été réalisés en matière de compatibilité EVM, permettant une migration transparente des développeurs de la chaîne principale Ethereum vers les zk-rollups, ce qui aura un impact majeur sur l'écosystème ZK.
Trois, le principe de base des zk-SNARKs
zk-SNARKs représente "zk-SNARKs", avec les caractéristiques suivantes :
Le processus de preuve zk-SNARK de Groth16 comprend principalement :
La technologie des zk-SNARKs continue de se développer rapidement et devrait jouer un rôle important dans davantage de domaines tels que la protection de la vie privée et l'extensibilité à l'avenir.