
Introdução
Manta Pacific, uma Camada 2 modular Ethereum projetada para aplicações ZK, arrecadou mais de US$ 60 milhões em financiamento de instituições proeminentes como Polychain, Binance Labs, CoinFund e SevenX Ventures. A Manta Pacific integra circuitos ZK em sua arquitetura Layer 2, oferecendo designs altamente modulares e múltiplos módulos de função ZK para DApps. Os desenvolvedores podem invocar facilmente as funcionalidades do ZK com apenas algumas linhas de código usando SDKs e APIs.
A abordagem da Manta permite a realização completa das funcionalidades do ZK dentro do ambiente da Camada 2, permitindo a integração perfeita da correção do ZK e da compactação de transações em aplicativos existentes ou a implantação de novos aplicativos adaptados aos recursos do ZK. Esta é uma capacidade única da Manta Pacific.

Provas de Conhecimento Zero (ZKPs) são um conceito versátil aplicável a qualquer problema NP. Seu desenvolvimento teórico e aplicações práticas tornaram-se um foco importante na pesquisa criptográfica. A primitiva criptográfica primária usada por Manta é um tipo específico de prova de conhecimento zero não interativa, conhecida como Argumento de Conhecimento Sucinto Não Interativo de Conhecimento Zero (zkSNARK). Este sistema permite a verificação de resultados computacionais complexos sem a necessidade de repetir todo o cálculo.
Estrutura zkSNARK
Visão geral
Um zkSNARK consiste em três algoritmos de tempo polinomial: KeyGen, Prove e Verify. Esses algoritmos facilitam a geração, prova e verificação de uma prova de conhecimento zero em um circuito aritmético.

KeyGen(1^λ, C) -> (pk, vk):
Dado um parâmetro de segurança λ (por exemplo, 128 bits) e um circuito aritmético C, o algoritmo KeyGen gera uma chave de prova pk e uma chave de verificação vk. Estas chaves são públicas e podem ser usadas repetidamente para provar e verificar a adesão à linguagem definida pelo circuito C.
Prove(pk, x, a) -> π:
Usando a chave de prova pk e as entradas (x, a), onde x é uma entrada pública e a é uma testemunha, o algoritmo Prove produz uma prova não interativa π. Esta prova afirma que existe uma testemunha a tal que C(x, a) = 0.
Verifique (vk, x, π) -> {0,1}:
O algoritmo Verify usa a chave de verificação vk, a entrada pública x e a prova π para determinar se x é de fato um membro da linguagem definida por C. Ele gera 1 se a prova for válida, caso contrário, 0.
Representação Matemática
Considere um corpo finito F e um circuito aritmético C definido sobre F. Para uma entrada x ∈ F^n e uma testemunha a ∈ F^h, o circuito C(x, a) produz valores em F. O objetivo é provar que para um dado x, existe uma testemunha a tal que C(x, a) = 0.
Analogia
As provas de conhecimento zero podem ser comparadas a um show de mágica onde Alice (a provadora) usa uma série de truques inteligentes (cálculos matemáticos) para mostrar a Bob (o verificador) pistas (a prova) que o convencem de que um segredo está de fato dentro de uma caixa . Bob está convencido sem ver o segredo em si. Alice usa uma "chave mágica" especial (a chave de verificação pública vk), que qualquer pessoa pode usar para verificar as pistas. Este “show de mágica” pode ser repetido em diferentes locais e diante de diferentes públicos.
Outros primitivos criptográficos em Manta
Esquema de Compromisso Não Interativo (COMM)
Um esquema de compromisso não interativo garante a consistência das informações. Dada uma mensagem m e uma semente aleatória r, o compromisso c := COMMIT_r(m) pode ser verificado revelando r e m. Este esquema é vinculativo, o que significa que a mensagem confirmada não pode ser alterada depois que o compromisso for feito.

