Uma interpretação aprofundada da aplicação da tecnologia de prova de conhecimento zero: a terceira grande inovação tecnológica na história do desenvolvimento de blockchain
Pesquisador @Jesse_meta, Nó de Finanças Inclusivas, SUSS NiFT, Universidade de Ciências Sociais de Cingapura
Pesquisador de Beosina @EatonAshton2
Pesquisador de segurança de menor autoridade @kaplannie
Independentemente de as informações serem armazenadas na Internet ou em arquivos off-line, sejam intencionais ou acidentais, os incidentes de vazamento de informações são comuns hoje em dia e nem é preciso dizer. Desde que a informação seja armazenada centralmente, existe sempre o risco de um único ponto de ataque. Enquanto o processo de verificação exigir um terceiro de confiança, haverá riscos éticos e ineficiências. A solução para a segurança da informação é crucial e urgente. A tecnologia à prova de conhecimento zero permite que os usuários concluam a verificação com mais eficiência e segurança, ao mesmo tempo que protegem sua privacidade.
Se o Bitcoin é a primeira grande invenção que o blockchain traz para o mundo real, fornecendo uma nova maneira de armazenar valor, e os contratos inteligentes do Ethereum são o segundo grande marco, liberando o potencial de inovação, então a aplicação de provas de conhecimento zero é o maior A terceira maior inovação tecnológica na história do desenvolvimento de blockchain, trazendo privacidade e escalabilidade. Esta não é apenas uma parte importante do ecossistema Web3, mas também uma importante tecnologia básica que tem o potencial de promover mudanças sociais.
Este artigo apresenta os cenários de aplicação, princípios de funcionamento, status de desenvolvimento e tendências futuras da prova de conhecimento zero da perspectiva de uma pessoa não técnica, a fim de permitir que leitores sem formação técnica entendam as principais mudanças que a prova de conhecimento zero está prestes a fazer. trazer.
1. O que é prova de conhecimento zero?
A prova de conhecimento zero (ZKP) é um protocolo matemático proposto pela primeira vez no artigo "A complexidade do conhecimento das provas interativas" de 1985, de coautoria de Shafi Goldwasser, Silvio Micali e Charles Rackoff. Exceto por um certo fato a ser provado, haverá não haverá divulgação de qualquer outra informação. O verificador não tem acesso às informações secretas que geraram a prova. Deixe-me dar um exemplo para ajudá-lo a entender: quero provar que conheço o número de telefone de alguém. Só preciso poder discar o número de telefone dessa pessoa na frente de todos para provar esse fato, sem revelar o número real dessa pessoa. As provas de conhecimento zero fornecem uma maneira eficiente e quase isenta de riscos de compartilhar dados. Usando provas de conhecimento zero, podemos manter a propriedade dos dados, melhorar significativamente a proteção da privacidade e, esperançosamente, tornar as violações de dados uma coisa do passado.
A prova de conhecimento zero tem três características:
integridade
Se uma afirmação for verdadeira, os verificadores honestos serão convencidos pelos provadores honestos. Ou seja, o que é certo não pode estar errado.
racionalidade
Se uma afirmação for falsa, na grande maioria dos casos um provador enganoso não pode fazer com que um verificador honesto acredite na afirmação falsa. Ou seja, o que está errado não pode estar certo.
conhecimento zero
Se uma afirmação for verdadeira, o verificador não pode obter nenhuma informação adicional além de que a afirmação é verdadeira.
As provas de conhecimento zero têm uma probabilidade muito pequena de produzir erros razoáveis, ou seja, um provador trapaceiro pode fazer o verificador acreditar em uma afirmação errada. A prova de conhecimento zero é uma prova probabilística, não uma prova determinística, mas podemos reduzir o erro racional a insignificante através de algumas técnicas.
2. Aplicação da prova de conhecimento zero
Os dois cenários de aplicação mais importantes de prova de conhecimento zero são privacidade e escalabilidade.
2.1 Privacidade
As provas de conhecimento zero permitem aos usuários compartilhar com segurança as informações necessárias para obter bens e serviços sem revelar dados pessoais, protegendo-os de hackers e do vazamento de informações de identificação pessoal. Com a integração gradual dos campos digital e físico, a função de proteção da privacidade da prova de conhecimento zero tornou-se crucial para a segurança da informação na Web3 e mesmo fora da Web3. Sem prova de conhecimento zero, as informações do usuário existirão em um banco de dados confiável de terceiros e serão potencialmente vulneráveis a ataques de hackers. O primeiro caso de aplicação de prova de conhecimento zero no blockchain é a moeda de privacidade Zcash, que é usada para ocultar detalhes de transações.
2.1.1 Proteção e verificação de informações de identidade
Em atividades online, muitas vezes precisamos fornecer informações como nome, data de nascimento, e-mail e senhas complexas para comprovar que somos usuários com permissões legais. Portanto, muitas vezes deixamos informações confidenciais online que não queremos divulgar. Hoje em dia, não é incomum recebermos ligações fraudulentas nos chamando pelos nossos nomes, o que mostra que o vazamento de informações pessoais é muito grave.
Podemos usar a tecnologia blockchain para dar a cada pessoa um identificador digital criptografado especial que contém dados pessoais. Este identificador digital permite a construção de uma identidade descentralizada e é impossível de forjar ou alterar sem o conhecimento do seu titular. A identidade descentralizada permite aos usuários controlar o acesso às identidades pessoais, comprovar a cidadania sem revelar detalhes do passaporte, simplificar o processo de autenticação e reduzir a ocorrência de perda de acesso dos usuários devido ao esquecimento de senhas. As provas de conhecimento zero são geradas a partir de dados públicos que podem comprovar a identidade do usuário e dados privados com informações do usuário, e podem ser usadas para verificação de identidade quando os usuários acessam os serviços. Isto não só reduz o complicado processo de verificação, melhora a experiência do usuário, mas também evita o armazenamento centralizado das informações do usuário.
Além disso, as provas de conhecimento zero também podem ser utilizadas para construir sistemas de reputação privados, permitindo às agências de serviços verificar se os utilizadores cumprem determinados padrões de reputação sem revelar as suas identidades. Os usuários podem exportar sua reputação anonimamente de plataformas como Facebook, Twitter e Github, enquanto mascaram a conta de origem específica.
2.1.2 Pagamento anônimo
Os detalhes das transações pagas com cartões bancários são geralmente visíveis para várias partes, incluindo provedores de pagamento, bancos e governos. Isso expõe a privacidade dos cidadãos comuns até certo ponto, e os usuários precisam confiar que as partes relevantes não farão o mal.
As criptomoedas podem permitir que pagamentos sejam feitos sem terceiros, permitindo transações diretas entre pares. No entanto, as transacções nas principais cadeias públicas são actualmente visíveis publicamente.Embora os endereços dos utilizadores sejam anónimos, as identidades do mundo real ainda podem ser encontradas através da análise de dados de endereços associados na cadeia e de dados fora da cadeia, tais como troca de informações KYC e Twitter. Se você souber o endereço da carteira de uma pessoa, poderá verificar o saldo da sua conta bancária a qualquer momento, o que pode até representar uma ameaça à identidade e propriedade do usuário.
A prova de conhecimento zero pode fornecer pagamentos anônimos em três níveis: moedas de privacidade, aplicativos de privacidade e cadeias públicas de privacidade. A moeda de privacidade Zcash oculta detalhes da transação, incluindo remetente, endereço do destinatário, tipo de ativo, quantidade e hora. Tornado Cash é um aplicativo descentralizado no Ethereum que usa prova de conhecimento zero para ofuscar detalhes de transações para fornecer transferências privadas (mas também é frequentemente usado por hackers para lavar dinheiro). Aleo é um blockchain L1 projetado para fornecer recursos de privacidade para aplicativos em nível de protocolo.
2.1.3 Conduta honesta
As provas de conhecimento zero podem promover um comportamento honesto e, ao mesmo tempo, preservar a privacidade. O protocolo pode exigir que os usuários enviem provas de conhecimento zero para provar seu comportamento honesto. Devido à racionalidade das provas de conhecimento zero (o que está errado não pode estar certo), os usuários devem agir honestamente de acordo com os requisitos do protocolo antes de poderem enviar provas válidas.
MACI (Minimal Anti-Collusion Infrastructure) é um cenário de aplicação que promove a honestidade e evita o conluio durante a votação em cadeia ou outras formas de tomada de decisão. O sistema utiliza pares de chaves e tecnologia de prova de conhecimento zero para atingir esse objetivo. No MACI, os usuários registram suas chaves públicas em um contrato inteligente e enviam seus votos ao contrato por meio de mensagens criptografadas. O recurso anticonluio do MACI permite que os eleitores alterem suas chaves públicas para evitar que outros conheçam suas escolhas de voto. O coordenador utiliza uma prova de conhecimento zero ao final do período de votação para comprovar que processou todas as mensagens corretamente, e o resultado final da votação é a soma de todos os votos válidos. Isso garante a integridade e justiça do voto.
2.1.4 Verificação de informações pessoais
Quando queremos obter um empréstimo, podemos obter um certificado digital de renda da empresa para solicitar o empréstimo. A legitimidade desta prova pode ser facilmente verificada criptograficamente. O banco pode usar uma prova de conhecimento zero para verificar se nossa renda atinge o mínimo exigido, mas não obterá informações específicas sensíveis.
2.1.5 Combinando aprendizado de máquina para aproveitar o potencial dos dados privados
Ao treinar modelos de aprendizado de máquina, geralmente são necessárias grandes quantidades de dados. Ao usar provas de conhecimento zero, os proprietários de dados podem provar que seus dados atendem aos requisitos para treinamento de modelo sem realmente expor os dados. Isso ajuda a colocar dados privados para funcionar e monetizá-los.
Além disso, as provas de conhecimento zero podem permitir que os criadores de modelos provem que seus modelos atendem a determinadas métricas de desempenho sem expor os detalhes do modelo para evitar que outros copiem ou adulterem seus modelos.
2.2 Extensível
À medida que o número de usuários do blockchain aumenta, uma grande quantidade de cálculos é necessária no blockchain, causando congestionamento nas transações. Algumas blockchains seguirão o caminho de expansão da fragmentação, mas isso requer um grande número de modificações complexas na camada base da blockchain, o que pode ameaçar a segurança da blockchain. Outra solução mais viável é seguir a rota ZK-Rollup, usar cálculos verificáveis, terceirizar os cálculos para entidades de outra cadeia para execução e, em seguida, enviar a prova de conhecimento zero e os resultados verificáveis à cadeia principal para verificação. A prova de conhecimento zero garante a autenticidade da transação. A cadeia principal só precisa atualizar o resultado para o estado. Não há necessidade de armazenar detalhes ou repetir cálculos, e não há necessidade de esperar que outros discutam a autenticidade do transação, o que melhora muito a eficiência e a escalabilidade. Os desenvolvedores podem usar provas de conhecimento zero para projetar dapps de nós leves que podem ser executados em hardware comum, como telefones celulares, o que é mais propício para que o Web3 alcance as massas.
A extensão da prova de conhecimento zero pode ser aplicada tanto à rede de primeira camada, como o protocolo Mina, quanto à rede de segunda camada ZK-rollups.
3. Como funciona a prova de conhecimento zero
Dmitry Laverenov (2019) divide as estruturas de prova de conhecimento zero em interativas e não interativas.
3.1 Prova interativa de conhecimento zero
A forma básica de prova interativa de conhecimento zero consiste em três etapas: evidência, desafiante e resposta
Evidência: A informação secreta oculta é a evidência do provador. Essas evidências configuram uma série de questões que só podem ser respondidas corretamente por quem conhece a informação. O provador começa a selecionar perguntas aleatoriamente e envia as respostas calculadas ao verificador para prova.
Desafio: O verificador escolhe aleatoriamente outra pergunta do conjunto e pede ao provador que a responda.
Resposta: O provador aceita a pergunta, calcula a resposta e devolve o resultado ao verificador. A resposta do provador permite ao verificador verificar se o provador conhece a evidência.
Este processo pode ser repetido várias vezes até que a probabilidade de o provador adivinhar a resposta correta sem conhecer a informação secreta se torne suficientemente baixa. Para dar um exemplo matemático simplificado, se a probabilidade de o provador conseguir adivinhar a resposta correta sem conhecer a informação secreta for 1/2, e a interação for repetida dez vezes, a probabilidade de o provador acertar cada vez é de apenas 9,7 em 10.000.Se você quiser verificar A possibilidade de uma pessoa endossar por engano uma certificação falsa é extremamente baixa.
3.2 Prova de conhecimento zero não interativa
As provas interativas de conhecimento zero têm limitações. Por um lado, o provador e o verificador precisam existir ao mesmo tempo e realizar verificações repetidas. Por outro lado, cada cálculo de uma nova prova exige que o provador e o verificador passem por um teste. conjunto de informações. A prova não pode ser reutilizada em verificação independente.
Para resolver as limitações das provas interativas de conhecimento zero, Manuel Blum, Paul Feldman e Silvio Micali propuseram provas não interativas de conhecimento zero, nas quais o provador e o verificador compartilham a chave, e apenas uma rodada de verificação é necessária para tornar a prova de conhecimento zero comprovadamente mais eficaz. O provador calcula as informações secretas por meio de um algoritmo especial para gerar uma prova de conhecimento zero e a envia ao verificador. O verificador usa outro algoritmo para verificar se o provador conhece a informação secreta. Depois que essa prova de conhecimento zero for gerada, qualquer pessoa com a chave compartilhada e o algoritmo de verificação poderá verificá-la.
A prova de conhecimento zero não interativa é um grande avanço na tecnologia de prova de conhecimento zero e promove o desenvolvimento dos atuais sistemas de prova de conhecimento zero. Os principais métodos são ZK-SNARK e ZK-STARK.
4. Principais caminhos técnicos da prova de conhecimento zero
Alchemy (2022) divide os caminhos técnicos da prova de conhecimento zero em ZK-SNARK, ZK-STARK e ZK-SNARK recursivo.
4.1 ZK-SNARK
ZK-SNARKs são uma prova de conhecimento zero concisa e não interativa.

