O poder das provas de conhecimento zero: mergulho profundo nos zk-SNARKs

12/28/2023, 4:28:45 AM
Avançado
Blockchain
Este artigo fornece insights técnicos detalhados sobre zk-SNARKs.

Este artigo irá decodificar esta tecnologia usando a matemática, ilustrando como ela pode provar a veracidade do conhecimento sem revelar qualquer informação.

Compilado por: DODO Research

Autor: Cofundador da 0xAlpha @DeriProtocol

Introdução

Zk-SNARK, ou argumento de conhecimento sucinto e não interativo de conhecimento zero, permite que um verificador confirme que um provador possui certo conhecimento (chamado de testemunhas) que satisfaz relacionamentos específicos sem revelar qualquer informação sobre o conhecimento em si.

A geração de um zk-SNARK para um problema específico envolve as quatro etapas a seguir:

  • Converta um problema (ou função) em um circuito aritmético.
  • Este circuito é então traduzido em uma equação matricial.
  • Esta equação matricial é posteriormente convertida em um polinômio que deve ser divisível por um polinômio mínimo específico.
  • Finalmente, esta divisibilidade é expressa em pontos de curva elíptica sobre um corpo finito, onde ocorre a prova.

Os três primeiros passos apenas transformam a representação da afirmação original. A última etapa projeta a declaração da terceira etapa em um espaço criptografado usando criptografia homomórfica, permitindo ao provador verificar as declarações espelhadas nele contidas. Dado que esta projeção utiliza criptografia assimétrica, não é viável voltar da declaração da etapa 3 para a declaração original, garantindo exposição de conhecimento zero.

A formação matemática necessária para ler este artigo é comparável ao nível de álgebra esperado dos estudantes universitários STEM do primeiro ano. O único conceito que pode ser desafiador pode ser a criptografia de curva elíptica. Para quem não está familiarizado com isto, pode pensar nela como uma função exponencial com uma base especial, tendo em mente que a sua inversa permanece sem solução.

Este artigo seguirá as seguintes regras de notação:

Matrizes: letras maiúsculas em negrito, por exemplo A; escrito em formas explícitas \
Vetores: Letra minúscula com setas, escrita de forma explícita [ ]; todos os vetores são vetores de coluna por padrão \
Escalares: representados por letras regulares

Tomemos como exemplo a seguinte questão:

f(x)=x^3+x^2+5 (1)

Suponha que Alice queira provar que conhece uma verdade. Percorreremos todo o procedimento que Alice precisa realizar para gerar um zk-SNARK para sua prova.
Esta questão pode parecer muito simples porque não envolve fluxo de controle (por exemplo, if-then-else). Entretanto, não é difícil converter funções com fluxo de controle em expressões aritméticas. Por exemplo, considere o seguinte problema (ou “função” em linguagens de programação):

f(x, z):
se(z==1):
retornar xxx+xx+5
outro:
retornar xx
+5

Reescrever este problema na seguinte expressão aritmética (assumindo que z pertence a (0,1)) não é mais complexo do que a equação (1).

f(x,z)=(z-1)(x^2+5)+z(x^3+x^2+5)

Neste artigo, continuaremos a usar a equação (1) como base para nossa discussão.

Etapa 1: Circuito Aritmético

A equação (1) pode ser dividida nas seguintes operações aritméticas básicas:

Isso corresponde ao seguinte circuito aritmético:

Também nos referimos à equação (2) como um conjunto de 4 “restrições primárias”, cada restrição descrevendo a relação de uma porta aritmética no circuito. Em geral, um conjunto de n restrições primárias pode ser resumido como um programa aritmético quadrático (QAP), que será explicado a seguir.

Etapa 2: Matriz

Primeiro, vamos definir um vetor “testemunha” da seguinte forma:

onde y, s1, s2 e s3 são definidos como na equação (2).
Normalmente, para um problema com m entradas e n portas aritméticas (ou seja, n-1 etapas intermediárias e a saída final), este vetor testemunha será (m+n+1) dimensional. Em casos do mundo real, o número n pode ser extremamente grande. Por exemplo, para funções hash, n geralmente está na casa dos milhares.

A seguir, vamos construir três n(m+n+1) matrizes A,B,C para que possamos reescrever a equação (2) da seguinte forma:

