SNARKs vs. STARKS vs. SNARKs Recursivos
Escrito por Alchemy
Provas de conhecimento zero são mecanismos que permitem que uma parte revele conhecimento de uma informação a outra parte sem revelar a informação em si. Também chamadas de provas de validade, as provas ZK foram originalmente usadas para ocultar detalhes de transações em blockchains focadas em privacidade.
Mas as provas ZK também têm outro caso de uso interessante: escalar blockchains de propósito geral. Com provas de validade, os nós de uma blockchain podem verificar transações sem armazenar os detalhes ou reexecutar a computação. Isso reduz o tempo de confirmação e aumenta a taxa de transferência da rede.
Devido aos seus benefícios de escalabilidade, as provas ZK se tornaram uma infraestrutura central para projetos de escalabilidade de blockchain, especialmente zero-knowledge rollups. Neste guia, cobrimos as principais classificações de provas ZK usadas em blockchains: ZK-SNARKs, ZK-STARKs e ZK-SNARKs recursivos.
O que é um ZK-SNARK?
ZK-SNARK é um protocolo para gerar provas de conhecimento zero que verificam a autenticidade de uma informação sem expor os dados subjacentes. A sigla significa Zero-Knowledge Succinct Non-Interactive Argument of Knowledge.
Um protocolo ZK-SNARK envolve duas partes: o provador (Alice) e o verificador (Bob). O provador (Alice) é a parte que faz uma afirmação, enquanto o verificador (Bob) é a parte responsável por verificar a afirmação.
A informação referenciada na afirmação é chamada de testemunha, ou secret. Um provador (Alice) usa o mecanismo ZK-SNARK para produzir uma prova que mostra a um verificador (Bob) que a afirmação é verdadeira… sem revelar a informação referenciada.
Um exemplo hipotético envolvendo ZK-SNARKs é a autenticação de identidades de usuários. Um indivíduo poderia provar uma afirmação ("Sou cidadão dos EUA") sem revelar informações pessoais (por exemplo, um passaporte ou número de Seguro Social).
ZK-SNARKs recebem esse nome porque possuem as seguintes qualidades:
1. Zero-knowledge: Significa que o verificador não sabe nada sobre uma afirmação além de sua validade ou falsidade.
2.** Succinct**: A prova é pequena o suficiente para que o verificador a verifique em um curto período de tempo.
3. Non-interactive: SNARKs são não interativos porque provadores e verificadores não precisam trocar informações além da prova inicial submetida. Os primeiros sistemas de prova de conhecimento zero exigiam que provadores e verificadores trocassem várias mensagens para verificar afirmações.
4. Argument: Um SNARK é uma afirmação "computacionalmente sólida" que satisfaz requisitos rigorosos, tornando difícil trapacear (ou seja, gerar provas falsas).
5. Knowledge: Provas baseadas em SNARK não podem ser criadas com acesso à informação subjacente, ou à witness.

ZK-SNARKs em blockchains
Sistemas de computação distribuída, como blockchains públicas, precisam resolver o chamado "problema da integridade computacional". Integridade computacional (CI) refere-se à correção do resultado obtido a partir de uma computação específica.
Em blockchains públicas, integridade computacional refere-se à correção das transações executadas em uma rede. A maioria das blockchains a alcança fazendo com que outros computadores (nós) reexecutem cada transação.
No entanto, essa abordagem é problemática. Forçar cada nó a reexecutar cada transação diminui a velocidade da rede e limita a escalabilidade. Os nós também precisam armazenar os dados das transações (ou não podem reexecutar as computações), causando aumentos exponenciais no tamanho da blockchain.
Mas e se os nós pudessem verificar a validade de uma computação sem reexecutá-la? Isso melhoraria a taxa de transferência da rede e eliminaria a necessidade de os nós armazenarem dados excessivos de transações.
Entram os ZK-SNARKs.
Provas de validade geradas usando ZK-SNARK podem provar a validade de uma transação sem revelar os inputs. É por isso que criptomoedas focadas em privacidade, como Zcash e Monero, usam SNARKs para ofuscar informações sobre transações.
Um SNARK também pode provar a correção de uma computação realizada off-chain sem que os nós reexecutem cada etapa da computação. É aqui que o ZK-SNARK se torna útil para escalar blockchains.
Verificar computações off-chain com SNARKs é um processo complexo que começa com a codificação da computação em uma expressão matemática. Essa afirmação matemática forma a base da prova de validade.
O verificador então realiza uma operação na prova para checar sua correção. Se a prova passar em todas as verificações, a computação subjacente é considerada válida. É por isso que os SNARKs são succinct (sucintos) — o tamanho de uma prova de validade é muitas vezes menor do que a computação que ela verifica.