Para que uma cadeia pública garanta a exatidão das transações executadas na rede, isso precisa ser conseguido fazendo com que outros computadores (nós) executem novamente cada transação. No entanto, este método fará com que cada nó execute novamente cada transação, o que tornará a rede mais lenta e limitará a escalabilidade. Os nós também devem armazenar dados de transações, fazendo com que o tamanho do blockchain cresça exponencialmente.
Para essas restrições, entra em jogo o ZK-SNARK. Ele pode provar a exatidão dos cálculos realizados fora da cadeia, sem exigir que os nós repitam cada etapa do cálculo. Isso também elimina a necessidade de nós armazenarem dados de transações redundantes e aumenta o rendimento da rede.
Usar SNARK para verificar cálculos fora da cadeia codifica o cálculo em uma expressão matemática para formar uma prova de validade. O verificador verifica a exatidão da prova. Se a prova passar em todas as verificações, o cálculo subjacente será considerado válido. O tamanho de uma prova de validade é muitas vezes menor do que o cálculo que ela verifica, por isso chamamos SNARKs de sucintos.
A maioria dos ZK Rollups usando ZK-SNARK segue as etapas a seguir.
O usuário L2 assina a transação e a envia ao verificador.
O verificador usa criptografia para compactar múltiplas transações para gerar certificados de validade correspondentes (SNARKs).
O contrato inteligente na cadeia L1 verifica o certificado de validade e determina se este lote de transações é publicado na cadeia principal.
Vale ressaltar que o ZK-SNARK requer configurações confiáveis. Nesta fase, o gerador de chaves utiliza um programa e um parâmetro secreto para gerar duas chaves públicas utilizáveis, uma para criar a prova e outra para verificar a prova. Essas duas chaves públicas só precisam gerar parâmetros públicos uma vez por meio de uma cerimônia de configuração confiável e podem ser usadas diversas vezes pelas partes que desejam participar do protocolo de conhecimento zero. Os usuários precisam confiar que os participantes em rituais de configuração confiáveis não são maus e não há como avaliar a honestidade dos participantes. Conhecer os parâmetros secretos pode gerar provas falsas e enganar o verificador, portanto existem riscos potenciais de segurança. Atualmente existem pesquisadores explorando soluções ZK-SNARK que não requerem suposições de confiança.
Vantagem
Segurança
O rollup ZK é considerado uma solução de expansão mais segura do que o rollup OP porque o ZK-SNARK usa um mecanismo avançado de segurança de criptografia, o que torna difícil enganar os verificadores e conduzir comportamentos maliciosos.
Alto rendimento
ZK-SNARK reduz a quantidade de cálculos na parte inferior do Ethereum, aliviando o congestionamento da rede principal. Os cálculos fora da cadeia compartilham os custos de transação, trazendo velocidades de transação mais rápidas.
Tamanho de prova pequeno
O pequeno tamanho das provas SNARK facilita sua verificação na cadeia principal, o que significa que a taxa do gás para verificação de transações fora da cadeia é menor, reduzindo o custo para os usuários.
limitações
Centralização relativa
Confiar em uma configuração confiável na maioria das vezes. Isso vai contra a intenção original do blockchain de remover a confiança.
A geração de provas de validade com ZK-SNARKs é um processo computacionalmente intensivo e o provador deve investir em hardware especializado. Esses hardwares são caros e apenas algumas pessoas podem comprá-los, portanto o processo de prova do ZK-SNARK é altamente centralizado.
2.ZK-SNARK usa criptografia de curva elíptica (ECC) para criptografar as informações usadas para gerar provas de validade. Atualmente é relativamente seguro, mas os avanços na computação quântica podem quebrar seu modelo de segurança.
Projetos usando ZK SNARK
Polígono Hermez
A Polygon adquiriu a Hermez por US$ 250 milhões em 2021, tornando-se a primeira fusão e aquisição abrangente de duas redes blockchain. A tecnologia e as ferramentas ZK que Hermez trouxe para a base de usuários em rápido crescimento da Polygon permitiram que a Polygon ganhasse suporte no desenvolvimento do zkEVM. Hermez 1.0 é uma plataforma de pagamento que executa um lote de transações fora da cadeia, permitindo aos usuários transferir facilmente tokens ERC-20 de uma conta Hermez para outra conta Hermez, com até 2.000 transações por segundo.
Hermez 2.0 atua como um zkEVM de conhecimento zero para executar transações Ethereum de forma transparente, incluindo contratos inteligentes com verificação de conhecimento zero. É totalmente compatível com Ethereum e não requer muitas alterações no código do contrato inteligente, tornando conveniente para os desenvolvedores implantarem projetos L1 no Polygon Hermez. Hermez 1.0 usa provas SNARK e 2.0 usa provas SNARK e STARK. No 2.0, a prova STARK é usada para provar a validade das transações fora da cadeia. No entanto, o custo de verificação da prova STARK na cadeia principal é muito alto, então a prova SNARK é introduzida para verificar o STARK.
zkSync
O zkSync 1.0, lançado pela Matter Labs em 2020, não oferece suporte a contratos inteligentes e é usado principalmente para transações ou transferências. ZkSync 2.0, que oferece suporte a contratos inteligentes, será lançado publicamente na rede principal em março de 2023.
ZkSync compila o código-fonte do contrato inteligente Solidity on Ethereum em Yul para obter compatibilidade com EVM. Yul é uma linguagem intermediária que pode ser compilada em bytecode para diferentes EVMs. O código Yul pode ser recompilado em um conjunto de bytecode personalizado e compatível com circuito projetado para zkEVM do zkSync usando a estrutura do compilador LLVM. Essa abordagem elimina a necessidade de realizar provas zk por meio de código de nível superior para todas as etapas da execução do EVM, facilitando a descentralização do processo de prova enquanto mantém o alto desempenho. No futuro, o suporte para Rust, Java ou outras linguagens poderá ser adicionado através da construção de novos front-ends de compilador, aumentando a flexibilidade da arquitetura zkEVM e alcançando mais desenvolvedores.
asteca
Aztec é o primeiro zkRollup híbrido, permitindo a execução de contratos inteligentes públicos e privados em um ambiente. Este é um ambiente de execução de conhecimento zero, não zkEVM. A confidencialidade é alcançada através da fusão de execuções públicas e privadas em um único rollup híbrido, como transações privadas para AMMs públicos, conversas privadas em jogos públicos, votação privada para DAOs públicos e muito mais.
4.2 ZK-STARK
ZK-STARK não requer uma configuração confiável. ZK-STARK é a abreviatura de Zero-Knowledge Scalable Transparent Argument of Knowledge. Comparado com o ZK-SNARK, o ZK-STARK possui melhor escalabilidade e transparência.