Funções pseudoaleatórias (PRF)
PRFs geram resultados que aparecem aleatoriamente a partir de entradas fixas. Eles podem ser usados para gerar endereços, valores nonce e chaves públicas. Em aplicações criptográficas, diferentes rótulos distinguem diferentes PRFs, mesmo que compartilhem a mesma função principal.

Acumuladores criptográficos
Os acumuladores permitem a prova de associação eficiente e de conhecimento zero para grandes conjuntos de dados. Eles permitem a agregação de vários pontos de dados em um valor pequeno e de tamanho fixo, facilitando a verificação eficiente da inclusão de dados sem fornecer o conjunto de dados inteiro. Isto é particularmente útil em blockchain para melhorar os processos de armazenamento e verificação de dados.

Esquema de criptografia integrada de curva elíptica (ECIES)
ECIES, baseado na troca de chaves Diffie-Hellman da curva elíptica, permite a troca segura de informações através de um canal inseguro. O remetente criptografa a mensagem usando a chave pública do destinatário, e somente o destinatário, possuindo a chave privada correspondente, pode descriptografá-la. Este esquema é frequentemente usado com cifras de bloco como AES para proteção de criptografia forte.

Transações do Circuito Manta ZK
As transações do circuito Manta ZK seguem o modelo UTXO, onde as transações consomem moedas antigas de uma ou mais entradas e geram novas moedas. As operações de cunhagem criam novos UTXOs, enquanto as operações de transação consomem os UTXOs existentes. O processo envolve:
Configuração: Inicializando o sistema com parâmetros do sistema NIZK.
GenMint: Gerando uma transação de cunhagem, selecionando um UTXO como entrada, especificando novos valores de moeda e gerando uma prova.
Mint: A rede verifica e registra o novo UTXO após verificação de prova bem-sucedida.
GenTransfer: Gerando uma transação de transferência, especificando o estado atual do razão, moedas a serem transferidas e a chave pública do destinatário, e gerando uma prova.
Transferência: O verificador executa a transação de transferência, atualizando o estado do razão após verificação de prova bem-sucedida.
GenReclaim: Gerando uma transação de recuperação para recuperar saldos não utilizados de UTXOs.
Recuperação: O verificador executa a transação de recuperação, atualizando o estado do razão após verificação de prova bem-sucedida.
Estrutura de prova de segurança

Construção de Simulador
Para demonstrar a propriedade de conhecimento zero do esquema zkSNARK, um simulador é construído para gerar uma visão indistinguível daquela de um adversário real (Real adv). Isto é comprovado mostrando que, sob o esquema de compromisso e as suposições do PRF, é inviável distinguir a visão gerada pelo simulador da visão do adversário real.

Argumento Híbrido
Uma série de visualizações intermediárias são construídas substituindo gradualmente elementos da visão Adv Real até atingir a visão Adv Ideal. O argumento depende da premissa de que um adversário capaz de distinguir duas visões intermediárias consecutivas também pode distinguir entre a visão adv Real inicial e a visão adv Ideal final. A prova mostra que a vantagem do adversário em distinguir estas visões é polinomialmente limitada, afirmando a segurança do esquema zkSNARK.

Conclusão
As provas de segurança para esses sistemas normalmente envolvem a construção de dois experimentos: um para a execução real do protocolo (Real) e outro para a execução ideal do protocolo (Ideal), onde um simulador imita o comportamento do adversário real. Se os resultados desses experimentos forem indistinguíveis, o protocolo é considerado seguro. O modelo de segurança Ideal/Real é um conceito comum em provas de conhecimento zero, garantindo que o verificador (ou sistema) possa ser convencido da veracidade de certas declarações, mantendo a segurança contra possíveis invasores.
Esta exploração detalhada destaca os rigorosos princípios matemáticos e mecanismos criptográficos que sustentam o circuito ZK da Manta, enfatizando sua abordagem inovadora e garantias de segurança.
