Uma rede de provas é uma camada de infraestrutura off-chain que coordena a geração, verificação e entrega de provas de conhecimento zero em aplicações de blockchain. Ela serve como o tecido conectivo entre coprocessadores ZK e a camada de blockchain, garantindo que as provas geradas off-chain possam ser validadas de forma eficiente on-chain de maneira escalável e descentralizada.
Os coprocessadores ZK são capazes de produzir provas criptográficas para computação arbitrária. No entanto, esses sistemas precisam de uma forma de direcionar as provas para os ambientes on-chain corretos, gerenciar as dependências de dados e garantir que as provas sejam geradas a tempo e com integridade. As redes de provas atendem a essas necessidades ao atuar como camadas descentralizadas ou semi-desenralizadas que gerenciam provadores, verificadores e componentes de orquestração relacionados.
Em vez de cada contrato inteligente, rollup ou aplicação ter sua própria infraestrutura de provadores isolada, as redes de prova permitem que várias entidades acessem um ecossistema compartilhado de provadores. Isso reduz a duplicação, diminui os custos e cria um ecossistema mais modular e composto para aplicações de conhecimento zero.
O papel de uma rede de prova é receber uma prova gerada por um coprocessador ZK e entregá-la a um verificador on-chain em um formato que possa ser consumido por contratos inteligentes. Este processo envolve várias etapas, frequentemente abstraídas do usuário final.
Primeiro, o utilizador ou contrato submete um pedido a um coprocessador ZK através de uma interface ou API. O coprocessador executa a lógica necessária e gera uma prova. Em vez de publicar a prova diretamente na blockchain, ela é enviada a um coordenador de rede de provas, que garante que a prova é válida, associada ao cálculo correto e não duplicada.
Uma vez validada, a rede de prova publica a prova na blockchain ou a devolve ao utilizador ou relayer, que a inclui numa transação. O contrato inteligente recebe a prova e verifica-a usando uma chave de verificação pré-carregada. Se a verificação for bem-sucedida, o contrato continua a sua lógica com base no resultado confiável.
Esta arquitetura torna a infraestrutura ZK escalável e composicional. Em vez de codificar circuitos ou sistemas de prova específicos em cada contrato inteligente, os desenvolvedores podem contar com uma rede de prova para servir como a camada de middleware, conectando a computação off-chain às transições de estado on-chain.
Uma rede de prova típica inclui vários papéis funcionais. Os provadores são responsáveis por gerar as provas criptográficas. Eles executam o cálculo definido pela aplicação e utilizam bibliotecas criptográficas para criar uma prova de que o cálculo foi realizado corretamente. Os provadores podem ser nós especializados, trabalhadores de GPU ou ambientes de execução confiáveis, dependendo do design da rede.
Os verificadores são contratos inteligentes em cadeia que verificam a validade das provas submetidas. Eles são leves, determinísticos e seguros. Uma vez que uma prova passe na verificação, a computação associada é aceita como válida pela blockchain.
Os relays são atores off-chain que tratam da comunicação entre a infraestrutura do provador e a blockchain. Eles submetem provas ao contrato apropriado, incluem os metadados necessários e garantem a entrega em tempo útil. Em algumas redes, os relays são opcionais; em outras, são participantes incentivados.
Os coordenadores gerem a correspondência de pedidos a provedores. Eles recebem consultas de usuários ou pedidos de computação e atribuem-nos a provedores disponíveis. Os coordenadores também podem agregar resultados, eliminar computações idênticas e fornecer garantias de disponibilidade. Em redes descentralizadas, esta camada de coordenação pode ser implementada através de mecanismos de staking e slashing para garantir a integridade.
A separação desses papéis permite uma arquitetura flexível. Um único ator pode desempenhar múltiplos papéis em redes menores, ou os papéis podem ser divididos entre muitos participantes em um sistema maior. Essa modularidade é fundamental para escalar sistemas de prova através de diferentes blockchains e casos de uso.
Vários projetos estão a construir redes de prova em ambientes de produção. A Rede Prover da Succinct permite que os desenvolvedores gerem provas ZK sob demanda e as enviem para qualquer cadeia compatível com EVM. Suporta prova descentralizada e visa tornar qualquer aplicação em cadeia verificável com provas sucintas. A Succinct também testou a sua infraestrutura na World Chain, um experimento de rollup da Tools for Humanity.
ZeroGravity está a construir uma camada de prova totalmente descentralizada que suporta múltiplos backends de prova. Foca na interoperabilidade e pretende conectar coprocessadores ZK com Ethereum, rollups e blockchains modulares como Celestia. Ao abstrair a pilha de geração e verificação de provas, permite que aplicações se conectem a uma camada ZK unificada.
A Lagrange Network especializa-se em disponibilidade de dados verificáveis e consultas de estado. Permite que aplicações solicitem respostas respaldadas por provas a consultas entre cadeias, como verificar saldos de tokens ou a propriedade de NFTs em outras cadeias. A Lagrange utiliza uma abordagem modular, permitindo que os desenvolvedores escolham sistemas de prova e fontes de dados de acordo com as necessidades de suas aplicações.
Cada uma dessas redes aborda uma camada diferente do problema. Algumas focam em computação, outras em acesso a dados e outras em infraestrutura a nível de protocolo. Juntas, estão moldando um ecossistema no qual a computação de zero-conhecimento pode se tornar uma camada padronizada e reutilizável no design de blockchain.
Existem dois modelos principais para como as redes de prova interagem com as blockchains: verificação nativa e verificação modular.
A verificação nativa significa que a blockchain em si, muitas vezes a nível de protocolo, suporta a verificação de provas de conhecimento zero. Este é o caso do Ethereum, que inclui contratos pré-compilados para verificar provas Groth16 e PLONK. O suporte nativo garante uma verificação mais rápida e custos de gás mais baixos, mas requer padronização e limita os tipos de provas que podem ser usadas.
A verificação modular adota uma abordagem diferente. Trata as redes de prova como serviços externos que podem conectar-se a qualquer cadeia através de contratos ou pontes. O contrato de verificação on-chain pode ser implantado pela própria aplicação, e o formato da prova é definido off-chain. Este modelo é mais flexível, permitindo que os desenvolvedores utilizem novos sistemas de prova e lógica personalizada. No entanto, vem com custos e complexidade mais elevados.
A escolha entre verificação nativa e modular depende das necessidades da aplicação. A verificação nativa é adequada para aplicações de alto volume com formatos de prova previsíveis. A verificação modular é melhor para pesquisa, lógica personalizada ou sistemas em rápida evolução. Redes de prova estão cada vez mais sendo projetadas para suportar ambos os modelos, proporcionando caminhos de fallback e camadas de compatibilidade.
À medida que a tecnologia ZK continua a evoluir, as redes de prova estão a emergir como a infraestrutura chave para computação escalável e sem confiança. Elas permitem que os desenvolvedores construam sistemas poderosos off-chain e os conectem de forma segura a ambientes blockchain. Ao fazê-lo, transformam as provas de zero conhecimento de um conceito criptográfico em uma pilha tecnológica pronta para produção.