Vantagem
Perder a confiança
O ZK-STARK verifica publicamente a aleatoriedade para substituir configurações confiáveis, reduzindo a dependência dos participantes e melhorando a segurança do protocolo.
Capacidades de expansão mais fortes
Embora a complexidade dos cálculos subjacentes aumente exponencialmente, o ZK-STARK ainda mantém tempos de prova e verificação mais baixos, em vez de um crescimento linear como o ZK-SNARK.
Maior garantia de segurança
ZK-STARK usa valores de hash resistentes a colisões para criptografia em vez do esquema de curva elíptica usado no ZK-SNARK, que é resistente a ataques de computação quântica.
limitações
Tamanho de prova maior
O tamanho da prova do ZK-STARK é maior, tornando a verificação na rede principal mais bem-sucedida.
Menor taxa de adoção
ZK-SNARK é a primeira aplicação prática de prova de conhecimento zero no blockchain, portanto, a maioria dos rollups ZK usa ZK-SNARK, que possui sistemas e ferramentas de desenvolvedor mais maduros. Embora o ZK-STARK também seja apoiado pela Fundação Ethereum, a sua taxa de adoção é insuficiente e as ferramentas básicas precisam ser melhoradas.
Quais projetos usam ZK-STARK?
Polígono Miden
Polygon Miden, uma solução de escalonamento baseada em Ethereum L2, aproveita a tecnologia zk-STARK para integrar um grande número de transações L2 em uma única transação Ethereum, aumentando assim o poder de processamento e reduzindo os custos de transação. Sem fragmentação, o Polygon Miden pode gerar um bloco em 5 segundos e seu TPS pode chegar a mais de 1.000. Após a fragmentação, seu TPS pode chegar a 10.000. Os usuários podem sacar fundos do Polygon Miden para Ethereum em apenas 15 minutos. A função principal do Polygon Miden é uma máquina virtual Turing-complete baseada em STARK - Miden VM, que facilita a verificação formal de contratos.
StarkEx e StarkNet
StarkEx é uma estrutura para soluções de extensão de licenciamento personalizadas para aplicações específicas. Os projetos podem usar StarkEx para realizar cálculos fora da cadeia de baixo custo e gerar provas STARK que comprovam a correção da execução. Essa prova contém de 12.000 a 500.000 transações. Por fim, a prova é enviada ao validador STARK na cadeia, e a atualização do status é aceita após a verificação estar correta. Os aplicativos implantados na StarkEx incluem opções perpétuas dYdX, NFT L2 Immutable, mercado de negociação de cartões digitais esportivos Sorare e agregador DeFi multi-chain rhino.fi.
StarkNet é um L2 sem permissão onde qualquer pessoa pode implantar contratos inteligentes desenvolvidos na linguagem Cairo. Os contratos implantados na StarkNet podem interagir entre si para construir novos protocolos combináveis. Ao contrário do StarkEx, onde os aplicativos são responsáveis pelo envio de transações, o sequenciador da StarkNet agrupa as transações e as envia para processamento e certificação. StarkNet é mais adequado para protocolos que precisam interagir de forma síncrona com outros protocolos ou que estão além do escopo das aplicações StarkEx. À medida que o desenvolvimento da StarkNet avança, os aplicativos baseados em StarkEx poderão ser portados para a StarkNet e desfrutar da capacidade de composição.
Comparação entre ZK-SNARK e ZK-STARK