ZK-SNARKs e ZK rollups
Um rollup é uma solução de escalabilidade de Layer 2 para Ethereum que melhora a taxa de transferência na blockchain de Layer 1 (L1) por meio da execução off-chain. Rollups processam transações em uma chain L2, agregam múltiplas transações off-chain em blocos e as submetem à chain L1.
Ao mover a computação para longe da camada base, os rollups diminuem o congestionamento da rede e escalam as transações.
No entanto, a chain L1 precisa saber se as transações executadas off-chain são válidas ou não (ou seja, o problema da integridade computacional). Caso contrário, um agente malicioso pode sequestrar o rollup e submeter transações ruins à chain principal.
Um tipo de rollup (zero-knowledge rollup) usa ZK-SNARKs para provar a autenticidade de transações off-chain à chain L1. Provas SNARK podem ser verificadas por qualquer pessoa, o que garante à chain L1 a validade das transações.
A maioria dos ZK rollups que usam ZK-SNARKs segue a mesma estrutura:
-
Usuários na chain L2 assinam transações e as submetem aos validadores.
-
Validadores comprimem transações em um bloco e geram a prova de validade correspondente (SNARK). Isso fornece garantias criptográficas de que o novo estado resultou da adição de transações válidas.
-
Um smart contract na chain L1 realiza uma operação na prova de validade. Os resultados dessa operação determinam se as transações agrupadas são validadas e publicadas na chain principal.

