Provas de conhecimento zero: o futuro do Ethereum

iniciantesJan 10, 2024
Este artigo explora a tecnologia e as aplicações das provas de conhecimento zero.
Provas de conhecimento zero: o futuro do Ethereum

A Prova de Conhecimento Zero foi proposta por S. Goldwasser, S. Micali e C. Rackoff no início dos anos 1980.

Refere-se à capacidade do provador de convencer o verificador de que uma determinada afirmação está correta, sem fornecer qualquer informação útil ao verificador. Ou seja, o provador prova ao verificador e o faz acreditar que conhece ou possui determinada mensagem, mas o processo de prova não pode revelar nenhuma informação sobre a mensagem comprovada ao verificador.

Jogo de verificação de Sudoku

O jogo de verificação Sudoku é um exemplo clássico de prova de conhecimento zero, escrito por Aviv Zohar, líder das equipes fundadoras dos dois protocolos Ghost e Spectre.

A provadora Alice quer provar ao verificador Bob que conhece a solução para um determinado jogo de Sudoku, mas não quer revelar o conteúdo específico da solução ao verificador Bob. A prova pode ser obtida através do seguinte processo:

  1. Alice escreve 9 grupos de números de 1 a 9 em 81 cartões e os organiza de acordo com a solução quando Bob os evita, com os números do quebra-cabeça voltados para cima e os números das respostas voltados para baixo;

  1. Bob seleciona aleatoriamente um dos três métodos de verificação: linha, coluna ou caixa;

  1. Sob o testemunho de Bob, Alice coloca 81 cartas em 9 sacos opacos em grupos de cada linha/coluna/palácio de acordo com a escolha de Bob, embaralha a ordem das cartas em cada saco e as entrega a Bob;

  1. Bob abre 9 sacolas. Se cada sacola contiver 9 números não repetidos de 1 a 9, essa verificação será aprovada.

A probabilidade de Alice enganar Bob com sucesso adivinhando antecipadamente qual método de verificação (linha/coluna/casa) Bob escolherá é 1/3. Portanto, Bob pode selecionar aleatoriamente diferentes métodos de verificação a cada vez e repetir o processo de prova acima várias vezes até que Bob acredite que Alice conhece a solução para o jogo Sudoku e Bob não conhece nenhuma informação específica sobre a solução durante todo o processo.

O que o jogo acima quer provar é a solução para um problema de Sudoku. Alice pede a Bob para selecionar aleatoriamente linhas, colunas e cartões de grade de nove quadrados de cada vez, reuni-los e embaralhá-los aleatoriamente. Bob não pode saber a solução para o problema abrindo a sacola, mas pode acreditar que Alice tem uma alta probabilidade de saber a solução para o problema.

Como Alice e Bob podem passar na verificação de Bob após várias rodadas de interação, isso é chamado de prova interativa de conhecimento zero. A prova interativa de conhecimento zero exige que o verificador Bob envie continuamente experimentos aleatórios após a provadora Alice colocar a resposta (compromisso).

Suponha que exista uma máquina de prova não interativa de Sudoku de conhecimento zero. Esta máquina basicamente automatiza as provas de Sudoku de Alice e Bob, não necessitando mais de interação humana.

Alice só precisa colocar o cartão na esteira, e a máquina escolherá automaticamente coletar os cartões por linha, coluna ou palácio, colocá-los na sacola fora de ordem e, em seguida, enviar a sacola pela esteira. Bob pode então abrir a sacola e revelar as cartas dentro dela.

A máquina possui um painel de controle que se abre para uma série de botões que indicam a seleção (linha, coluna, palácio) para cada tentativa.

Isso é chamado de Conhecimento Zero Não Interativo (NIZK), mas exigirá algumas máquinas ou programas adicionais e uma sequência de testes que não pode ser conhecida por ninguém. Com tal programa e sequência de teste, a máquina de prova pode calcular automaticamente uma prova e evitar que qualquer parte falsifique.

Princípios técnicos

A prova de conhecimento zero envolve muitas teorias matemáticas e de criptografia, incluindo conteúdo de teoria da complexidade computacional, como modelos computacionalmente/estatisticamente indistinguíveis, simuladores e Oracle aleatório. Para facilitar a compreensão, descrevemos as três propriedades básicas do protocolo de prova de conhecimento zero em uma linguagem mais popular como segue:

  1. Completude: Se o provador sabe que a evidência pode provar a correção da proposição, o verificador pode confiar nela com alta probabilidade.
  2. Solidez: É difícil para um provador malicioso enganar o verificador com uma proposição errada.
  3. Conhecimento zero: Após a execução do processo de prova, o verificador obtém apenas a informação de que o provador possui esse conhecimento, mas não obtém nenhuma informação sobre o conhecimento em si.