4.3 ZK-SNARK recursivo
Os rollups normais de ZK só podem processar um bloco de transações, o que limita o número de transações que podem processar. O ZK-SNARK recursivo pode verificar mais de um bloco de transação, mesclar os SNARKs gerados por diferentes blocos L2 em um único certificado de validade e enviá-lo à cadeia L1. Uma vez que o contrato on-chain L1 aceita a prova enviada, todas essas transações se tornam válidas, aumentando enormemente o número de transações que podem ser concluídas com provas de conhecimento zero.
Plonky2 é um novo mecanismo de prova do Polygon Zero que usa ZK-SNARKs recursivos para aumentar as transações. SNARKs recursivos estendem o processo de geração de provas agregando diversas provas em uma prova recursiva. Plonky2 usa a mesma tecnologia para reduzir o tempo de geração de novas provas de bloco. O Plonky2 gera provas para milhares de transações em paralelo e depois as agrega recursivamente em uma prova de bloco, de modo que a velocidade de geração é muito rápida. O mecanismo de prova comum tenta gerar toda a prova do bloco de uma só vez, o que é ainda menos eficiente. Além disso, o Plonky2 também pode gerar provas em dispositivos de consumo, resolvendo o problema de centralização de hardware frequentemente associado às provas SNARK.
5. Acúmulo de Conhecimento Zero VS Acúmulo Otimista
ZK-SNARK e ZK-STARK se tornaram a infraestrutura central dos projetos de expansão de blockchain, especialmente a solução Zero Knowledge Rollup. Zero-Knowledge Rollup refere-se a uma solução de expansão de segunda camada para Ethereum que usa tecnologia de prova de conhecimento zero para transferir todos os cálculos para processamento fora da cadeia para reduzir o congestionamento da rede. A principal vantagem do Zero Knowledge Rollup é que ele pode aumentar muito o rendimento da transação do Ethereum, ao mesmo tempo que mantém as taxas de transação baixas e, uma vez que a transação é empacotada no rollup, ela pode ser determinada imediatamente.
Além do Zero Knowledge Rollup, o atual plano de expansão L2 da Ethereum também inclui o Optimistic Rollup. As transações executadas no Optimistic Rollup são válidas e executadas imediatamente por padrão. Somente quando uma transação fraudulenta for descoberta (alguém apresenta prova de fraude) a transação será revertida. Portanto, a segurança é inferior ao Zero Knowledge Rollup. Para evitar transações fraudulentas, o Optimistic Rollup tem um período de desafio após o qual a transação precisa ser finalizada. Isso pode fazer com que os usuários tenham que esperar um pouco antes de recuperar seus fundos.
O uso de tecnologia à prova de conhecimento zero não foi considerado quando o EVM foi originalmente projetado. Vitalik, o fundador da Ethereum, acredita que o Zero Knowledge Rollup será tecnicamente complexo no curto prazo, mas acabará por derrotar o Optimistic Rollup na guerra de expansão. A seguir está uma comparação entre Zero Knowledge Rollup e Optimistic Rollup.
 Fonte:SUSS NiFT, ChatGPT
