Nos últimos anos, os projetos de zk-SNARKs ( ZKP ) no setor de blockchain mostraram um crescimento explosivo, especialmente nas áreas de escalabilidade e proteção da privacidade. No entanto, devido às características matemáticas avançadas dos ZKP, compreendê-los profundamente representa um certo desafio para os entusiastas de criptografia comuns. Este artigo irá revisar desde o início a teoria e a aplicação dos ZKP, explorando seu impacto e valor na indústria de criptografia, como uma introdução a uma série.
I. Desenvolvimento dos zk-SNARKs
O sistema moderno de zk-SNARKs origina-se da teoria dos sistemas de prova interativos proposta por Goldwasser, Micali e Rackoff em 1985. Essa teoria investiga a quantidade mínima de conhecimento que deve ser trocada para provar a veracidade de uma declaração através de múltiplas interações em um sistema interativo. Se a prova puder ser concluída sem revelar nenhuma informação adicional, é chamada de zk-SNARK.
Os sistemas de zk-SNARKs nas suas fases iniciais apresentavam eficiência e praticidade insuficientes, permanecendo principalmente a nível teórico. Na última década, com a ampla aplicação da criptografia no campo das criptomoedas, os zk-SNARKs tornaram-se gradualmente uma importante direção de pesquisa. Entre eles, o desenvolvimento de protocolos de zk-SNARKs genéricos, não interativos e com um tamanho de prova reduzido é um dos principais objetivos.
Uma importante quebra de paradigma em zk-SNARKs foi proposta por Groth em 2010 com a introdução de provas de conhecimento zero não interativas de pares curtos, estabelecendo a base teórica. Em 2015, o projeto Zcash aplicou pela primeira vez zk-SNARKs na proteção da privacidade das transações, abrindo caminho para a combinação de zk-SNARKs com contratos inteligentes.
Desde então, uma série de resultados acadêmicos tem continuado a impulsionar o desenvolvimento de zk-SNARKs:
Em 2013, o protocolo Pinocchio comprimiu o tempo de prova e verificação
Em 2016, o algoritmo Groth16 simplificou o tamanho das provas e melhorou a eficiência de verificação.
Em 2017, Bulletproofs propôs provas de conhecimento zero não interativas e compactas.
Em 2018, zk-STARKs implementaram um sistema de prova sem necessidade de configuração confiável.
Além disso, algoritmos novos como PLONK e Halo2 estão constantemente a melhorar os zk-SNARKs.
Dois, as principais aplicações dos zk-SNARKs
zk-SNARKs atualmente são aplicados principalmente em duas direções: proteção de privacidade e escalabilidade.
proteção de privacidade
Projetos de transação privada como Zcash e Monero foram amplamente discutidos no início, mas devido à demanda real que não correspondeu às expectativas, atualmente estão em segundo plano.
Usando o Zcash como exemplo, o processo de transação zk-SNARKs inclui: configuração do sistema, geração de chaves, cunhagem, transações Pour, verificação e recepção, entre outros passos. No entanto, o Zcash ainda apresenta algumas limitações, como a dificuldade de escalabilidade baseada no modelo UTXO e a baixa taxa de utilização de transações de privacidade na prática.
Tornado Cash adota um design de pool de moedas misturadas único, baseado na rede Ethereum, com melhor versatilidade. Ele garante que apenas as moedas depositadas possam ser retiradas, e que cada moeda só pode ser retirada uma vez, com características como o processo de prova vinculado ao nullifier.
expansão
A escalabilidade ZK pode ser implementada em uma rede de camada um ( como Mina ) ou em uma rede de camada dois (, ou seja, ZK rollup ). O ZK rollup inclui principalmente dois tipos de papéis: Sequencer e Aggregator; o Sequencer é responsável por empacotar transações, e o Aggregator é responsável por combinar transações e gerar zk-SNARKs para atualizar a árvore de estados do Ethereum.
As vantagens do ZK rollup incluem baixos custos, rápida finalização e proteção de privacidade, mas também enfrentam desafios como grande carga computacional e necessidade de configurações de confiança. Atualmente, os principais projetos de ZK rollup incluem StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, cada um com foco diferente na escolha entre SNARK/STARK e compatibilidade com EVM.
A compatibilidade com EVM é um grande desafio que os sistemas ZK enfrentam. Alguns projetos optam por desenvolver máquinas virtuais e linguagens de programação dedicadas, enquanto outros se esforçam para alcançar total compatibilidade com Solidity. Os recentes avanços rápidos na compatibilidade com EVM oferecem aos desenvolvedores mais opções.
Três, o princípio básico do ZK-SNARKs
ZK-SNARK(zk-SNARKs) é um dos sistemas de prova de conhecimento zero mais amplamente utilizados atualmente. Ele possui as seguintes características:
zk-SNARKs: não vaza informações adicionais
Conciso: o tamanho da prova é pequeno
Não interativo: sem necessidade de múltiplas interações
Confiabilidade: Provedores com capacidade computacional limitada não conseguem falsificar provas
Conhecimento: o provador deve saber informações válidas para construir a prova
O processo de prova ZK-SNARKs na versão Groth16 inclui principalmente:
Transformar a questão em circuito
Converter o circuito para a forma R1CS
Converter R1CS para a forma QAP
Estabelecer configurações de confiança, gerar chaves de prova e chaves de verificação
Gerar e verificar provas zk-SNARKs
Este processo lançou as bases para a aplicação prática dos zk-SNARKs. Artigos posteriores irão explorar mais a fundo os princípios dos zk-SNARKs, casos de aplicação e comparações com os zk-STARKs.
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.
14 Curtidas
Recompensa
14
4
Compartilhar
Comentário
0/400
just_here_for_vibes
· 11h atrás
zkp já teve várias ondas de popularidade
Ver originalResponder0
RunWithRugs
· 07-21 01:12
Raspei hiddenvault até a raiz
Ver originalResponder0
ZKProofster
· 07-21 01:11
tecnicamente falando, a elegância do snark ainda é inigualável para ser sincero
Análise da tecnologia zk-SNARKs: princípios, aplicações e impacto na indústria
zk-SNARKs: do princípio à aplicação
Introdução
Nos últimos anos, os projetos de zk-SNARKs ( ZKP ) no setor de blockchain mostraram um crescimento explosivo, especialmente nas áreas de escalabilidade e proteção da privacidade. No entanto, devido às características matemáticas avançadas dos ZKP, compreendê-los profundamente representa um certo desafio para os entusiastas de criptografia comuns. Este artigo irá revisar desde o início a teoria e a aplicação dos ZKP, explorando seu impacto e valor na indústria de criptografia, como uma introdução a uma série.
I. Desenvolvimento dos zk-SNARKs
O sistema moderno de zk-SNARKs origina-se da teoria dos sistemas de prova interativos proposta por Goldwasser, Micali e Rackoff em 1985. Essa teoria investiga a quantidade mínima de conhecimento que deve ser trocada para provar a veracidade de uma declaração através de múltiplas interações em um sistema interativo. Se a prova puder ser concluída sem revelar nenhuma informação adicional, é chamada de zk-SNARK.
Os sistemas de zk-SNARKs nas suas fases iniciais apresentavam eficiência e praticidade insuficientes, permanecendo principalmente a nível teórico. Na última década, com a ampla aplicação da criptografia no campo das criptomoedas, os zk-SNARKs tornaram-se gradualmente uma importante direção de pesquisa. Entre eles, o desenvolvimento de protocolos de zk-SNARKs genéricos, não interativos e com um tamanho de prova reduzido é um dos principais objetivos.
Uma importante quebra de paradigma em zk-SNARKs foi proposta por Groth em 2010 com a introdução de provas de conhecimento zero não interativas de pares curtos, estabelecendo a base teórica. Em 2015, o projeto Zcash aplicou pela primeira vez zk-SNARKs na proteção da privacidade das transações, abrindo caminho para a combinação de zk-SNARKs com contratos inteligentes.
Desde então, uma série de resultados acadêmicos tem continuado a impulsionar o desenvolvimento de zk-SNARKs:
Além disso, algoritmos novos como PLONK e Halo2 estão constantemente a melhorar os zk-SNARKs.
Dois, as principais aplicações dos zk-SNARKs
zk-SNARKs atualmente são aplicados principalmente em duas direções: proteção de privacidade e escalabilidade.
proteção de privacidade
Projetos de transação privada como Zcash e Monero foram amplamente discutidos no início, mas devido à demanda real que não correspondeu às expectativas, atualmente estão em segundo plano.
Usando o Zcash como exemplo, o processo de transação zk-SNARKs inclui: configuração do sistema, geração de chaves, cunhagem, transações Pour, verificação e recepção, entre outros passos. No entanto, o Zcash ainda apresenta algumas limitações, como a dificuldade de escalabilidade baseada no modelo UTXO e a baixa taxa de utilização de transações de privacidade na prática.
Tornado Cash adota um design de pool de moedas misturadas único, baseado na rede Ethereum, com melhor versatilidade. Ele garante que apenas as moedas depositadas possam ser retiradas, e que cada moeda só pode ser retirada uma vez, com características como o processo de prova vinculado ao nullifier.
expansão
A escalabilidade ZK pode ser implementada em uma rede de camada um ( como Mina ) ou em uma rede de camada dois (, ou seja, ZK rollup ). O ZK rollup inclui principalmente dois tipos de papéis: Sequencer e Aggregator; o Sequencer é responsável por empacotar transações, e o Aggregator é responsável por combinar transações e gerar zk-SNARKs para atualizar a árvore de estados do Ethereum.
As vantagens do ZK rollup incluem baixos custos, rápida finalização e proteção de privacidade, mas também enfrentam desafios como grande carga computacional e necessidade de configurações de confiança. Atualmente, os principais projetos de ZK rollup incluem StarkNet, zkSync, Aztec Connect, Polygon Hermez/Miden, Loopring, Scroll, cada um com foco diferente na escolha entre SNARK/STARK e compatibilidade com EVM.
A compatibilidade com EVM é um grande desafio que os sistemas ZK enfrentam. Alguns projetos optam por desenvolver máquinas virtuais e linguagens de programação dedicadas, enquanto outros se esforçam para alcançar total compatibilidade com Solidity. Os recentes avanços rápidos na compatibilidade com EVM oferecem aos desenvolvedores mais opções.
Três, o princípio básico do ZK-SNARKs
ZK-SNARK(zk-SNARKs) é um dos sistemas de prova de conhecimento zero mais amplamente utilizados atualmente. Ele possui as seguintes características:
O processo de prova ZK-SNARKs na versão Groth16 inclui principalmente:
Este processo lançou as bases para a aplicação prática dos zk-SNARKs. Artigos posteriores irão explorar mais a fundo os princípios dos zk-SNARKs, casos de aplicação e comparações com os zk-STARKs.