“Conhecimento” versus “Informação”

  1. “Conhecimento” está relacionado com “dificuldade computacional”, mas “informação” não;
  2. O “conhecimento” está relacionado com o que é publicamente conhecido, enquanto a “informação” está principalmente relacionada com coisas que são parcialmente públicas.

Prova de conhecimento zero originada do protocolo de prova interativo. Tomando o protocolo Schnorr como exemplo para analisar os princípios e características da prova interativa de conhecimento zero. O protocolo Schnorr é um protocolo de autenticação de identidade e também é usado atualmente por muitos esquemas de assinatura digital PKI.

PKI é a abreviatura de Infraestrutura de Chave Pública. É uma tecnologia e especificação compatível com padrões que utiliza tecnologia de criptografia de chave pública para fornecer uma plataforma básica segura para o desenvolvimento do comércio eletrônico.

No protocolo Schnorr, o provador A prova que possui a chave privada sk correspondente à chave pública pk interagindo três vezes com o verificador B, mas o verificador B não consegue obter a informação da chave privada sk durante todo o processo.

Os protocolos interativos de prova de conhecimento zero dependem de tentativas aleatórias do verificador e exigem múltiplas interações entre o provador e o verificador para serem concluídos. A prova de conhecimento zero não interativa reduz o número de interações para uma, permitindo a prova offline e a verificação pública. Por exemplo, em cenários de aplicação de prova de conhecimento zero, como blockchain, a prova geralmente precisa ser publicada diretamente, em vez de depender de implementação interativa, e precisa oferecer suporte à verificação off-line pública multipartidária.

Existem atualmente três algoritmos convencionais na tecnologia de prova de conhecimento zero:

zk-SNARK

zk-SNARK (Argumentos de conhecimento sucintos e não interativos de conhecimento zero) é um esquema universal de prova de conhecimento zero amplamente utilizado. Ao converter qualquer processo de cálculo na forma de vários circuitos de porta, e usar uma série de propriedades matemáticas de polinômios para converter circuitos de porta em polinômios e, em seguida, gerar provas não interativas, que podem realizar a aplicação de vários cenários de negócios complexos. Atualmente, o zk-SNARK foi implementado em campos de blockchain, como moeda digital e finanças de blockchain, e é atualmente uma das soluções universais de prova de conhecimento zero mais maduras.

O lançamento do zk-SNARK requer uma configuração confiável. Uma configuração confiável significa que, em uma configuração confiável, várias partes geram, cada uma, uma chave parcial para iniciar a rede e, em seguida, destruir a chave. Se os segredos das chaves usadas para criar a configuração de confiança não forem destruídos, esses segredos poderão ser explorados para falsificar transações por meio de verificações falsas.

zk-STARK

zk-STARK (Zero-Knowledge Succinct Transparent Arguments of Knowledge), representando argumentação de conhecimento concisa e transparente de conhecimento zero), é uma evolução técnica do algoritmo zk-SNARK, que resolve a fraqueza do SNARK confiando em configurações confiáveis e não depende nele. Qualquer confiança é configurada para completar a verificação do blockchain, reduzindo assim a complexidade do lançamento da rede e eliminando qualquer risco de conluio.

À prova de balas

Bulletproofs (protocolo Short Non-interactive Zero-knowledge Proofs) leva em consideração as vantagens de SNARKs e STARKs, pode ser executado sem uma configuração confiável e pode reduzir o tamanho das provas criptográficas de mais de 10kB para menos de 1kB, a taxa de compactação atinge mais de 80%, ao mesmo tempo que reduz as taxas de transação em 80%. Ele atraiu grande atenção na área devido às suas taxas de transação relativamente baixas, tamanho do algoritmo e falta de confiança.

Aplicação de prova de conhecimento zero

A prova de conhecimento zero pode garantir a segurança dos dados e resolver muitos problemas de privacidade. O processo de prova requer um pequeno cálculo e a quantidade de informações trocadas entre ambas as partes é bastante reduzida. Tem as vantagens de segurança e eficiência. As provas de conhecimento zero foram inicialmente usadas com frequência em verificação de identidade, assinaturas digitais, protocolos de autenticação, etc. O surgimento do blockchain forneceu novas direções para a aplicação de provas de conhecimento zero.

Escala Ethereum