6. Qual é a perspectiva futura da tecnologia à prova de conhecimento zero?
O campo da tecnologia de prova de conhecimento zero está numa posição única: nos últimos anos, muito esforço tem sido dedicado ao avanço da investigação neste campo, e muitos dos resultados são bastante novos no campo da criptografia e das comunicações seguras. Portanto, muitas questões interessantes ainda precisam ser respondidas pelas comunidades acadêmicas e de desenvolvedores. Ao mesmo tempo, a tecnologia de conhecimento zero é utilizada em diversos projetos, demonstrando os desafios da tecnologia de conhecimento zero e ampliando seus requisitos.
Uma área de preocupação para a tecnologia à prova de conhecimento zero é a discussão da segurança pós-quântica da tecnologia à prova de conhecimento zero. SNARKs (Argumentos de Conhecimento Sucintos Não Interativos) publicamente verificáveis são um componente chave no campo das tecnologias de conhecimento zero. No entanto, os esquemas SNARK verificáveis publicamente mais amplamente utilizados não são considerados seguros quânticos. Os exemplos incluem Groth16, Sonic, Marlin, SuperSonic e Spartan. Estas soluções baseiam-se em problemas matemáticos que podem ser efetivamente resolvidos com a ajuda de computadores quânticos, o que compromete enormemente a sua segurança num mundo pós-quântico.
Descobrimos que a comunidade acadêmica está procurando ativamente por provas de conhecimento zero seguras em termos quânticos que possam ser usadas para uma variedade de declarações sem um estágio de pré-processamento. Exemplos atuais de provas de conhecimento zero seguras e quânticas de última geração incluem esquemas como Ligero, Aurora, Fractal, Lattice Bulletproofs e LPK22. Ligero, Aurora e Fractal são baseados em funções hash, enquanto Lattice Bulletproofs e LKP22 são baseados em funções de rede. Ambas as funções são consideradas quânticas seguras. Tornou-se uma tendência promover estes programas e melhorar a sua eficiência.
Outra expectativa que temos para o futuro da tecnologia de conhecimento zero é a sua capacidade de resistir a ataques e a maturidade do código relacionado à implementação. Dado o aumento na quantidade de código escrito, haverá bibliotecas mais seguras e controladas e práticas recomendadas para várias técnicas de prova de conhecimento zero. É claro que no futuro haverá erros mais comuns que aguardarão para serem descobertos e comunicados. Esperamos que o campo amadureça e se torne altamente adotado, com esforços para padronizar protocolos e garantir a interoperabilidade entre diferentes implementações.Um projeto chamado ZKProof já começou a fazer isso.
Outra tendência que continuará a existir na comunidade tecnológica de conhecimento zero é mais trabalho em algoritmos eficientes e possivelmente em hardware especial. Nos últimos anos, temos visto o tamanho das provas diminuir e os provadores e verificadores se tornarem mais eficientes. Avanços em algoritmos, hardware especial e otimização computacional podem levar a implementações mais rápidas e escaláveis.
Embora a eficiência dos algoritmos existentes beneficie os futuros usuários da tecnologia de prova de conhecimento zero, também esperamos ver as capacidades das provas de conhecimento zero continuarem a se expandir. No passado, encontramos muitos casos de implementação de ZK-SNARKs pré-processados. Agora estamos vendo cada vez mais instâncias ZK-SNARK escaláveis. Além disso, algumas técnicas de prova de conhecimento zero são usadas mais pela sua simplicidade do que pelas suas capacidades de conhecimento zero.
Finalmente, outra tendência na tecnologia de prova de conhecimento zero é a interseção do aprendizado de máquina e da prova de conhecimento zero (ZKML). A ideia requer o treinamento de grandes modelos de linguagem em um ambiente multipartidário e o uso de técnicas de conhecimento zero para verificar os cálculos. Isto é muito útil para a inteligência artificial atual. Há potencial para surgirem projetos nesta área.
Conclusão
Este artigo foi co-escrito por membros da Blockchain Security Alliance. Através da introdução deste artigo, podemos compreender a ampla aplicação, caminhos técnicos, tendências de desenvolvimento e desafios da prova de conhecimento zero no campo blockchain. Acredita-se que, com o desenvolvimento da tecnologia de hardware e da criptografia, as provas de conhecimento zero alcançarão mais avanços no futuro, fornecendo serviços de aplicativos mais rápidos e seguros para o mundo digital.
Ver original
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.
Uma interpretação aprofundada da aplicação da tecnologia de prova de conhecimento zero: a terceira grande inovação tecnológica na história do desenvolvimento de blockchain
autor:
Pesquisador @Jesse_meta, Nó de Finanças Inclusivas, SUSS NiFT, Universidade de Ciências Sociais de Cingapura
Pesquisador de Beosina @EatonAshton2
Pesquisador de segurança de menor autoridade @kaplannie
Independentemente de as informações serem armazenadas na Internet ou em arquivos off-line, sejam intencionais ou acidentais, os incidentes de vazamento de informações são comuns hoje em dia e nem é preciso dizer. Desde que a informação seja armazenada centralmente, existe sempre o risco de um único ponto de ataque. Enquanto o processo de verificação exigir um terceiro de confiança, haverá riscos éticos e ineficiências. A solução para a segurança da informação é crucial e urgente. A tecnologia à prova de conhecimento zero permite que os usuários concluam a verificação com mais eficiência e segurança, ao mesmo tempo que protegem sua privacidade.
Se o Bitcoin é a primeira grande invenção que o blockchain traz para o mundo real, fornecendo uma nova maneira de armazenar valor, e os contratos inteligentes do Ethereum são o segundo grande marco, liberando o potencial de inovação, então a aplicação de provas de conhecimento zero é o maior A terceira maior inovação tecnológica na história do desenvolvimento de blockchain, trazendo privacidade e escalabilidade. Esta não é apenas uma parte importante do ecossistema Web3, mas também uma importante tecnologia básica que tem o potencial de promover mudanças sociais.
Este artigo apresenta os cenários de aplicação, princípios de funcionamento, status de desenvolvimento e tendências futuras da prova de conhecimento zero da perspectiva de uma pessoa não técnica, a fim de permitir que leitores sem formação técnica entendam as principais mudanças que a prova de conhecimento zero está prestes a fazer. trazer.
1. O que é prova de conhecimento zero?
A prova de conhecimento zero (ZKP) é um protocolo matemático proposto pela primeira vez no artigo "A complexidade do conhecimento das provas interativas" de 1985, de coautoria de Shafi Goldwasser, Silvio Micali e Charles Rackoff. Exceto por um certo fato a ser provado, haverá não haverá divulgação de qualquer outra informação. O verificador não tem acesso às informações secretas que geraram a prova. Deixe-me dar um exemplo para ajudá-lo a entender: quero provar que conheço o número de telefone de alguém. Só preciso poder discar o número de telefone dessa pessoa na frente de todos para provar esse fato, sem revelar o número real dessa pessoa. As provas de conhecimento zero fornecem uma maneira eficiente e quase isenta de riscos de compartilhar dados. Usando provas de conhecimento zero, podemos manter a propriedade dos dados, melhorar significativamente a proteção da privacidade e, esperançosamente, tornar as violações de dados uma coisa do passado.
A prova de conhecimento zero tem três características:
integridade
Se uma afirmação for verdadeira, os verificadores honestos serão convencidos pelos provadores honestos. Ou seja, o que é certo não pode estar errado.
racionalidade
Se uma afirmação for falsa, na grande maioria dos casos um provador enganoso não pode fazer com que um verificador honesto acredite na afirmação falsa. Ou seja, o que está errado não pode estar certo.
conhecimento zero
Se uma afirmação for verdadeira, o verificador não pode obter nenhuma informação adicional além de que a afirmação é verdadeira.
As provas de conhecimento zero têm uma probabilidade muito pequena de produzir erros razoáveis, ou seja, um provador trapaceiro pode fazer o verificador acreditar em uma afirmação errada. A prova de conhecimento zero é uma prova probabilística, não uma prova determinística, mas podemos reduzir o erro racional a insignificante através de algumas técnicas.
2. Aplicação da prova de conhecimento zero
Os dois cenários de aplicação mais importantes de prova de conhecimento zero são privacidade e escalabilidade.
2.1 Privacidade
As provas de conhecimento zero permitem aos usuários compartilhar com segurança as informações necessárias para obter bens e serviços sem revelar dados pessoais, protegendo-os de hackers e do vazamento de informações de identificação pessoal. Com a integração gradual dos campos digital e físico, a função de proteção da privacidade da prova de conhecimento zero tornou-se crucial para a segurança da informação na Web3 e mesmo fora da Web3. Sem prova de conhecimento zero, as informações do usuário existirão em um banco de dados confiável de terceiros e serão potencialmente vulneráveis a ataques de hackers. O primeiro caso de aplicação de prova de conhecimento zero no blockchain é a moeda de privacidade Zcash, que é usada para ocultar detalhes de transações.
2.1.1 Proteção e verificação de informações de identidade
Em atividades online, muitas vezes precisamos fornecer informações como nome, data de nascimento, e-mail e senhas complexas para comprovar que somos usuários com permissões legais. Portanto, muitas vezes deixamos informações confidenciais online que não queremos divulgar. Hoje em dia, não é incomum recebermos ligações fraudulentas nos chamando pelos nossos nomes, o que mostra que o vazamento de informações pessoais é muito grave.
Podemos usar a tecnologia blockchain para dar a cada pessoa um identificador digital criptografado especial que contém dados pessoais. Este identificador digital permite a construção de uma identidade descentralizada e é impossível de forjar ou alterar sem o conhecimento do seu titular. A identidade descentralizada permite aos usuários controlar o acesso às identidades pessoais, comprovar a cidadania sem revelar detalhes do passaporte, simplificar o processo de autenticação e reduzir a ocorrência de perda de acesso dos usuários devido ao esquecimento de senhas. As provas de conhecimento zero são geradas a partir de dados públicos que podem comprovar a identidade do usuário e dados privados com informações do usuário, e podem ser usadas para verificação de identidade quando os usuários acessam os serviços. Isto não só reduz o complicado processo de verificação, melhora a experiência do usuário, mas também evita o armazenamento centralizado das informações do usuário.
Além disso, as provas de conhecimento zero também podem ser utilizadas para construir sistemas de reputação privados, permitindo às agências de serviços verificar se os utilizadores cumprem determinados padrões de reputação sem revelar as suas identidades. Os usuários podem exportar sua reputação anonimamente de plataformas como Facebook, Twitter e Github, enquanto mascaram a conta de origem específica.
2.1.2 Pagamento anônimo
Os detalhes das transações pagas com cartões bancários são geralmente visíveis para várias partes, incluindo provedores de pagamento, bancos e governos. Isso expõe a privacidade dos cidadãos comuns até certo ponto, e os usuários precisam confiar que as partes relevantes não farão o mal.
As criptomoedas podem permitir que pagamentos sejam feitos sem terceiros, permitindo transações diretas entre pares. No entanto, as transacções nas principais cadeias públicas são actualmente visíveis publicamente.Embora os endereços dos utilizadores sejam anónimos, as identidades do mundo real ainda podem ser encontradas através da análise de dados de endereços associados na cadeia e de dados fora da cadeia, tais como troca de informações KYC e Twitter. Se você souber o endereço da carteira de uma pessoa, poderá verificar o saldo da sua conta bancária a qualquer momento, o que pode até representar uma ameaça à identidade e propriedade do usuário.
A prova de conhecimento zero pode fornecer pagamentos anônimos em três níveis: moedas de privacidade, aplicativos de privacidade e cadeias públicas de privacidade. A moeda de privacidade Zcash oculta detalhes da transação, incluindo remetente, endereço do destinatário, tipo de ativo, quantidade e hora. Tornado Cash é um aplicativo descentralizado no Ethereum que usa prova de conhecimento zero para ofuscar detalhes de transações para fornecer transferências privadas (mas também é frequentemente usado por hackers para lavar dinheiro). Aleo é um blockchain L1 projetado para fornecer recursos de privacidade para aplicativos em nível de protocolo.
2.1.3 Conduta honesta
As provas de conhecimento zero podem promover um comportamento honesto e, ao mesmo tempo, preservar a privacidade. O protocolo pode exigir que os usuários enviem provas de conhecimento zero para provar seu comportamento honesto. Devido à racionalidade das provas de conhecimento zero (o que está errado não pode estar certo), os usuários devem agir honestamente de acordo com os requisitos do protocolo antes de poderem enviar provas válidas.
MACI (Minimal Anti-Collusion Infrastructure) é um cenário de aplicação que promove a honestidade e evita o conluio durante a votação em cadeia ou outras formas de tomada de decisão. O sistema utiliza pares de chaves e tecnologia de prova de conhecimento zero para atingir esse objetivo. No MACI, os usuários registram suas chaves públicas em um contrato inteligente e enviam seus votos ao contrato por meio de mensagens criptografadas. O recurso anticonluio do MACI permite que os eleitores alterem suas chaves públicas para evitar que outros conheçam suas escolhas de voto. O coordenador utiliza uma prova de conhecimento zero ao final do período de votação para comprovar que processou todas as mensagens corretamente, e o resultado final da votação é a soma de todos os votos válidos. Isso garante a integridade e justiça do voto.
2.1.4 Verificação de informações pessoais
Quando queremos obter um empréstimo, podemos obter um certificado digital de renda da empresa para solicitar o empréstimo. A legitimidade desta prova pode ser facilmente verificada criptograficamente. O banco pode usar uma prova de conhecimento zero para verificar se nossa renda atinge o mínimo exigido, mas não obterá informações específicas sensíveis.
2.1.5 Combinando aprendizado de máquina para aproveitar o potencial dos dados privados
Ao treinar modelos de aprendizado de máquina, geralmente são necessárias grandes quantidades de dados. Ao usar provas de conhecimento zero, os proprietários de dados podem provar que seus dados atendem aos requisitos para treinamento de modelo sem realmente expor os dados. Isso ajuda a colocar dados privados para funcionar e monetizá-los.
Além disso, as provas de conhecimento zero podem permitir que os criadores de modelos provem que seus modelos atendem a determinadas métricas de desempenho sem expor os detalhes do modelo para evitar que outros copiem ou adulterem seus modelos.
2.2 Extensível
À medida que o número de usuários do blockchain aumenta, uma grande quantidade de cálculos é necessária no blockchain, causando congestionamento nas transações. Algumas blockchains seguirão o caminho de expansão da fragmentação, mas isso requer um grande número de modificações complexas na camada base da blockchain, o que pode ameaçar a segurança da blockchain. Outra solução mais viável é seguir a rota ZK-Rollup, usar cálculos verificáveis, terceirizar os cálculos para entidades de outra cadeia para execução e, em seguida, enviar a prova de conhecimento zero e os resultados verificáveis à cadeia principal para verificação. A prova de conhecimento zero garante a autenticidade da transação. A cadeia principal só precisa atualizar o resultado para o estado. Não há necessidade de armazenar detalhes ou repetir cálculos, e não há necessidade de esperar que outros discutam a autenticidade do transação, o que melhora muito a eficiência e a escalabilidade. Os desenvolvedores podem usar provas de conhecimento zero para projetar dapps de nós leves que podem ser executados em hardware comum, como telefones celulares, o que é mais propício para que o Web3 alcance as massas.
A extensão da prova de conhecimento zero pode ser aplicada tanto à rede de primeira camada, como o protocolo Mina, quanto à rede de segunda camada ZK-rollups.
3. Como funciona a prova de conhecimento zero
Dmitry Laverenov (2019) divide as estruturas de prova de conhecimento zero em interativas e não interativas.
3.1 Prova interativa de conhecimento zero
A forma básica de prova interativa de conhecimento zero consiste em três etapas: evidência, desafiante e resposta
Evidência: A informação secreta oculta é a evidência do provador. Essas evidências configuram uma série de questões que só podem ser respondidas corretamente por quem conhece a informação. O provador começa a selecionar perguntas aleatoriamente e envia as respostas calculadas ao verificador para prova.
Desafio: O verificador escolhe aleatoriamente outra pergunta do conjunto e pede ao provador que a responda.
Resposta: O provador aceita a pergunta, calcula a resposta e devolve o resultado ao verificador. A resposta do provador permite ao verificador verificar se o provador conhece a evidência.
Este processo pode ser repetido várias vezes até que a probabilidade de o provador adivinhar a resposta correta sem conhecer a informação secreta se torne suficientemente baixa. Para dar um exemplo matemático simplificado, se a probabilidade de o provador conseguir adivinhar a resposta correta sem conhecer a informação secreta for 1/2, e a interação for repetida dez vezes, a probabilidade de o provador acertar cada vez é de apenas 9,7 em 10.000.Se você quiser verificar A possibilidade de uma pessoa endossar por engano uma certificação falsa é extremamente baixa.
3.2 Prova de conhecimento zero não interativa
As provas interativas de conhecimento zero têm limitações. Por um lado, o provador e o verificador precisam existir ao mesmo tempo e realizar verificações repetidas. Por outro lado, cada cálculo de uma nova prova exige que o provador e o verificador passem por um teste. conjunto de informações. A prova não pode ser reutilizada em verificação independente.
Para resolver as limitações das provas interativas de conhecimento zero, Manuel Blum, Paul Feldman e Silvio Micali propuseram provas não interativas de conhecimento zero, nas quais o provador e o verificador compartilham a chave, e apenas uma rodada de verificação é necessária para tornar a prova de conhecimento zero comprovadamente mais eficaz. O provador calcula as informações secretas por meio de um algoritmo especial para gerar uma prova de conhecimento zero e a envia ao verificador. O verificador usa outro algoritmo para verificar se o provador conhece a informação secreta. Depois que essa prova de conhecimento zero for gerada, qualquer pessoa com a chave compartilhada e o algoritmo de verificação poderá verificá-la.
A prova de conhecimento zero não interativa é um grande avanço na tecnologia de prova de conhecimento zero e promove o desenvolvimento dos atuais sistemas de prova de conhecimento zero. Os principais métodos são ZK-SNARK e ZK-STARK.
4. Principais caminhos técnicos da prova de conhecimento zero
Alchemy (2022) divide os caminhos técnicos da prova de conhecimento zero em ZK-SNARK, ZK-STARK e ZK-SNARK recursivo.
4.1 ZK-SNARK
ZK-SNARKs são uma prova de conhecimento zero concisa e não interativa.