Quais são os benefícios dos ZK-SNARKs?
Existem três benefícios principais no uso de ZK-SNARKs: alta taxa de transferência, tamanhos pequenos de prova de validade e segurança.
1. Alta taxa de transferência
ZK-SNARKs escalam a taxa de transferência ao reduzir a computação na camada base do Ethereum. Com ZK-SNARKs, rollups podem aumentar as taxas de TPS para milhares.
Um ZK-SNARK costuma ser muitas vezes menor do que os dados de transação que verifica. Isso reduz o congestionamento nas blockchains base e permite taxas de gas mais baratas e transações mais rápidas.
2. Tamanhos pequenos de prova
O tamanho pequeno das provas SNARK facilita sua verificação na chain principal. No Ethereum, isso significa taxas de gas mais baixas para verificar transações off-chain, reduzindo os custos de rollup para os usuários finais.
3. Segurança
ZK rollups são considerados mais seguros do que outros projetos de escalabilidade, principalmente devido aos mecanismos de segurança criptográfica de ponta usados nos ZK-SNARKs.
A prova ZK-SNARK é computacionalmente sólida, tornando difícil enganar os verificadores e agir de forma maliciosa. A não interatividade dos ZK-SNARKs também significa que as provas podem ser verificadas de forma trustless por qualquer pessoa.
Quais são as desvantagens dos ZK-SNARKs?
Existem três desvantagens principais no uso de ZK-SNARKs: exigem uma configuração confiável, são suscetíveis a ataques de computação quântica e dependem de hardware especial.
1. Configuração confiável
Configurar o protocolo ZK-SNARK requer a criação de uma Universal Common Reference String (CRS). Também descrita como public parameters, a CRS permite a comunicação segura entre provadores e verificadores.
Se um agente malicioso obtivesse conhecimento dos parâmetros públicos, poderia gerar provas de validade falsas. Alguns projetos tentam resolver esse problema usando computação multipartes (MPC), que envolve diferentes indivíduos, para gerar os parâmetros públicos.
No entanto, essa abordagem exige que os usuários confiem na integridade dos envolvidos. Isso é bastante problemático, já que o propósito das blockchains é reduzir a necessidade de confiar em autoridades.
2. Suscetibilidade a ataques de computação quântica
O ZK-SNARK usa Elliptic Curve Cryptography (ECC) para criptografar as informações usadas na produção de provas de validade. A ECC é relativamente segura por enquanto, mas avanços na computação quântica poderiam quebrar seu modelo de segurança.
3. Dependência de hardware especial
Gerar provas de validade com ZK-SNARKs é um processo computacionalmente intensivo, o que significa que os provadores precisam investir em hardware especializado. Como poucas pessoas podem comprar essas máquinas, muitos consideram o processo de prova ZK-SNARK altamente centralizado.
Quais projetos usam ZK-SNARKs?
Cinco projetos notáveis que usam ZK-SNARKs são ZKSync, Loopring, Aztec, Polygon Hermez e ZKSpace.
zkSync
ZK rollup compatível com EVM, hospedado na Ethereum Mainnet, criado pela Matter Labs. ZKSync suporta smart contracts, swaps de tokens, pagamentos e mintagem de NFTs.
Loopring
Projeto de Layer 2 (L2) do Ethereum movido por tecnologia de ZK rollup baseada em SNARK. O Loopring também funciona como uma exchange descentralizada para negociar ETH e outros tokens ERC-20, por uma fração dos custos cobrados por DEXs na Ethereum Mainnet.
Aztec
Rede L2 de código aberto construída sobre a rede Ethereum. O Aztec utiliza ZK-SNARKs para escalar transações e aumentar a privacidade financeira dos usuários.
Polygon hermez
ZK rollup operando sobre a blockchain Ethereum. O Polygon Hermez usa ZK-SNARKs para viabilizar transferências de tokens e pagamentos seguros e de baixo custo.
Zkspace
Projeto de ZK rollup baseado em ZK-SNARKs. O ZKSpace oferece aos usuários do Ethereum taxas de gas mais baixas e transações mais rápidas, e é composto por uma DEX no estilo AMM (ZKSwap v3), uma rede de pagamentos (ZKSquare) e um marketplace de NFT (ZKSea).
O que é um ZK-STARK?
ZK-STARK é uma sigla para Zero-Knowledge Scalable Transparent Argument of Knowledge. Assim como os ZK-SNARKs, os ZK-STARKs mostram que uma afirmação é válida sem revelar nada sobre a própria afirmação.
Com algumas diferenças, um STARK tem as mesmas propriedades de um SNARK. Provas de validade baseadas em STARK são geradas usando uma informação que é ocultada do verificador. Um STARK também pode verificar a correção de transações sem revelar os inputs.
ZK-STARKs vs. ZK-SNARKs
A principal diferença dos ZK-STARKs vem de suas propriedades escaláveis e transparentes:
O ZK-STARK é considerado transparente porque pode funcionar sem uma configuração confiável de uma Common Reference String (CRS). Em vez disso, os protocolos STARK usam aleatoriedade publicamente verificável para configurar as interações entre provadores e verificadores.
Os ZK-STARKs são scalable (escaláveis) porque a complexidade de prova e verificação escala de forma quasilinear em relação à complexidade da computação. Com os ZK-SNARKs, a complexidade de prova e verificação escala de forma linear em relação à computação subjacente.
Isso simplesmente significa que os protocolos ZK-SNARK exigem mais tempo para produzir e verificar provas do que os ZK-STARKs quando a computação que precisamos verificar é maior. É por isso que os STARKs são mais adequados a aplicações que lidam com grandes volumes de transações.

