O sistema de prova de conhecimento zero teve origem no artigo inovador de Goldwasser, Micali e Rackoff de 1985. Este artigo explora a quantidade mínima de conhecimento que deve ser trocada para provar a veracidade de uma afirmação em sistemas interativos através de múltiplas interações. Se a troca de conhecimento zero puder ser realizada, isso é chamado de prova de conhecimento zero. Os primeiros sistemas de prova de conhecimento zero apresentavam problemas de eficiência e praticidade, permanecendo principalmente em um nível teórico.
Nos últimos dez anos, com a ampla aplicação da criptografia no campo das criptomoedas, os zk-SNARKs experimentaram um desenvolvimento próspero. Entre eles, o desenvolvimento de protocolos de zk-SNARKs gerais, não interativos e com escala de prova limitada tornou-se uma das direções de exploração chave. O desafio central dos zk-SNARKs reside em equilibrar a velocidade de prova, a velocidade de verificação e a escala de prova.
O artigo publicado por Groth em 2010 estabeleceu a base teórica dos zk-SNARKs, tornando-se um importante marco no campo das provas de conhecimento zero. Em 2015, a Zcash aplicou as provas de conhecimento zero para proteger a privacidade das transações, iniciando a ampla aplicação das provas de conhecimento zero.
Desde então, uma série de resultados acadêmicos impulsionou o desenvolvimento de zk-SNARKs:
O protocolo Pinocchio de 2013 comprimiu o tempo de prova e verificação
O algoritmo Groth16 de 2016 simplificou a escala da prova e melhorou a eficiência da verificação
Bulletproofs, proposto em 2017, implementou provas curtas sem necessidade de configuração confiável.
Em 2018, o protocolo zk-STARKs não requer configuração de confiança, tornando-se outra direção de desenvolvimento importante.
Outros avanços importantes incluem melhorias adicionais em zk-SNARKs, como PLONK e Halo2.
Dois, principais aplicações de zk-SNARKs
Os dois campos de aplicação mais amplamente utilizados de zk-SNARKs atualmente são a proteção da privacidade e a escalabilidade.
Na proteção da privacidade, surgiram inicialmente projetos de transações privadas como Zcash e Monero. No entanto, devido à demanda real por transações privadas ser inferior à esperada, esses projetos gradualmente passaram para o segundo plano.
Na questão da escalabilidade, com a transição do Ethereum para uma abordagem de escalabilidade centrada em rollups, as soluções de escalabilidade baseadas em zk-SNARKs voltaram a ser o foco da indústria.
transações privadas
Os projetos representativos de transações privadas incluem:
Uso do Zcash e Tornado com zk-SNARKs
Usar Monero com Bulletproof
Tomando o Zcash como exemplo, o processo de transação zk-SNARKs inclui: configuração do sistema, geração de chaves, cunhagem, transferência, verificação e recepção.
Embora o Zcash implemente a privacidade das transações, ainda existem algumas limitações:
Baseado no modelo UTXO, algumas informações de transação são apenas ocultadas e não completamente escondidas
Difícil de integrar com outras aplicações
A taxa de uso de transações privadas é inferior a 10%
Em comparação, o Tornado utiliza um único grande pool de moedas misturadas, oferecendo melhor versatilidade. O Tornado Cash é baseado em Groth16 e pode fornecer as seguintes características:
Apenas as moedas depositadas podem ser retiradas
Cada moeda só pode ser retirada uma vez
O processo de prova está vinculado ao aviso de anulação da moeda
com segurança de 126 bits
escalabilidade
zk-SNARKs na aplicação de escalabilidade é principalmente zk-rollup. zk-rollup inclui duas classes de papéis-chave:
Sequencer é responsável por empacotar transações
O Agregador é responsável por combinar transações e gerar zk-SNARKs.
As vantagens do zk-rollup incluem: baixos custos, finalização rápida, proteção da privacidade, entre outros. As desvantagens incluem: grande carga de cálculo para gerar provas, o SNARK requer configurações confiáveis, etc.
Atualmente, os principais projetos de zk-rollup no mercado são:
StarkNet da StarkWare
zkSync da Matter Labs
Aztec Connect da Aztec
Hermez e Miden da Polygon
Loopring
Rolagem
Esses projetos diferem principalmente na abordagem técnica em relação ao uso de zk-SNARKs ou STARKs, bem como no nível de suporte ao EVM.
A compatibilidade EVM é um grande desafio para os zk-rollups. Atualmente, existem duas principais abordagens na indústria:
Totalmente compatível com os códigos de operação do Solidity
Projetar uma nova máquina virtual, garantindo simultaneamente a compatibilidade com ZK e a compatibilidade com Solidity
Recentemente, a compatibilidade com EVM fez progressos importantes, prevendo-se uma migração sem costura para os desenvolvedores da cadeia principal do Ethereum para zk-rollup, o que terá um impacto significativo no ecossistema ZK.
Três, o princípio básico do ZK-SNARKs
zk-SNARKs representa "zk-SNARKs", possui as seguintes características:
Zero Knowledge: o processo de prova não vaza informações adicionais
Succinto: verificação de pequena escala
Não interativo: não interativo
Argumentos: confiabilidade de cálculo
de Conhecimento: o provador deve conhecer informações válidas
O processo de prova zk-SNARKs Groth16 inclui principalmente:
Converter a questão em circuitos
Converter o circuito para a forma R1CS
Converter R1CS para a forma QAP
Gerar parâmetros de configuração confiáveis
Gerar e verificar provas zk-SNARKs
A tecnologia de zk-SNARKs continua a desenvolver-se rapidamente e espera-se que desempenhe um papel importante em áreas como a proteção da privacidade e a escalabilidade no futuro.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
20 Curtidas
Recompensa
20
6
Repostar
Compartilhar
Comentário
0/400
MetaMisfit
· 3h atrás
Aprender isso deve fazer você ficar careca.
Ver originalResponder0
FlatTax
· 08-10 17:35
zk A estrada mais simples
Ver originalResponder0
DegenGambler
· 08-09 17:43
Não entendo como muitas pessoas perdem dinheiro e puxam o tapete.
Ver originalResponder0
ChainDetective
· 08-09 17:28
Depois de tantos anos com zk, é melhor desenvolver diretamente.
Ver originalResponder0
CantAffordPancake
· 08-09 17:24
Ah sim, sim, sim, falei a manhã toda e ainda estou a falar sobre zk
Ver originalResponder0
OfflineNewbie
· 08-09 17:22
Já chegou a hora de eu me aprofundar na Criptografia.
zk-SNARKs: da proteção de privacidade à tecnologia chave para a escalabilidade Layer2
zk-SNARKs desenvolvimento e aplicação
I. Evolução Histórica dos zk-SNARKs
O sistema de prova de conhecimento zero teve origem no artigo inovador de Goldwasser, Micali e Rackoff de 1985. Este artigo explora a quantidade mínima de conhecimento que deve ser trocada para provar a veracidade de uma afirmação em sistemas interativos através de múltiplas interações. Se a troca de conhecimento zero puder ser realizada, isso é chamado de prova de conhecimento zero. Os primeiros sistemas de prova de conhecimento zero apresentavam problemas de eficiência e praticidade, permanecendo principalmente em um nível teórico.
Nos últimos dez anos, com a ampla aplicação da criptografia no campo das criptomoedas, os zk-SNARKs experimentaram um desenvolvimento próspero. Entre eles, o desenvolvimento de protocolos de zk-SNARKs gerais, não interativos e com escala de prova limitada tornou-se uma das direções de exploração chave. O desafio central dos zk-SNARKs reside em equilibrar a velocidade de prova, a velocidade de verificação e a escala de prova.
O artigo publicado por Groth em 2010 estabeleceu a base teórica dos zk-SNARKs, tornando-se um importante marco no campo das provas de conhecimento zero. Em 2015, a Zcash aplicou as provas de conhecimento zero para proteger a privacidade das transações, iniciando a ampla aplicação das provas de conhecimento zero.
Desde então, uma série de resultados acadêmicos impulsionou o desenvolvimento de zk-SNARKs:
Outros avanços importantes incluem melhorias adicionais em zk-SNARKs, como PLONK e Halo2.
Dois, principais aplicações de zk-SNARKs
Os dois campos de aplicação mais amplamente utilizados de zk-SNARKs atualmente são a proteção da privacidade e a escalabilidade.
Na proteção da privacidade, surgiram inicialmente projetos de transações privadas como Zcash e Monero. No entanto, devido à demanda real por transações privadas ser inferior à esperada, esses projetos gradualmente passaram para o segundo plano.
Na questão da escalabilidade, com a transição do Ethereum para uma abordagem de escalabilidade centrada em rollups, as soluções de escalabilidade baseadas em zk-SNARKs voltaram a ser o foco da indústria.
transações privadas
Os projetos representativos de transações privadas incluem:
Tomando o Zcash como exemplo, o processo de transação zk-SNARKs inclui: configuração do sistema, geração de chaves, cunhagem, transferência, verificação e recepção.
Embora o Zcash implemente a privacidade das transações, ainda existem algumas limitações:
Em comparação, o Tornado utiliza um único grande pool de moedas misturadas, oferecendo melhor versatilidade. O Tornado Cash é baseado em Groth16 e pode fornecer as seguintes características:
escalabilidade
zk-SNARKs na aplicação de escalabilidade é principalmente zk-rollup. zk-rollup inclui duas classes de papéis-chave:
As vantagens do zk-rollup incluem: baixos custos, finalização rápida, proteção da privacidade, entre outros. As desvantagens incluem: grande carga de cálculo para gerar provas, o SNARK requer configurações confiáveis, etc.
Atualmente, os principais projetos de zk-rollup no mercado são:
Esses projetos diferem principalmente na abordagem técnica em relação ao uso de zk-SNARKs ou STARKs, bem como no nível de suporte ao EVM.
A compatibilidade EVM é um grande desafio para os zk-rollups. Atualmente, existem duas principais abordagens na indústria:
Recentemente, a compatibilidade com EVM fez progressos importantes, prevendo-se uma migração sem costura para os desenvolvedores da cadeia principal do Ethereum para zk-rollup, o que terá um impacto significativo no ecossistema ZK.
Três, o princípio básico do ZK-SNARKs
zk-SNARKs representa "zk-SNARKs", possui as seguintes características:
O processo de prova zk-SNARKs Groth16 inclui principalmente:
A tecnologia de zk-SNARKs continua a desenvolver-se rapidamente e espera-se que desempenhe um papel importante em áreas como a proteção da privacidade e a escalabilidade no futuro.