Para que uma cadeia pública garanta a exatidão das transações executadas na rede, isso precisa ser conseguido fazendo com que outros computadores (nós) executem novamente cada transação. No entanto, este método fará com que cada nó execute novamente cada transação, o que tornará a rede mais lenta e limitará a escalabilidade. Os nós também devem armazenar dados de transações, fazendo com que o tamanho do blockchain cresça exponencialmente.
Para essas restrições, entra em jogo o ZK-SNARK. Ele pode provar a exatidão dos cálculos realizados fora da cadeia, sem exigir que os nós repitam cada etapa do cálculo. Isso também elimina a necessidade de nós armazenarem dados de transações redundantes e aumenta o rendimento da rede.
Usar SNARK para verificar cálculos fora da cadeia codifica o cálculo em uma expressão matemática para formar uma prova de validade. O verificador verifica a exatidão da prova. Se a prova passar em todas as verificações, o cálculo subjacente será considerado válido. O tamanho de uma prova de validade é muitas vezes menor do que o cálculo que ela verifica, por isso chamamos SNARKs de sucintos.
A maioria dos ZK Rollups usando ZK-SNARK segue as etapas a seguir.
O usuário L2 assina a transação e a envia ao verificador.
O verificador usa criptografia para compactar múltiplas transações para gerar certificados de validade correspondentes (SNARKs).
O contrato inteligente na cadeia L1 verifica o certificado de validade e determina se este lote de transações é publicado na cadeia principal.
Vale ressaltar que o ZK-SNARK requer configurações confiáveis. Nesta fase, o gerador de chaves utiliza um programa e um parâmetro secreto para gerar duas chaves públicas utilizáveis, uma para criar a prova e outra para verificar a prova. Essas duas chaves públicas só precisam gerar parâmetros públicos uma vez por meio de uma cerimônia de configuração confiável e podem ser usadas diversas vezes pelas partes que desejam participar do protocolo de conhecimento zero. Os usuários precisam confiar que os participantes em rituais de configuração confiáveis não são maus e não há como avaliar a honestidade dos participantes. Conhecer os parâmetros secretos pode gerar provas falsas e enganar o verificador, portanto existem riscos potenciais de segurança. Atualmente existem pesquisadores explorando soluções ZK-SNARK que não requerem suposições de confiança.
Vantagem
O rollup ZK é considerado uma solução de expansão mais segura do que o rollup OP porque o ZK-SNARK usa um mecanismo avançado de segurança de criptografia, o que torna difícil enganar os verificadores e conduzir comportamentos maliciosos.
ZK-SNARK reduz a quantidade de cálculos na parte inferior do Ethereum, aliviando o congestionamento da rede principal. Os cálculos fora da cadeia compartilham os custos de transação, trazendo velocidades de transação mais rápidas.
O pequeno tamanho das provas SNARK facilita sua verificação na cadeia principal, o que significa que a taxa do gás para verificação de transações fora da cadeia é menor, reduzindo o custo para os usuários.
limitações
Confiar em uma configuração confiável na maioria das vezes. Isso vai contra a intenção original do blockchain de remover a confiança.
A geração de provas de validade com ZK-SNARKs é um processo computacionalmente intensivo e o provador deve investir em hardware especializado. Esses hardwares são caros e apenas algumas pessoas podem comprá-los, portanto o processo de prova do ZK-SNARK é altamente centralizado.
2.ZK-SNARK usa criptografia de curva elíptica (ECC) para criptografar as informações usadas para gerar provas de validade. Atualmente é relativamente seguro, mas os avanços na computação quântica podem quebrar seu modelo de segurança.
Projetos usando ZK SNARK
Polígono Hermez
A Polygon adquiriu a Hermez por US$ 250 milhões em 2021, tornando-se a primeira fusão e aquisição abrangente de duas redes blockchain. A tecnologia e as ferramentas ZK que Hermez trouxe para a base de usuários em rápido crescimento da Polygon permitiram que a Polygon ganhasse suporte no desenvolvimento do zkEVM. Hermez 1.0 é uma plataforma de pagamento que executa um lote de transações fora da cadeia, permitindo aos usuários transferir facilmente tokens ERC-20 de uma conta Hermez para outra conta Hermez, com até 2.000 transações por segundo.
Hermez 2.0 atua como um zkEVM de conhecimento zero para executar transações Ethereum de forma transparente, incluindo contratos inteligentes com verificação de conhecimento zero. É totalmente compatível com Ethereum e não requer muitas alterações no código do contrato inteligente, tornando conveniente para os desenvolvedores implantarem projetos L1 no Polygon Hermez. Hermez 1.0 usa provas SNARK e 2.0 usa provas SNARK e STARK. No 2.0, a prova STARK é usada para provar a validade das transações fora da cadeia. No entanto, o custo de verificação da prova STARK na cadeia principal é muito alto, então a prova SNARK é introduzida para verificar o STARK.
zkSync
O zkSync 1.0, lançado pela Matter Labs em 2020, não oferece suporte a contratos inteligentes e é usado principalmente para transações ou transferências. ZkSync 2.0, que oferece suporte a contratos inteligentes, será lançado publicamente na rede principal em março de 2023.
ZkSync compila o código-fonte do contrato inteligente Solidity on Ethereum em Yul para obter compatibilidade com EVM. Yul é uma linguagem intermediária que pode ser compilada em bytecode para diferentes EVMs. O código Yul pode ser recompilado em um conjunto de bytecode personalizado e compatível com circuito projetado para zkEVM do zkSync usando a estrutura do compilador LLVM. Essa abordagem elimina a necessidade de realizar provas zk por meio de código de nível superior para todas as etapas da execução do EVM, facilitando a descentralização do processo de prova enquanto mantém o alto desempenho. No futuro, o suporte para Rust, Java ou outras linguagens poderá ser adicionado através da construção de novos front-ends de compilador, aumentando a flexibilidade da arquitetura zkEVM e alcançando mais desenvolvedores.
asteca
Aztec é o primeiro zkRollup híbrido, permitindo a execução de contratos inteligentes públicos e privados em um ambiente. Este é um ambiente de execução de conhecimento zero, não zkEVM. A confidencialidade é alcançada através da fusão de execuções públicas e privadas em um único rollup híbrido, como transações privadas para AMMs públicos, conversas privadas em jogos públicos, votação privada para DAOs públicos e muito mais.
4.2 ZK-STARK
ZK-STARK não requer uma configuração confiável. ZK-STARK é a abreviatura de Zero-Knowledge Scalable Transparent Argument of Knowledge. Comparado com o ZK-SNARK, o ZK-STARK possui melhor escalabilidade e transparência.

