zk-SNARKs: do teórico ao prático na evolução do desenvolvimento
I. A linha do tempo da história dos zk-SNARKs
A base teórica moderna do sistema de provas de conhecimento zero origina-se de um importante artigo proposto em 1985 e publicado em 1989. Este artigo explora a quantidade de conhecimento que precisa ser trocada para provar a correção de uma declaração em sistemas de prova interativa, através de múltiplas interações. Se for possível completar a prova sem revelar nenhuma informação adicional, isso é chamado de zk-SNARKs.
Os primeiros sistemas de zk-SNARKs apresentavam deficiências em eficiência e praticidade, permanecendo principalmente em um nível teórico. Na última década, com o surgimento da criptografia no campo das criptomoedas, os zk-SNARKs tornaram-se gradualmente uma direção de pesquisa importante. Entre eles, o desenvolvimento de protocolos de zk-SNARKs gerais, não interativos e com tamanho de prova limitado é um objetivo chave.
Um grande avanço em zero conhecimento foi estabelecido pelo artigo de Groth publicado em 2010, que fundamentou teoricamente os zk-SNARKs. Em 2015, a Zcash aplicou zero conhecimento na proteção da privacidade das transações, abrindo cenários de aplicação mais amplos.
Desde então, uma série de importantes resultados acadêmicos começaram a surgir:
O protocolo Pinocchio de 2013 comprimiu o tempo de prova e verificação
O esquema Groth16 de 2016 simplificou o tamanho da prova e melhorou a eficiência da verificação.
O algoritmo Bulletproofs, proposto em 2017, implementou provas de conhecimento zero não interativas curtas.
O protocolo zk-STARKs proposto em 2018 não requer configuração confiável
Outros desenvolvimentos importantes incluem PLONK, Halo2, entre outros, que fizeram melhorias adicionais nos zk-SNARKs.
Dois, aplicações típicas de zk-SNARKs
Os dois principais domínios de aplicação do zk-SNARKs atualmente são a proteção da privacidade e a escalabilidade.
Na proteção da privacidade, surgiram projetos representativos como Zcash e Monero. No entanto, devido à demanda por transações privadas não ter atingido as expectativas, esses projetos foram gradualmente relegados a um segundo plano.
Na questão da escalabilidade, com a transição do Ethereum para uma abordagem centrada em rollup, as soluções de escalabilidade baseadas em zk-SNARKs voltaram a ser o foco.
transações de privacidade
Os projetos representativos de transações privadas incluem:
Zcash: usar zk-SNARKs
Monero: usar Bulletproofs
Tornado Cash: um pool de mistura baseado em Ethereum, que utiliza zk-SNARKs
O processo de transação do Zcash inclui etapas como configuração do sistema, geração de chaves, cunhagem, transações, verificação e recebimento. No entanto, o Zcash ainda tem algumas limitações, como ser baseado no modelo UTXO e dificuldades em escalar aplicações.
Tornado Cash utiliza um design de piscina de mistura única, baseado na rede Ethereum, oferecendo uma melhor versatilidade.
escalabilidade
zk-SNARKs pode ser usado para escalabilidade de rede de camada 1 ( como Mina ), e também pode ser usado para escalabilidade de camada 2 (, ou seja, zk-rollup ). A ideia central do zk-rollup é agregar um grande número de transações e gerar zk-SNARKs, que são então utilizados para verificar a atualização de estado na cadeia principal.
As vantagens do zk-rollup incluem baixos custos, rápida finalização, proteção de privacidade, entre outros, mas também enfrenta desafios como alta carga computacional e segurança.
Atualmente, os principais projetos de zk-rollup incluem:
StarkNet(Starkware)
zkSync(Matter Labs)
Aztec Connect
Polygon Hermez e Miden
Loopring
Rolagem
Estes projetos estão principalmente divididos em duas grandes facções na linha técnica: SNARK e STARK, além de suportar ou não a compatibilidade com EVM. A compatibilidade com EVM é um importante desafio técnico e foco de competição.
Três, os princípios básicos do zk-SNARKs
zk-SNARKs é uma das soluções de prova de conhecimento zero mais amplamente utilizadas atualmente. O seu nome completo é "Prova de Conhecimento Zero Concisa e Não Interativa".
O processo de prova do zk-SNARKs inclui os seguintes passos:
Converter a questão em um circuito
Converter o circuito para a forma R1CS
Converter R1CS para a forma QAP
Gerar parâmetros aleatórios para a configuração confiável
Gerar e validar zk-SNARKs
Este processo garante a integridade, fiabilidade e zk-SNARKs da prova.
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.
13 Curtidas
Recompensa
13
5
Compartilhar
Comentário
0/400
BrokenYield
· 21h atrás
provas zk... ainda estou à espera desse "killer app" para ser sincero... o mercado anda a hype desde 2017 smh
Ver originalResponder0
ProofOfNothing
· 21h atrás
Será que realmente há alguém que consiga entender?
zk-SNARKs: da quebra teórica à tecnologia chave para a aplicação de escalabilidade
zk-SNARKs: do teórico ao prático na evolução do desenvolvimento
I. A linha do tempo da história dos zk-SNARKs
A base teórica moderna do sistema de provas de conhecimento zero origina-se de um importante artigo proposto em 1985 e publicado em 1989. Este artigo explora a quantidade de conhecimento que precisa ser trocada para provar a correção de uma declaração em sistemas de prova interativa, através de múltiplas interações. Se for possível completar a prova sem revelar nenhuma informação adicional, isso é chamado de zk-SNARKs.
Os primeiros sistemas de zk-SNARKs apresentavam deficiências em eficiência e praticidade, permanecendo principalmente em um nível teórico. Na última década, com o surgimento da criptografia no campo das criptomoedas, os zk-SNARKs tornaram-se gradualmente uma direção de pesquisa importante. Entre eles, o desenvolvimento de protocolos de zk-SNARKs gerais, não interativos e com tamanho de prova limitado é um objetivo chave.
Um grande avanço em zero conhecimento foi estabelecido pelo artigo de Groth publicado em 2010, que fundamentou teoricamente os zk-SNARKs. Em 2015, a Zcash aplicou zero conhecimento na proteção da privacidade das transações, abrindo cenários de aplicação mais amplos.
Desde então, uma série de importantes resultados acadêmicos começaram a surgir:
Outros desenvolvimentos importantes incluem PLONK, Halo2, entre outros, que fizeram melhorias adicionais nos zk-SNARKs.
Dois, aplicações típicas de zk-SNARKs
Os dois principais domínios de aplicação do zk-SNARKs atualmente são a proteção da privacidade e a escalabilidade.
Na proteção da privacidade, surgiram projetos representativos como Zcash e Monero. No entanto, devido à demanda por transações privadas não ter atingido as expectativas, esses projetos foram gradualmente relegados a um segundo plano.
Na questão da escalabilidade, com a transição do Ethereum para uma abordagem centrada em rollup, as soluções de escalabilidade baseadas em zk-SNARKs voltaram a ser o foco.
transações de privacidade
Os projetos representativos de transações privadas incluem:
O processo de transação do Zcash inclui etapas como configuração do sistema, geração de chaves, cunhagem, transações, verificação e recebimento. No entanto, o Zcash ainda tem algumas limitações, como ser baseado no modelo UTXO e dificuldades em escalar aplicações.
Tornado Cash utiliza um design de piscina de mistura única, baseado na rede Ethereum, oferecendo uma melhor versatilidade.
escalabilidade
zk-SNARKs pode ser usado para escalabilidade de rede de camada 1 ( como Mina ), e também pode ser usado para escalabilidade de camada 2 (, ou seja, zk-rollup ). A ideia central do zk-rollup é agregar um grande número de transações e gerar zk-SNARKs, que são então utilizados para verificar a atualização de estado na cadeia principal.
As vantagens do zk-rollup incluem baixos custos, rápida finalização, proteção de privacidade, entre outros, mas também enfrenta desafios como alta carga computacional e segurança.
Atualmente, os principais projetos de zk-rollup incluem:
Estes projetos estão principalmente divididos em duas grandes facções na linha técnica: SNARK e STARK, além de suportar ou não a compatibilidade com EVM. A compatibilidade com EVM é um importante desafio técnico e foco de competição.
Três, os princípios básicos do zk-SNARKs
zk-SNARKs é uma das soluções de prova de conhecimento zero mais amplamente utilizadas atualmente. O seu nome completo é "Prova de Conhecimento Zero Concisa e Não Interativa".
O processo de prova do zk-SNARKs inclui os seguintes passos:
Este processo garante a integridade, fiabilidade e zk-SNARKs da prova.