Lição 2

Como Funcionam os Coprocessadores ZK

Aprofundando-se, este módulo detalha a arquitetura dos coprocessadores ZK, incluindo motores provadores, zkVMs e contratos de verificação. Ele também compara ferramentas de desenvolvimento chave como Circom, Noir, Risc Zero e SP1, utilizando exemplos do mundo real como Axiom e Bonsai para explicar a geração de provas e a execução sem confiança.

Arquitetura central: motor Prover, contrato de verificação, zkVM

Um coprocessador ZK é projetado para descarregar a computação da blockchain enquanto mantém a verificabilidade. Em sua essência, a arquitetura consiste em três componentes principais: o mecanismo provedor, o contrato verificador e a máquina virtual (zkVM ou tempo de execução do circuito).

O motor de provadores é responsável por executar a computação fora da cadeia e gerar uma prova criptográfica de que a computação foi realizada corretamente. Este motor recebe dados de entrada, os processa através de uma lógica ou programa definido e gera uma prova sucinta de conhecimento zero. O provador geralmente é um processo pesado, exigindo recursos computacionais como CPUs ou GPUs, dependendo do tipo de sistema de prova sendo utilizado.

O contrato de verificador é implantado na blockchain e é leve por design. Seu único propósito é validar a correção da prova submetida. Ele contém a chave de verificação, que é derivada matematicamente da mesma lógica usada pelo provador. Quando o contrato inteligente recebe uma prova, ele a verifica em relação à chave e confirma se o resultado é válido. Este processo é rápido e barato em comparação com a execução do cálculo completo na blockchain.

O zkVM ou circuito aritmético define a lógica do programa. Ele atua como o ambiente de execução para o provador. Em alguns sistemas, este é um circuito personalizado escrito em uma DSL de baixo nível, enquanto outros usam máquinas virtuais completas que podem interpretar código em linguagens de alto nível. Juntas, essas componentes possibilitam a execução off-chain sem confiança e a verificação on-chain sucinta.

Circom, Noir, Risc Zero, SP1: Linguagens e máquinas virtuais

Várias ferramentas e estruturas surgiram para apoiar o desenvolvimento de coprocessadores ZK. Circom é uma das linguagens de circuito mais antigas e amplamente utilizadas. Permite que os desenvolvedores definam circuitos aritméticos usando uma sintaxe declarativa. Esses circuitos são então compilados em sistemas de prova, como Groth16 ou PLONK. Circom é conhecido por sua flexibilidade, mas possui uma curva de aprendizado acentuada e requer design manual de circuitos.

Noir é uma linguagem mais recente projetada para tornar o desenvolvimento ZK acessível. Desenvolvida pela Aztec, Noir é uma linguagem semelhante ao Rust que abstrai grande parte da complexidade dos sistemas de restrição. Ela compila automaticamente em circuitos de conhecimento zero, tornando mais fácil escrever programas privados com uma sintaxe legível.

Além das linguagens, os zkVMs estão ganhando atenção por sua capacidade de executar código de uso geral em um ambiente amigável para ZK. Risc Zero oferece uma das implementações de zkVM mais avançadas. Ele emula o conjunto de instruções RISC-V e permite que os desenvolvedores executem qualquer programa escrito em Rust ou C como uma prova de conhecimento zero. O SP1, desenvolvido pela Succinct, adota uma abordagem semelhante, mas visa otimizar o desempenho e a portabilidade entre sistemas de prova.

Esses ambientes são cruciais porque determinam quão expressivos, eficientes e compostáveis os coprocessadores ZK podem ser. Embora circuitos de baixo nível continuem sendo úteis para aplicações críticas de desempenho, os zkVMs estão possibilitando uma adoção mais ampla pelos desenvolvedores e uma iteração mais rápida.

Exemplo de fluxo: Como Axiom ou Bonsai executa a lógica ZK

Para entender como um coprocessador ZK funciona na prática, considere o fluxo de execução de um sistema como Axiom ou Bonsai da Risc Zero.

