zk-SNARKs(ZKP) en tant que technologie phare de l'industrie de la blockchain, a connu un développement rapide ces dernières années. Cet article passera en revue l'histoire du développement des ZKP, explorera ses principes de base et ses principales applications, afin de fournir aux lecteurs une vue d'ensemble de ce domaine complexe.
I. L'évolution des zk-SNARKs
Le système moderne des zk-SNARKs remonte à l'article de 1985 coécrit par Goldwasser, Micali et Rackoff. Cet article explore la possibilité de prouver la véracité d'une déclaration dans un système interactif, à travers plusieurs tours d'interaction, tout en ne divulguant pas d'informations supplémentaires. Bien que ce système interactif soit correct sur le plan 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 avaient encore des lacunes en termes d'efficacité et d'utilisabilité, restant principalement au niveau théorique. Ce n'est que dans la dernière décennie, avec l'essor de la cryptographie dans le domaine des cryptomonnaies, que les zk-SNARKs ont réellement atteint une phase pratique.
L'article de Groth de 2010 a posé les bases théoriques des zk-SNARKs, un jalon important dans le développement des ZKP. En 2015, la cryptomonnaie de confidentialité Z-cash a appliqué pour la première fois les preuves à divulgation nulle de connaissance pour la protection de la vie privée des transactions, ouvrant la voie à une large application des ZKP.
Par la suite, une série de résultats académiques ont favorisé le développement des zk-SNARKs :
En 2013, le protocole Pinocchio a compressé le temps de preuve et de vérification.
En 2016, Groth16 a réduit la taille des preuves et amélioré l'efficacité de la vérification.
En 2017, Bulletproofs a introduit des zk-SNARKs courts et efficaces.
En 2018, les zk-STARKs ont réalisé un protocole ZKP sans configuration de confiance.
D'autres technologies comme PLONK, Halo2, etc. ont également apporté des améliorations importantes aux zk-SNARKs.
Deux, 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'extension.
protection de la vie privée
Les projets de transactions privées précoces tels que Z-cash et Monero ont poussé l'application des ZKP dans le domaine de la protection de la vie privée. Prenons Z-cash comme exemple, qui utilise des zk-SNARKs pour assurer la confidentialité des transactions:
Génération de la clé de preuve et de la clé de vérification lors de la phase de configuration du système
Générer de nouvelles pièces et enregistrer l'adresse publique et l'engagement des pièces
Générer des preuves zk-SNARK
Les validateurs vérifient la validité des transactions
Le destinataire reçoit les fonds, s'il doit les utiliser, répétez les étapes ci-dessus.
Cependant, le taux d'utilisation des transactions privées des projets comme Z-cash est relativement faible, ce qui montre que la demande de confidentialité n'est pas à la hauteur des attentes. En revanche, la conception d'une seule grande piscine de mélange adoptée par Tornado Cash est plus universelle.
mise à l'échelle
L'application des ZKP dans l'évolutivité concerne principalement les zk-rollups. Les zk-rollups ont deux types de rôles :
Séquenceur : responsable de l'emballage des transactions
Agrégateur : regroupe un grand nombre de transactions et génère une preuve ZKP.
Les avantages des zk-rollups résident dans des coûts faibles, une vitesse de transaction rapide et la protection de la vie privée. Cependant, il existe également des inconvénients, tels qu'une charge de calcul élevée et la nécessité d'une configuration de confiance.
Les projets zk-rollup les plus populaires actuellement incluent StarkNet, zkSync, Aztec, Polygon Hermez, etc. En termes de voie technologique, ils choisissent principalement entre SNARK et STARK, ainsi que s'ils prennent en charge l'EVM.
La compatibilité EVM est un enjeu important. Certains projets choisissent d'être totalement compatibles avec les opcodes Solidity, tandis que d'autres conçoivent de nouvelles machines virtuelles compatibles avec Solidity. L'amélioration de la compatibilité EVM affectera l'écosystème de développement de ZK et la concurrence.
Trois, les principes de base des zk-SNARKs
zk-SNARKs est l'une des solutions ZKP les plus largement utilisées actuellement. Elle possède les caractéristiques suivantes :
Zero Knowledge: le processus de preuve ne divulgue pas d'informations supplémentaires
Succinct: la taille de la preuve est petite
Non-interactive: non interactif
Arguments : avoir une fiabilité de calcul
de Connaissance : le prouveur doit connaître des informations valides
Les étapes de base de la mise en œuvre des zk-SNARKs sont :
Convertir le problème en circuit
Convertir le circuit en forme R1CS
Convertir R1CS en forme QAP
Générer des paramètres aléatoires pour un cadre de confiance
Génération et vérification des preuves zk-SNARKs
Les zk-SNARKs, en tant que technologie de pointe, se développent rapidement tant sur le plan théorique qu'applicatif. Avec la mise en œuvre de plus de projets, les ZKP devraient jouer un rôle de plus en plus important dans le domaine de la blockchain.
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.
17 J'aime
Récompense
17
6
Partager
Commentaire
0/400
SelfStaking
· Il y a 20h
Je ne veux pas apprendre, c'est trop profond.
Voir l'originalRépondre0
SoliditySlayer
· Il y a 20h
Cette théorie est un peu ennuyeuse, n'est-ce pas ? Même le sol semble fatigué.
zk-SNARKs ZKP : du saut théorique à l'application pratique et à son développement
zk-SNARKs : de la théorie à la pratique
zk-SNARKs(ZKP) en tant que technologie phare de l'industrie de la blockchain, a connu un développement rapide ces dernières années. Cet article passera en revue l'histoire du développement des ZKP, explorera ses principes de base et ses principales applications, afin de fournir aux lecteurs une vue d'ensemble de ce domaine complexe.
I. L'évolution des zk-SNARKs
Le système moderne des zk-SNARKs remonte à l'article de 1985 coécrit par Goldwasser, Micali et Rackoff. Cet article explore la possibilité de prouver la véracité d'une déclaration dans un système interactif, à travers plusieurs tours d'interaction, tout en ne divulguant pas d'informations supplémentaires. Bien que ce système interactif soit correct sur le plan 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 avaient encore des lacunes en termes d'efficacité et d'utilisabilité, restant principalement au niveau théorique. Ce n'est que dans la dernière décennie, avec l'essor de la cryptographie dans le domaine des cryptomonnaies, que les zk-SNARKs ont réellement atteint une phase pratique.
L'article de Groth de 2010 a posé les bases théoriques des zk-SNARKs, un jalon important dans le développement des ZKP. En 2015, la cryptomonnaie de confidentialité Z-cash a appliqué pour la première fois les preuves à divulgation nulle de connaissance pour la protection de la vie privée des transactions, ouvrant la voie à une large application des ZKP.
Par la suite, une série de résultats académiques ont favorisé le développement des zk-SNARKs :
D'autres technologies comme PLONK, Halo2, etc. ont également apporté des améliorations importantes aux zk-SNARKs.
Deux, 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'extension.
protection de la vie privée
Les projets de transactions privées précoces tels que Z-cash et Monero ont poussé l'application des ZKP dans le domaine de la protection de la vie privée. Prenons Z-cash comme exemple, qui utilise des zk-SNARKs pour assurer la confidentialité des transactions:
Cependant, le taux d'utilisation des transactions privées des projets comme Z-cash est relativement faible, ce qui montre que la demande de confidentialité n'est pas à la hauteur des attentes. En revanche, la conception d'une seule grande piscine de mélange adoptée par Tornado Cash est plus universelle.
mise à l'échelle
L'application des ZKP dans l'évolutivité concerne principalement les zk-rollups. Les zk-rollups ont deux types de rôles :
Les avantages des zk-rollups résident dans des coûts faibles, une vitesse de transaction rapide et la protection de la vie privée. Cependant, il existe également des inconvénients, tels qu'une charge de calcul élevée et la nécessité d'une configuration de confiance.
Les projets zk-rollup les plus populaires actuellement incluent StarkNet, zkSync, Aztec, Polygon Hermez, etc. En termes de voie technologique, ils choisissent principalement entre SNARK et STARK, ainsi que s'ils prennent en charge l'EVM.
La compatibilité EVM est un enjeu important. Certains projets choisissent d'être totalement compatibles avec les opcodes Solidity, tandis que d'autres conçoivent de nouvelles machines virtuelles compatibles avec Solidity. L'amélioration de la compatibilité EVM affectera l'écosystème de développement de ZK et la concurrence.
Trois, les principes de base des zk-SNARKs
zk-SNARKs est l'une des solutions ZKP les plus largement utilisées actuellement. Elle possède les caractéristiques suivantes :
Les étapes de base de la mise en œuvre des zk-SNARKs sont :
Les zk-SNARKs, en tant que technologie de pointe, se développent rapidement tant sur le plan théorique qu'applicatif. Avec la mise en œuvre de plus de projets, les ZKP devraient jouer un rôle de plus en plus important dans le domaine de la blockchain.