A equação (3) é apenas mais uma representação da equação (2): cada conjunto (ai, bi, ci) corresponde a uma porta do circuito. Podemos ver isso expandindo explicitamente a equação matricial:

Portanto, LHS=RHS é exatamente igual à equação (2), e cada linha da equação matricial corresponde a uma restrição primária (isto é, uma porta aritmética no circuito).

Pulamos as etapas de construção (A, B, C), que na verdade são relativamente simples. Precisamos apenas convertê-los em matriz de acordo com as restrições primárias correspondentes para determinar o conteúdo de cada linha de (A, B, C), ou seja, (ai, bi, ci). Tomando a primeira linha como exemplo: podemos facilmente ver que para tornar a primeira restrição primária x multiplicada por x igual a s1, precisamos multiplicar [0,1,0,0,0], [0, 1,0, 0,0] e [0,0,0,1,0,0] pelo vetor s.

Assim, convertemos com sucesso o circuito aritmético em uma equação matricial, nomeadamente a equação (3). Ao mesmo tempo, também alteramos o objeto que precisa ser provado para ser dominado para os vetores testemunhas.

Etapa 3: Polinômios

Agora, vamos construir uma matriz n(n+m+*1) PA, que define um conjunto de polinômios em relação a z:

Garantindo que a funçãoassume os seguintes valores em {1, 2, 3, 4} satisfaz as condições:

Então podemos reescrever A como:

São quatro conjuntos de equações lineares envolvendo seis variáveis que podem ser resolvidas usando métodos tradicionais. Porém, uma forma mais eficiente de resolver PA neste caso é a interpolação Lagrangiana, que explora as peculiaridades do problema. Aqui pulamos o processo de resolução de PA, que é um pouco tedioso, mas direto.

Da mesma forma, construímos PB e PC separadamente para B e C. Então podemos reescrever a equação matricialdo seguinte modo:

Observando cada linha separadamente, fica evidente que essas quatro linhas correspondem à mesma expressão avaliada em quatro pontos diferentes. Portanto, a equação matricial acima é equivalente a:

Etapa 3: Ponto da Curva Elíptica

Reescreva a equação (4) como:

onde i(z)=1 é apenas um polinômio trivial de grau zero em z usado para unificar as equações - todos os termos são quadráticos. A necessidade disso ficará clara em breve. Observe que esta equação contém apenas a adição e multiplicação de polinômios em z.

Observe que as operações aritméticas, adição (+) e multiplicação (X), também são mapeadas para operações correspondentes no corpo finito de pontos de curva elíptica. Os símbolos e são usados para evitar confusão e indicar que se trata de operações de campo redefinidas.

A seguir, explicaremos as etapas práticas com mais detalhes.

Criptografia de curva elíptica

A teoria geral das curvas elípticas vai muito além do escopo deste artigo. Para os propósitos deste documento, uma curva elíptica é definida como mapeamentos de um campo principal Fp para a função E, onde E inclui pontos tais que y^2=x^3+ax+b (chamados pontos de curva elíptica, ou ECPs, para abreviar) .

Observe que, embora tenhamos discutido aritmética regular até agora, ao fazer a transição para um corpo primo, as operações aritméticas com números são realizadas usando aritmética modular. Por exemplo, a+b=a+b(mod p), onde p é a ordem de Fp.

Por outro lado, a adição de dois pontos de curva elíptica é definida conforme mostrado abaixo:

Especificamente, a adição de P e Q de duas ECPs:

Encontre a intersecção da linha PQ e da curva R e defina-a como -(P+Q)
Vire para o ponto “espelho” R' de R na curva.
Portanto definimos a adição de pontos de curva elíptica P+Q=R':

Observe que esta regra também se aplica ao caso especial em que é utilizada a adição de um ECP, caso em que será utilizada a tangente a esse ponto.

Agora suponha que selecionamos aleatoriamente um ponto G e mapeamos o número 1 para ele. (Este “mapeamento inicial” parece um pouco arbitrário. Discutiremos isso mais tarde). E para qualquer n pertencente a Fp, definimos:

E(N)=G+G+G+…..+G=G multiplicado por n

Existe uma expressão de operação. Defina a operação +G como “gerador”, denotado como g. Então a definição acima é equivalente a:

Após definir a adição, a seguinte relação linear torna-se evidente:

Portanto, qualquer relacionamento linear (ou restrição) em Fp será preservado no espaço criptografado B através deste mapeamento. Por exemplo, a equação l + m = n em Fp levará a

Contudo, como a equação (5) que Alice quer provar está na forma quadrática, ela não é suficientemente linear. Para lidar com termos quadráticos, precisamos definir a multiplicação no espaço criptografado. Isso é chamado de emparelhamento ou mapa bilinear, que explicarei na seção a seguir.

Mapa bilinear

Suponha que G1, G2 e GT sejam grupos de ordem prima g. Uma função de emparelhamento, ou mapa bilinear, é definida da seguinte forma:

String de referência comum

Este conjunto é denominado “chave de prova” (PK). Observe que a representação de vetores dentro de E() deve ser entendida como vetores de pontos de curvas elípticas, onde cada ponto é mapeado a partir do elemento vetorial correspondente. Assim, esses 11 vetores compreendem, na verdade, 62 (=42+63+63+63) pontos de curva elíptica. Estas 62 PAE serão fornecidas a Alice, a provadora. Em um cenário geral, para um problema com m entradas en restrições primárias, o PK conterá 2n + 3(m+n+1)*3 = 11n + 9m + 9 ECPs.

Simultaneamente, serão realizados os seguintes cálculos:

Todo o processo é denominado “chave de verificação” (VK). Apenas 7 pontos de curva elíptica (ECPs) estão envolvidos aqui, os quais precisam ser fornecidos ao verificador. Deve-se notar que não importa quantas entradas e restrições primárias estejam envolvidas no problema, o VK é sempre composto por 7 ECPs.

Além disso, vale ressaltar que a “configuração confiável” e o processo de geração de PK e VK só precisam ser feitos uma vez para um problema específico.

Prova e Verificação

Agora possuindo a chave pública (PK), Alice irá calcular os seguintes pontos da curva elíptica (ECPs):

Esses 9 pontos da curva elíptica são cruciais para um argumento de conhecimento sucinto e não interativo de conhecimento zero (zk-SNARK)!

Observe que Alice está essencialmente realizando combinações lineares nos pontos da curva elíptica na chave pública. Isto é particularmente crítico e será rigorosamente verificado durante a verificação.

Agora, Alice apresenta a prova zk-SNARK, levando-nos finalmente ao processo de verificação, que acontece em três etapas.

Primeiro, é necessário confirmar que os primeiros 8 pontos da curva elíptica são de fato combinações lineares desses pontos na cadeia de referência comum.

Isenção de responsabilidade:

  1. Este artigo foi reimpresso de [chaincatcher]. Todos os direitos autorais pertencem ao autor original [0xAlpha Cofundador @ DeriProtocol]. 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.

Compartilhar

Calendário Cripto

Atualizações de projeto
Etherex lançará o Token REX em 6 de agosto.
REX
22.27%
2025-08-06
Dia Raro de Desenvolvimento e Governança em Las Vegas
A Cardano irá sediar o Rare Dev & Governance Day em Las Vegas, de 6 a 7 de agosto, com workshops, hackatonas e discussões em painel focadas em desenvolvimento técnico e tópicos de governança.
ADA
-3.44%
2025-08-06
Blockchain.Rio no Rio de Janeiro
A Stellar participará da conferência Blockchain.Rio, programada para acontecer no Rio de Janeiro, de 5 a 7 de agosto. O programa incluirá palestras e discussões em painéis com representantes do ecossistema Stellar em colaboração com os parceiros Cheesecake Labs e NearX.
XLM
-3.18%
2025-08-06
Webinar
A Circle anunciou um webinar ao vivo intitulado "A Era do Ato GENIUS Começa", agendado para 7 de agosto de 2025, às 14:00 UTC. A sessão explorará as implicações do recém-aprovado Ato GENIUS—o primeiro marco regulatório federal para moedas estáveis de pagamento nos Estados Unidos. Dante Disparte e Corey Then, da Circle, liderarão a discussão sobre como a legislação impacta a inovação em ativos digitais, a clareza regulatória e a liderança dos EUA na infraestrutura financeira global.
USDC
-0.03%
2025-08-06
AMA no X
Ankr realizará um AMA no X no dia 7 de agosto às 16:00 UTC, focando no trabalho do DogeOS em construir a camada de aplicação para DOGE.
ANKR
-3.23%
2025-08-06