Quais são os benefícios dos ZK-STARKs?
Existem quatro benefícios principais no uso de ZK-STARKs: não há necessidade de configuração confiável, são escaláveis, oferecem aos usuários taxa de transferência máxima e têm garantias de segurança elevadas.
1. Sem necessidade de configuração confiável
ZK-STARKs não requerem uma configuração confiável para funcionar e, em vez disso, dependem de aleatoriedade pública. Isso reduz as suposições de confiança por parte dos usuários e melhora a segurança dos protocolos baseados em STARK.
2. Propriedades escaláveis
STARKs podem ser computados e verificados mais rapidamente em escala, comparados aos SNARKs. Mais importante, os ZK-STARKs mantêm os tempos de prova e verificação baixos mesmo quando a complexidade da computação subjacente cresce exponencialmente.
3. Taxa de transferência máxima
Assim como os SNARKs, os STARKs podem escalar blockchains ao viabilizar computação off-chain segura e verificável.
Uma única prova STARK submetida à chain L1 pode verificar milhares de transações realizadas fora da chain principal. Por isso, vários projetos de ZK rollup de destaque usam ZK-SNARKs para provar a integridade da computação off-chain.
4. Garantias de segurança mais altas
Os ZK-STARKs usam hashes resistentes a colisão para criptografia, em vez dos esquemas de curva elíptica usados nos ZK-SNARKs. Isso é considerado resistente a ataques de computação quântica, tornando-o mais seguro do que as curvas elípticas usadas em SNARKs.
Quais são as desvantagens dos ZK-STARKs?
As duas principais desvantagens do uso de ZK-STARKs são que utilizam tamanhos de prova maiores e há menor adoção da tecnologia no espaço blockchain.
1. Tamanhos de prova maiores
Embora os STARKs forneçam provas mais rápidas, a desvantagem é que essas provas são maiores em comparação com as provas baseadas em SNARK. Isso torna as provas STARK mais caras de verificar no Ethereum, já que computar provas maiores gera taxas de gas mais altas.
2. Menor adoção
Os SNARKs foram a primeira aplicação prática da tecnologia de conhecimento zero em blockchains, motivo pelo qual têm mais market share do que os STARKs. A maioria dos ZK rollups usa ZK-SNARKs, e o ecossistema de desenvolvedores e o tooling para provas ZK baseadas em SNARK são maiores.
Embora os ZK-STARKs também tenham apoiadores de destaque, incluindo a Ethereum Foundation, sua adoção é menor. Desenvolvedores podem, portanto, encontrar menos suporte e tooling para construir projetos ZK com STARKs.
Quais projetos usam ZK-STARKs?
StarkNet
ZK rollup de propósito geral operando como uma rede L2 no Ethereum. O StarkNet permite que aplicações descentralizadas alcancem escalabilidade ilimitada sem comprometer a descentralização e a segurança do Ethereum.
dYdX
Projeto de ZK rollup baseado em Ethereum (que também funciona como uma exchange descentralizada), oferecendo a usuários e traders de cripto negociação, empréstimo e financiamento rápidos e de baixo custo. dYdX usa provas STARK como parte de seu mecanismo de segurança, garantindo aos usuários a segurança de seus fundos.
Polygon miden
ZK rollup baseado em STARK com compatibilidade EVM. Embora ainda em produção, o Polygon Miden será o primeiro protocolo ZK-STARK compatível com EVM em seu lançamento, permitindo que desenvolvedores migrem aplicações nativas do Ethereum para aproveitar a escalabilidade na rede L2.
O que é um ZK-SNARK recursivo?
Um sistema SNARK recursivo gera provas em paralelo para diferentes blocos de transações e as agrega em uma única prova de bloco que é submetida à blockchain principal, o que significa que um SNARK pode verificar outros SNARKs.
O rollup L2 ainda submete uma prova de validade no Ethereum. No entanto, essa "prova recursiva" verifica transações em múltiplos blocos L2, todos os quais se tornam válidos assim que o contrato on-chain aceita a prova submetida.