Vantagem
O ZK-STARK verifica publicamente a aleatoriedade para substituir configurações confiáveis, reduzindo a dependência dos participantes e melhorando a segurança do protocolo.
Embora a complexidade dos cálculos subjacentes aumente exponencialmente, o ZK-STARK ainda mantém tempos de prova e verificação mais baixos, em vez de um crescimento linear como o ZK-SNARK.
ZK-STARK usa valores de hash resistentes a colisões para criptografia em vez do esquema de curva elíptica usado no ZK-SNARK, que é resistente a ataques de computação quântica.
limitações
O tamanho da prova do ZK-STARK é maior, tornando a verificação na rede principal mais bem-sucedida.
ZK-SNARK é a primeira aplicação prática de prova de conhecimento zero no blockchain, portanto, a maioria dos rollups ZK usa ZK-SNARK, que possui sistemas e ferramentas de desenvolvedor mais maduros. Embora o ZK-STARK também seja apoiado pela Fundação Ethereum, a sua taxa de adoção é insuficiente e as ferramentas básicas precisam ser melhoradas.
Quais projetos usam ZK-STARK?
Polígono Miden
Polygon Miden, uma solução de escalonamento baseada em Ethereum L2, aproveita a tecnologia zk-STARK para integrar um grande número de transações L2 em uma única transação Ethereum, aumentando assim o poder de processamento e reduzindo os custos de transação. Sem fragmentação, o Polygon Miden pode gerar um bloco em 5 segundos e seu TPS pode chegar a mais de 1.000. Após a fragmentação, seu TPS pode chegar a 10.000. Os usuários podem sacar fundos do Polygon Miden para Ethereum em apenas 15 minutos. A função principal do Polygon Miden é uma máquina virtual Turing-complete baseada em STARK - Miden VM, que facilita a verificação formal de contratos.
StarkEx e StarkNet
StarkEx é uma estrutura para soluções de extensão de licenciamento personalizadas para aplicações específicas. Os projetos podem usar StarkEx para realizar cálculos fora da cadeia de baixo custo e gerar provas STARK que comprovam a correção da execução. Essa prova contém de 12.000 a 500.000 transações. Por fim, a prova é enviada ao validador STARK na cadeia, e a atualização do status é aceita após a verificação estar correta. Os aplicativos implantados na StarkEx incluem opções perpétuas dYdX, NFT L2 Immutable, mercado de negociação de cartões digitais esportivos Sorare e agregador DeFi multi-chain rhino.fi.
StarkNet é um L2 sem permissão onde qualquer pessoa pode implantar contratos inteligentes desenvolvidos na linguagem Cairo. Os contratos implantados na StarkNet podem interagir entre si para construir novos protocolos combináveis. Ao contrário do StarkEx, onde os aplicativos são responsáveis pelo envio de transações, o sequenciador da StarkNet agrupa as transações e as envia para processamento e certificação. StarkNet é mais adequado para protocolos que precisam interagir de forma síncrona com outros protocolos ou que estão além do escopo das aplicações StarkEx. À medida que o desenvolvimento da StarkNet avança, os aplicativos baseados em StarkEx poderão ser portados para a StarkNet e desfrutar da capacidade de composição.
Comparação entre ZK-SNARK e ZK-STARK