Artigos Relacionados

O que é Bitcoin?
iniciantes

O que é Bitcoin?

Bitcoin, a primeira criptomoeda usada com sucesso no mundo, é uma rede descentralizada de pagamento digital peer-to-peer inventada por Satoshi Nakamoto. O Bitcoin permite que os usuários negociem diretamente sem uma instituição financeira ou terceiros.
11/21/2022, 10:12:36 AM
O que é o PolygonScan e como você pode usá-lo? (Atualização 2025)
iniciantes

O que é o PolygonScan e como você pode usá-lo? (Atualização 2025)

PolygonScan é um explorador de blockchain que permite aos usuários acessar detalhes de transações publicamente compartilhados na rede Polygon. Na atualização de 2025, agora processa mais de 5 bilhões de transações com confirmações em milissegundos, apresenta ferramentas de desenvolvedor aprimoradas, integração com Layer 2, análises avançadas, recursos de segurança melhorados e uma experiência móvel redesenhada. A plataforma ajuda os usuários a rastrear transações e obter insights mais profundos sobre o fluxo de ativos no crescente ecossistema da Polygon, que agora abriga 3,2 milhões de endereços ativos diários e $8,7 bilhões em valor total bloqueado.
11/11/2023, 6:20:25 PM
O que é EtherVista, o autoproclamado "Novo Padrão para DEX"?
intermediário

O que é EtherVista, o autoproclamado "Novo Padrão para DEX"?

Este artigo fornece uma análise aprofundada da emergente exchange descentralizada (DEX) EtherVista e seu token de plataforma, VISTA. Explora como a EtherVista visa desafiar o modelo existente de AMM (Automated Market Maker), especialmente o da Uniswap, por meio de seus mecanismos de negociação exclusivos e modelo de distribuição de taxas. O artigo também explora os contratos inteligentes da EtherVista, a tokenomia e como atrai usuários ao oferecer taxas de gás baixas e um inovador sistema de distribuição de receitas.
9/10/2024, 3:49:43 PM
O que é Coti? Tudo o que você precisa saber sobre o COTI
iniciantes

O que é Coti? Tudo o que você precisa saber sobre o COTI

Coti (COTI) é uma plataforma descentralizada e escalonável que oferece suporte a pagamentos sem atrito para finanças tradicionais e moedas digitais.
11/2/2023, 9:09:18 AM
O que é Tronscan e como você pode usá-lo em 2025?
iniciantes

O que é Tronscan e como você pode usá-lo em 2025?

Tronscan é um explorador de blockchain que vai além do básico, oferecendo gerenciamento de carteira, rastreamento de tokens, insights de contratos inteligentes e participação em governança. Até 2025, evoluiu com recursos de segurança aprimorados, análises expandidas, integração entre cadeias e experiência móvel aprimorada. A plataforma agora inclui autenticação biométrica avançada, monitoramento de transações em tempo real e um painel abrangente de DeFi. Os desenvolvedores se beneficiam da análise de contratos inteligentes alimentados por IA e ambientes de teste aprimorados, enquanto os usuários desfrutam de uma visualização unificada de portfólio multi-cadeias e navegação baseada em gestos em dispositivos móveis.
11/22/2023, 6:27:42 PM
O que é Neiro? Tudo o que você precisa saber sobre NEIROETH em 2025
intermediário

O que é Neiro? Tudo o que você precisa saber sobre NEIROETH em 2025

Neiro é um cachorro da raça Shiba Inu que inspirou o lançamento de tokens Neiro em diferentes blockchains. Em 2025, o Neiro Ethereum (NEIROETH) evoluiu para uma das principais moedas meme com um valor de mercado de $215 milhões, mais de 87.000 detentores e listagens em 12 grandes exchanges. O ecossistema agora inclui um DAO para governança comunitária, uma loja oficial de mercadorias e um aplicativo móvel. NEIROETH implementou soluções de camada 2 para melhorar a escalabilidade e consolidou sua posição entre as 10 principais moedas meme temáticas de cachorro por capitalização de mercado, apoiado por uma comunidade vibrante e influenciadores cripto líderes.
9/5/2024, 3:37:06 PM
Comece agora
Inscreva-se e ganhe um cupom de
$100
!