No modelo da Axiom, um desenvolvedor define uma consulta sobre dados históricos do Ethereum — por exemplo, verificando se um usuário manteve um saldo específico em um bloco passado. Essa consulta é enviada ao coprocessador off-chain da Axiom. O coprocessador busca os dados on-chain relevantes, processa a consulta e executa a lógica usando um zkVM. Uma vez que a computação é concluída, o coprocessador gera uma prova de conhecimento zero que atesta a correção do resultado. Esta prova é submetida on-chain a um contrato de verificação, que valida e permite que um contrato inteligente use o resultado com total confiança.

O Bonsai da Risc Zero segue uma estrutura semelhante, mas generaliza o processo. Os desenvolvedores escrevem a lógica de suas aplicações em uma linguagem de alto nível como Rust. Esse código é compilado em uma imagem zkVM e executado fora da cadeia usando a infraestrutura do Bonsai. Após a execução, uma prova é gerada e pode ser postada de volta a qualquer blockchain através de um verificador on-chain.

Essa arquitetura permite que os desenvolvedores construam lógicas poderosas e minimizadas em confiança sem sobrecarregar a blockchain. Também possibilita provas reutilizáveis e compostas que podem servir a múltiplos contratos ou aplicações.

O que torna as provas confiáveis e verificáveis

A força de um coprocessador ZK reside no modelo de confiança que ele possibilita. Ao contrário de oráculos centralizados ou provedores de computação off-chain, os coprocessadores ZK não exigem que os usuários confiem na entidade que realiza a computação. Em vez disso, a confiança é transferida para a matemática.

O núcleo dessa confiança vem da estrutura das provas de conhecimento zero. Essas provas são projetadas para que qualquer computação inválida, mesmo um único bit incorreto, resulte em uma verificação falhada. O contrato de verificação não pode ser enganado para aceitar um resultado falso, assumindo que as suposições criptográficas se mantenham.

Além disso, como o verificador só precisa das entradas públicas, da prova e da chave de verificação, não há dependência da identidade ou do comportamento do provador. Qualquer terceiro pode gerar a prova e, desde que passe na verificação, ela é aceita. Isso significa que os provadores podem ser descentralizados, sem permissão e até mesmo incentivados, o que é uma característica que é explorada mais a fundo em redes de prova.

Ao combinar garantias criptográficas com a finalidade da blockchain, os coprocessadores ZK permitem uma nova camada de execução sem confiança que não depende de serviços centralizados, reputação ou consenso multisig.

Papel em DeFi, cross-chain e ecossistemas L2

Os coprocessadores ZK estão ganhando tração real em áreas onde a computação precisa ser minimizada em confiança, eficiente em custos ou privada. No DeFi, eles podem calcular preços médios ponderados pelo tempo, ativos detidos ao longo do tempo ou modelos de risco personalizados sem armazenar todos os dados na cadeia. Isso permite contratos financeiros mais inteligentes sem aumentar os custos de gás ou sobrecarregar a blockchain.

Em aplicações cross-chain, os coprocessadores ZK podem servir como clientes leves. Em vez de operar nós completos para cada cadeia, as aplicações podem verificar uma prova sucinta do estado de outra cadeia. Isso simplifica drasticamente as pontes e os protocolos de mensagens, melhorando tanto a segurança quanto a interoperabilidade.

Os ecossistemas de Layer 2 também estão adotando coprocessadores ZK como uma forma de otimizar a lógica de rollup. Em vez de executar cada interação dentro do circuito de rollup, os rollups podem delegar tarefas específicas, como detecção de fraudes, verificação de oráculos ou lógica definida pelo usuário, para coprocessadores ZK externos. Isso reduz os custos de prova e torna os rollups mais modulares.

Os coprocessadores ZK estão, assim, emergindo como componentes de infraestrutura essenciais. Eles ampliam o que as blockchains podem fazer sem comprometer a descentralização ou o desempenho. À medida que as ferramentas e os ambientes de execução amadurecem, é provável que se tornem opções padrão na pilha de desenvolvimento para qualquer aplicação descentralizada avançada.

Isenção de responsabilidade
* O investimento em criptomoedas envolve grandes riscos. Prossiga com cautela. O curso não se destina a servir de orientação para investimentos.
* O curso foi criado pelo autor que entrou para o Gate Learn. As opiniões compartilhadas pelo autor não representam o Gate Learn.