4.3 ZK-SNARK recursivo
Os rollups normais de ZK só podem processar um bloco de transações, o que limita o número de transações que podem processar. O ZK-SNARK recursivo pode verificar mais de um bloco de transação, mesclar os SNARKs gerados por diferentes blocos L2 em um único certificado de validade e enviá-lo à cadeia L1. Uma vez que o contrato on-chain L1 aceita a prova enviada, todas essas transações se tornam válidas, aumentando enormemente o número de transações que podem ser concluídas com provas de conhecimento zero.
Plonky2 é um novo mecanismo de prova do Polygon Zero que usa ZK-SNARKs recursivos para aumentar as transações. SNARKs recursivos estendem o processo de geração de provas agregando diversas provas em uma prova recursiva. Plonky2 usa a mesma tecnologia para reduzir o tempo de geração de novas provas de bloco. O Plonky2 gera provas para milhares de transações em paralelo e depois as agrega recursivamente em uma prova de bloco, de modo que a velocidade de geração é muito rápida. O mecanismo de prova comum tenta gerar toda a prova do bloco de uma só vez, o que é ainda menos eficiente. Além disso, o Plonky2 também pode gerar provas em dispositivos de consumo, resolvendo o problema de centralização de hardware frequentemente associado às provas SNARK.
5. Acúmulo de Conhecimento Zero VS Acúmulo Otimista
ZK-SNARK e ZK-STARK se tornaram a infraestrutura central dos projetos de expansão de blockchain, especialmente a solução Zero Knowledge Rollup. Zero-Knowledge Rollup refere-se a uma solução de expansão de segunda camada para Ethereum que usa tecnologia de prova de conhecimento zero para transferir todos os cálculos para processamento fora da cadeia para reduzir o congestionamento da rede. A principal vantagem do Zero Knowledge Rollup é que ele pode aumentar muito o rendimento da transação do Ethereum, ao mesmo tempo que mantém as taxas de transação baixas e, uma vez que a transação é empacotada no rollup, ela pode ser determinada imediatamente.
Além do Zero Knowledge Rollup, o atual plano de expansão L2 da Ethereum também inclui o Optimistic Rollup. As transações executadas no Optimistic Rollup são válidas e executadas imediatamente por padrão. Somente quando uma transação fraudulenta for descoberta (alguém apresenta prova de fraude) a transação será revertida. Portanto, a segurança é inferior ao Zero Knowledge Rollup. Para evitar transações fraudulentas, o Optimistic Rollup tem um período de desafio após o qual a transação precisa ser finalizada. Isso pode fazer com que os usuários tenham que esperar um pouco antes de recuperar seus fundos.
O uso de tecnologia à prova de conhecimento zero não foi considerado quando o EVM foi originalmente projetado. Vitalik, o fundador da Ethereum, acredita que o Zero Knowledge Rollup será tecnicamente complexo no curto prazo, mas acabará por derrotar o Optimistic Rollup na guerra de expansão. A seguir está uma comparação entre Zero Knowledge Rollup e Optimistic Rollup.
 Fonte:SUSS NiFT, ChatGPT
6. Qual é a perspectiva futura da tecnologia à prova de conhecimento zero?
O campo da tecnologia de prova de conhecimento zero está numa posição única: nos últimos anos, muito esforço tem sido dedicado ao avanço da investigação neste campo, e muitos dos resultados são bastante novos no campo da criptografia e das comunicações seguras. Portanto, muitas questões interessantes ainda precisam ser respondidas pelas comunidades acadêmicas e de desenvolvedores. Ao mesmo tempo, a tecnologia de conhecimento zero é utilizada em diversos projetos, demonstrando os desafios da tecnologia de conhecimento zero e ampliando seus requisitos.
Uma área de preocupação para a tecnologia à prova de conhecimento zero é a discussão da segurança pós-quântica da tecnologia à prova de conhecimento zero. SNARKs (Argumentos de Conhecimento Sucintos Não Interativos) publicamente verificáveis são um componente chave no campo das tecnologias de conhecimento zero. No entanto, os esquemas SNARK verificáveis publicamente mais amplamente utilizados não são considerados seguros quânticos. Os exemplos incluem Groth16, Sonic, Marlin, SuperSonic e Spartan. Estas soluções baseiam-se em problemas matemáticos que podem ser efetivamente resolvidos com a ajuda de computadores quânticos, o que compromete enormemente a sua segurança num mundo pós-quântico.
Descobrimos que a comunidade acadêmica está procurando ativamente por provas de conhecimento zero seguras em termos quânticos que possam ser usadas para uma variedade de declarações sem um estágio de pré-processamento. Exemplos atuais de provas de conhecimento zero seguras e quânticas de última geração incluem esquemas como Ligero, Aurora, Fractal, Lattice Bulletproofs e LPK22. Ligero, Aurora e Fractal são baseados em funções hash, enquanto Lattice Bulletproofs e LKP22 são baseados em funções de rede. Ambas as funções são consideradas quânticas seguras. Tornou-se uma tendência promover estes programas e melhorar a sua eficiência.
Outra expectativa que temos para o futuro da tecnologia de conhecimento zero é a sua capacidade de resistir a ataques e a maturidade do código relacionado à implementação. Dado o aumento na quantidade de código escrito, haverá bibliotecas mais seguras e controladas e práticas recomendadas para várias técnicas de prova de conhecimento zero. É claro que no futuro haverá erros mais comuns que aguardarão para serem descobertos e comunicados. Esperamos que o campo amadureça e se torne altamente adotado, com esforços para padronizar protocolos e garantir a interoperabilidade entre diferentes implementações.Um projeto chamado ZKProof já começou a fazer isso.
Outra tendência que continuará a existir na comunidade tecnológica de conhecimento zero é mais trabalho em algoritmos eficientes e possivelmente em hardware especial. Nos últimos anos, temos visto o tamanho das provas diminuir e os provadores e verificadores se tornarem mais eficientes. Avanços em algoritmos, hardware especial e otimização computacional podem levar a implementações mais rápidas e escaláveis.
Embora a eficiência dos algoritmos existentes beneficie os futuros usuários da tecnologia de prova de conhecimento zero, também esperamos ver as capacidades das provas de conhecimento zero continuarem a se expandir. No passado, encontramos muitos casos de implementação de ZK-SNARKs pré-processados. Agora estamos vendo cada vez mais instâncias ZK-SNARK escaláveis. Além disso, algumas técnicas de prova de conhecimento zero são usadas mais pela sua simplicidade do que pelas suas capacidades de conhecimento zero.
Finalmente, outra tendência na tecnologia de prova de conhecimento zero é a interseção do aprendizado de máquina e da prova de conhecimento zero (ZKML). A ideia requer o treinamento de grandes modelos de linguagem em um ambiente multipartidário e o uso de técnicas de conhecimento zero para verificar os cálculos. Isto é muito útil para a inteligência artificial atual. Há potencial para surgirem projetos nesta área.
Conclusão
Este artigo foi co-escrito por membros da Blockchain Security Alliance. Através da introdução deste artigo, podemos compreender a ampla aplicação, caminhos técnicos, tendências de desenvolvimento e desafios da prova de conhecimento zero no campo blockchain. Acredita-se que, com o desenvolvimento da tecnologia de hardware e da criptografia, as provas de conhecimento zero alcançarão mais avanços no futuro, fornecendo serviços de aplicativos mais rápidos e seguros para o mundo digital.