O sistema moderno de zk-SNARKs tem a sua origem no artigo co-autorado em 1985 por Goldwasser, Micali e Rackoff. Este artigo explora a quantidade de conhecimento que deve ser trocada para provar a veracidade de uma afirmação através de múltiplas interações em um sistema interativo. Se a troca de conhecimento puder ser realizada, é chamada de zk-SNARK. Este sistema interativo só pode ser considerado correto em um sentido probabilístico, e não matematicamente rigoroso.
Para superar as limitações dos sistemas interativos, o sistema não interativo (NP) surgiu, possuindo completude, tornando-se a escolha ideal para zk-SNARKs. Os sistemas de zk-SNARKs iniciais apresentavam ineficiências e falta de praticidade, permanecendo principalmente no nível teórico. Nos últimos dez anos, com a ascensão da criptografia no campo das criptomoedas, os zk-SNARKs se desenvolveram rapidamente, tornando-se uma direção de pesquisa importante.
A quebra de chave do zero conhecimento é o artigo publicado por Groth em 2010, que estabeleceu a base teórica para zk-SNARKs. Em 2015, o Zcash adotou o sistema de zero conhecimento para proteger a privacidade das transações, representando um avanço importante a nível de aplicação. Em seguida, zk-SNARKs foram combinados com contratos inteligentes, ampliando os cenários de aplicação.
Durante este período, alguns resultados académicos importantes incluem: o protocolo Pinocchio de 2013, o algoritmo Groth16 de 2016, os Bulletproofs de 2017, e os zk-STARKs de 2018. Estes resultados têm sido continuamente otimizados em termos de tamanho da prova, eficiência de verificação, entre outros, impulsionando o desenvolvimento dos zk-SNARKs.
Dois, principais aplicações de zk-SNARKs
As duas aplicações mais amplas de zk-SNARKs são a proteção da privacidade e a escalabilidade. Projetos de transações privadas iniciais como Zcash e Monero chamaram bastante atenção após seu lançamento, mas a demanda real não atendeu às expectativas. Nos últimos anos, com a transição do Ethereum para uma abordagem de escalabilidade centrada em rollup, as soluções de escalabilidade baseadas em zk-SNARKs voltaram a ser o foco.
transações de privacidade
Existem vários projetos implementados de transações privadas, como o Zcash e o Tornado que utilizam zk-SNARKs, e o Monero que utiliza Bulletproofs. Tomando o Zcash como exemplo, o seu processo de transação inclui etapas como configuração do sistema, geração de chaves, cunhagem, geração de provas de transação, verificação e recepção. No entanto, o Zcash também apresenta limitações, como a dificuldade de escalabilidade baseada no modelo UTXO e uma baixa taxa de utilização de transações privadas na prática.
O Tornado adota um design de pool de mistura grande único, baseado na rede Ethereum, com melhor versatilidade. Utiliza zk-SNARKs para fornecer proteção de privacidade nas transações, garantindo que apenas as moedas depositadas possam ser retiradas, e que as moedas não possam ser retiradas várias vezes, entre outras características.
escalabilidade
zk-SNARKs na aplicação de escalabilidade é principalmente zk-rollup. zk-rollup inclui dois tipos de papéis: Sequencer e Aggregator. O Sequencer é responsável por empacotar transações, enquanto o Aggregator combina um grande número de transações para gerar rollup e criar zk-SNARKs, que são usados para atualizar o estado da Layer 1.
Os zk-rollups têm vantagens como baixos custos e rápida finalização, mas também enfrentam desafios como grande carga computacional e configurações de segurança complexas. Atualmente, os principais projetos de zk-rollup incluem StarkNet, zkSync, Aztec Connect e Polygon Hermez, cada um com suas próprias características em termos de rota técnica e compatibilidade com EVM.
A compatibilidade com EVM é uma questão chave para o desenvolvimento de zk-rollups. Os projetos precisam equilibrar a amigabilidade com zero conhecimento e a compatibilidade com EVM; alguns projetos optam por serem completamente compatíveis com os códigos de operação EVM, enquanto outros projetam novas máquinas virtuais para conciliar ambos. Recentes avanços tecnológicos melhoraram significativamente a compatibilidade com EVM, o que promete impulsionar a prosperidade do ecossistema de desenvolvimento.
Três, o princípio básico dos zk-SNARKs
zk-SNARK(Argumento de Conhecimento Succinto Não Interativo de Zero Conhecimento) é um protocolo de prova de zero conhecimento amplamente utilizado. Ele possui características como zero conhecimento, concisão, não interatividade, confiabilidade e confiabilidade do conhecimento.
O processo de prova do Groth16 zk-SNARKs inclui os seguintes passos:
Converter o problema em circuitos
Converter o circuito para a forma de R1CS( do Sistema de Restrições de Rank-1)
Converter R1CS para QAP(Programa Aritmético Quadrático)
Estabelecer uma configuração confiável, gerar a chave de prova e a chave de verificação
Gerar e verificar provas zk-SNARKs
Este processo envolve princípios matemáticos complexos e técnicas de criptografia, que são a base para a realização de zk-SNARKs eficientes.
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.
8 Curtidas
Recompensa
8
9
Compartilhar
Comentário
0/400
IntrovertMetaverse
· 07-20 08:37
Não entendo, mas parece muito sofisticado.
Ver originalResponder0
RektHunter
· 07-19 21:00
Fiquei tonto de tanto estudar, fui beber.
Ver originalResponder0
Ser_APY_2000
· 07-19 00:54
O que está a dizer? Estou com a cabeça a dar voltas.
Ver originalResponder0
Anon32942
· 07-17 19:31
Por que parece que todos estão falando sobre zk, um pouco como se estivessem seguindo a moda?
Ver originalResponder0
GasFeeCrier
· 07-17 19:19
Não acaba nunca a taxa de gás!
Ver originalResponder0
WalletWhisperer
· 07-17 19:18
hmm... fascinante como as provas zk evoluíram da matemática pura para a mecânica real da cadeia... os padrões comportamentais são inegáveis, para ser honesto
Ver originalResponder0
BearMarketBuilder
· 07-17 19:12
Compreendi que a tecnologia de base é a verdadeira divindade.
Ver originalResponder0
HalfPositionRunner
· 07-17 19:10
Zero conhecimento? Ai, se não entendo, fujo.
Ver originalResponder0
WenMoon42
· 07-17 19:03
Quando o L2 tiver aplicações reais, cada pessoa terá um zk.
História do desenvolvimento da tecnologia zk-SNARKs: da quebra teórica às aplicações de escalabilidade Layer2
zk-SNARKs: O desenvolvimento e aplicações
I. A evolução histórica dos zk-SNARKs
O sistema moderno de zk-SNARKs tem a sua origem no artigo co-autorado em 1985 por Goldwasser, Micali e Rackoff. Este artigo explora a quantidade de conhecimento que deve ser trocada para provar a veracidade de uma afirmação através de múltiplas interações em um sistema interativo. Se a troca de conhecimento puder ser realizada, é chamada de zk-SNARK. Este sistema interativo só pode ser considerado correto em um sentido probabilístico, e não matematicamente rigoroso.
Para superar as limitações dos sistemas interativos, o sistema não interativo (NP) surgiu, possuindo completude, tornando-se a escolha ideal para zk-SNARKs. Os sistemas de zk-SNARKs iniciais apresentavam ineficiências e falta de praticidade, permanecendo principalmente no nível teórico. Nos últimos dez anos, com a ascensão da criptografia no campo das criptomoedas, os zk-SNARKs se desenvolveram rapidamente, tornando-se uma direção de pesquisa importante.
A quebra de chave do zero conhecimento é o artigo publicado por Groth em 2010, que estabeleceu a base teórica para zk-SNARKs. Em 2015, o Zcash adotou o sistema de zero conhecimento para proteger a privacidade das transações, representando um avanço importante a nível de aplicação. Em seguida, zk-SNARKs foram combinados com contratos inteligentes, ampliando os cenários de aplicação.
Durante este período, alguns resultados académicos importantes incluem: o protocolo Pinocchio de 2013, o algoritmo Groth16 de 2016, os Bulletproofs de 2017, e os zk-STARKs de 2018. Estes resultados têm sido continuamente otimizados em termos de tamanho da prova, eficiência de verificação, entre outros, impulsionando o desenvolvimento dos zk-SNARKs.
Dois, principais aplicações de zk-SNARKs
As duas aplicações mais amplas de zk-SNARKs são a proteção da privacidade e a escalabilidade. Projetos de transações privadas iniciais como Zcash e Monero chamaram bastante atenção após seu lançamento, mas a demanda real não atendeu às expectativas. Nos últimos anos, com a transição do Ethereum para uma abordagem de escalabilidade centrada em rollup, as soluções de escalabilidade baseadas em zk-SNARKs voltaram a ser o foco.
transações de privacidade
Existem vários projetos implementados de transações privadas, como o Zcash e o Tornado que utilizam zk-SNARKs, e o Monero que utiliza Bulletproofs. Tomando o Zcash como exemplo, o seu processo de transação inclui etapas como configuração do sistema, geração de chaves, cunhagem, geração de provas de transação, verificação e recepção. No entanto, o Zcash também apresenta limitações, como a dificuldade de escalabilidade baseada no modelo UTXO e uma baixa taxa de utilização de transações privadas na prática.
O Tornado adota um design de pool de mistura grande único, baseado na rede Ethereum, com melhor versatilidade. Utiliza zk-SNARKs para fornecer proteção de privacidade nas transações, garantindo que apenas as moedas depositadas possam ser retiradas, e que as moedas não possam ser retiradas várias vezes, entre outras características.
escalabilidade
zk-SNARKs na aplicação de escalabilidade é principalmente zk-rollup. zk-rollup inclui dois tipos de papéis: Sequencer e Aggregator. O Sequencer é responsável por empacotar transações, enquanto o Aggregator combina um grande número de transações para gerar rollup e criar zk-SNARKs, que são usados para atualizar o estado da Layer 1.
Os zk-rollups têm vantagens como baixos custos e rápida finalização, mas também enfrentam desafios como grande carga computacional e configurações de segurança complexas. Atualmente, os principais projetos de zk-rollup incluem StarkNet, zkSync, Aztec Connect e Polygon Hermez, cada um com suas próprias características em termos de rota técnica e compatibilidade com EVM.
A compatibilidade com EVM é uma questão chave para o desenvolvimento de zk-rollups. Os projetos precisam equilibrar a amigabilidade com zero conhecimento e a compatibilidade com EVM; alguns projetos optam por serem completamente compatíveis com os códigos de operação EVM, enquanto outros projetam novas máquinas virtuais para conciliar ambos. Recentes avanços tecnológicos melhoraram significativamente a compatibilidade com EVM, o que promete impulsionar a prosperidade do ecossistema de desenvolvimento.
Três, o princípio básico dos zk-SNARKs
zk-SNARK(Argumento de Conhecimento Succinto Não Interativo de Zero Conhecimento) é um protocolo de prova de zero conhecimento amplamente utilizado. Ele possui características como zero conhecimento, concisão, não interatividade, confiabilidade e confiabilidade do conhecimento.
O processo de prova do Groth16 zk-SNARKs inclui os seguintes passos:
Este processo envolve princípios matemáticos complexos e técnicas de criptografia, que são a base para a realização de zk-SNARKs eficientes.