O Blockchain não consegue atender às necessidades atuais devido aos seus próprios problemas de desempenho. Espera-se que soluções de escalonamento baseadas em conhecimento zero resolvam o gargalo de desempenho do blockchain. O escalonamento refere-se ao aumento da velocidade e do rendimento das transações sem sacrificar a descentralização e a segurança. ZK-Rollups é uma solução de escalonamento de Camada 2 baseada em prova de conhecimento zero. Ele melhora o rendimento do blockchain transferindo cálculos para a cadeia, ou seja, empacotando um grande número de transações em um bloco Rollup e gerando um bloco válido para o bloco fora da cadeia. O contrato inteligente na Camada 1 só precisa verificar a prova para aplicar diretamente o novo estado, o que pode alcançar menor gás e maior segurança na cadeia.

Proteção de privacidade

No contexto do blockchain, as provas de conhecimento zero podem ser usadas para verificar a validade das transações sem revelar o remetente, o destinatário, o valor envolvido e outros dados confidenciais na transação. Portanto, as provas de conhecimento zero desempenham um papel importante na proteção da privacidade dos dados na cadeia. As aplicações típicas incluem privacidade L2, cadeias públicas de privacidade, moedas de privacidade e privacidade KYC.

Aztec Network é o primeiro projeto de blockchain de privacidade de Camada 2 no Ethereum, com o objetivo de fornecer privacidade e escalabilidade para aplicativos centralizados. Aztec usa um modelo UTXO semelhante ao princípio da conta Bitcoin. Neste modelo, a nota é a unidade básica de operação do protocolo. Quando um ativo é negociado, o valor da nota é criptografado, a propriedade da nota muda e o registro de notas registrará o status de cada nota. Os ativos AZTEC do usuário estão todos no registro de notas. A soma de tickets válidos pertencentes a este endereço de usuário.

Aleo é a primeira plataforma a fornecer aplicativos completos de proteção de privacidade e é uma rede pública baseada na proteção de privacidade à prova de conhecimento zero. O núcleo do Aleo é ZEXE, que é uma computação privada descentralizada DPC (computação privada descentralizada), que separa cálculo e consenso, fornece zkCloud para executar transações fora da cadeia e envia a prova para a cadeia após a execução da transação. Uma vez que apenas as provas são submetidas à cadeia, é tecnicamente impossível que alguém veja ou explore o conhecimento de quaisquer detalhes da transação, permitindo assim a privacidade da transação.

Zcash é apelidado de criador das moedas de privacidade. A privacidade das transações confidenciais depende de funções hash e cifras de fluxo na criptografia padrão. O remetente, o destinatário e o volume da transação no registro da transação são criptografados na cadeia. Os usuários podem escolher se desejam fornecer a terceiros uma chave de visualização (somente aqueles com essa chave podem ver o conteúdo da transação) e usar zk-SNARKs fora da cadeia para verificar a validade da transação.

zkPass é uma solução KYC descentralizada baseada em computação multipartidária segura e provas de conhecimento zero, permitindo aos usuários provar anonimamente suas reivindicações de identidade a terceiros por meio de credenciais de identidade Web2. Por exemplo, a plataforma de cadeia de aliança de arquivos de integridade Ufile Chain é uma plataforma blockchain de aliança com foco na autenticação, armazenamento, circulação, confirmação de direitos e proteção de privacidade de informações pessoais. É um sistema de cadeia de alianças com instituições autorizadas, como universidades, empresas e departamentos governamentais, como nós principais. Ufile Chain usa tecnologia à prova de conhecimento zero para garantir a privacidade e segurança das informações pessoais. Os usuários de dados só podem obter informações limitadas relacionadas aos seus negócios, garantindo que seja difícil para os usuários de dados obter informações completas e eficazes em texto simples. Ninguém, incluindo funcionários do UfileChain, pode obter informações pessoais válidas do usuário.

Resumo

Graças ao desenvolvimento de aplicações tecnológicas emergentes, como blockchain e computação de privacidade nos últimos anos, a tecnologia à prova de conhecimento zero tornou-se uma tecnologia importante para construir confiança e uma parte indispensável do organismo blockchain.

Em essência, a tecnologia de prova de conhecimento zero pode desconfiar do blockchain e trazê-lo de suposições econômicas para suposições baseadas em criptografia para expandir ainda mais funções nativas, como disponibilidade de dados fora da cadeia e carteiras de contas abstratas nativas, especialmente para Ethereum. Ele fornece uma solução, ou mesmo a única solução, para os problemas relacionados à escalabilidade e à proteção da privacidade que cadeias subjacentes como a Fang estão enfrentando.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [web3朱大胆]. Todos os direitos autorais pertencem ao autor original [小猪Go]. Se houver objeções a esta reimpressão, entre em contato com a equipe do Gate Learn e eles cuidarão disso imediatamente.
  2. Isenção de responsabilidade: As opiniões e pontos de vista expressos neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe do Gate Learn. A menos que mencionado, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
learn.articles.start.now
learn.articles.start.now.voucher
learn.articles.create.account