Qual problema os ZK-SNARKs recursivos resolvem?
ZK-SNARKs recursivos aumentam drasticamente o número de transações que podem ser finalizadas com uma prova ZK, ao incluir múltiplas provas L2 em uma única prova submetida à chain L1, o que atualmente é limitado pelo tempo de bloco do Ethereum, de 12 a 14 segundos.
Tempo de bloco refere-se a quanto tempo leva para minerar um novo bloco de transações no Ethereum. ZK rollups só podem submeter uma transação on-chain (e a prova de validade correspondente) por bloco, limitando quantas transações podem processar.
Como um ZK-SNARK recursivo é diferente de um ZK-SNARK regular?
Um ZK-SNARK recursivo é diferente de um ZK-SNARK normal porque ZK-SNARKs recursivos podem verificar mais de um bloco de transações, combinando SNARKs gerados para diferentes blocos L2 em uma única prova de validade que é submetida à chain L1.
ZK rollups criam uma prova SNARK para cada lote de transações antes de publicar na blockchain principal, e uma única prova SNARK só pode verificar um bloco de transações realizadas no rollup L2.
ZK-SNARKs podem verificar transações que já foram verificadas por ZK-SNARKs regulares sem usar os inputs originais. Assim, o smart contract on-chain pode verificar um conjunto maior de computações off-chain sem executar múltiplos SNARKs como inputs.
O que é plonky2?
Plonky2 é um mecanismo de prova inovador usado no Polygon Zero, um ZK rollup Polygon proposto que usa ZK-SNARKs recursivos para aumentar as transações.
SNARKs recursivos escalam o processo de geração de provas ao agregar várias provas em uma prova recursiva, e o Plonky2 usa a mesma técnica para diminuir o tempo necessário para gerar novas provas de bloco.
O mecanismo de prova Plonky2 gera provas para milhares de transações em paralelo antes de agregá-las recursivamente em uma única prova de bloco. Isso é mais eficiente do que os mecanismos de prova tradicionais, que tentam gerar a prova de bloco inteira de uma vez.
Os benefícios dessa abordagem são óbvios.
O Plonky2 pode gerar uma prova recursiva em 0,17 segundos, o que o torna o mecanismo de prova mais rápido disponível. Além disso, o Plonky2 produz provas em um dispositivo de nível de consumidor, resolvendo os problemas de centralização de hardware presentes nos sistemas de prova baseados em SNARK regulares.
Conclusão
As provas de conhecimento zero passaram de tecnologias de proteção de privacidade a se tornarem a nova fronteira da tecnologia de escalabilidade. Com a explosão dos ZK rollups, é seguro dizer que ZK-SNARKs, ZK-STARKs e SNARKs recursivos terão papel central no esforço de escalar o Ethereum.
Desenvolvedores Web3 podem aproveitar a tecnologia de conhecimento zero construindo no StarkNet, um ZK rollup do Ethereum movido por STARK e suportado pela Alchemy. Comece a construir aplicações que escalam hoje, sem concessões!
Visões gerais relacionadas
Blockchain25 de setembro de 2026
EVM vs SVM: um guia para desenvolvedores
Uma comparação para desenvolvedores entre EVM e SVM, cobrindo modelos de conta, execução paralela, taxas, design de programas e migração, com exemplos de código.
Blockchain21 de setembro de 2026
Lance uma memecoin na Arc Chain
Escreva e implante um ERC-20 de supply fixo na Arc mainnet com Foundry e Alchemy RPC, pagando gas em USDC, ou deixe o lançamento inteiro nas mãos de um coding agent com o Alchemy CLI.
Blockchain15 de setembro de 2026
O que é Arc? O sistema operacional econômico da internet, explicado para desenvolvedores
Arc é a Layer-1 aberta e compatível com EVM da Circle para finanças com stablecoins. Este guia aborda gas em USDC, finalidade determinística e o que pode quebrar ao portar um contrato.

Construa magia blockchain
A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.