Zero-Knowledge (ZK) 101: tudo o que você precisa saber sobre os testes ZK

Por Jay White, cofundador e chefe de pesquisa de espaço e tempo

ZK é a palavra-chave da criptomoeda do ano, e por um bom motivo, mas se você não é um criptógrafo ou desenvolvedor, você deve estar se perguntando: o que exatamente é uma prova de conhecimento zero (prova ZK)?

O princípio fundamental por trás das provas ZK é simples, mas profundo: elas permitem que uma parte (o demonstrador) demonstre eficientemente a outra parte (o verificador) que possui certo conhecimento sem a necessidade de revelar as especificidades desse conhecimento.

O conceito originou-se do trabalho pioneiro de alguns pesquisadores acadêmicos em meados da década de 1980 e desde então se desenvolveu em um mecanismo prático para cálculos verificáveis ​​e lançou as bases para o moderno ecossistema Web3, onde as provas ZK estão se tornando cada vez mais integradas.

A evolução do ZK no Blockchain

Embora as provas ZK existissem na criptografia teórica muito antes do nascimento do blockchain, foi a natureza descentralizada deste último que levou as provas ZK aos olhos do público. Blockchain, em sua essência, é um livro-razão público. Cada transação, por mais trivial que seja, é registrada e pode ser visualizada por qualquer pessoa. Mas embora a transparência seja um dos maiores pontos fortes do blockchain, é também o seu calcanhar de Aquiles quando se trata de privacidade do usuário.

Foi aí que ZK começou a mostrar seu poder.

Os testes ZK abordam a dicotomia entre transparência e privacidade no espaço blockchain. Eles permitem que as transações sejam validadas sem revelar detalhes da transação, preservando assim a confidencialidade do usuário e mantendo a natureza imutável do blockchain. Em meados da década de 2010, projetos como o Zcash começaram a construir protocolos ZK que ofereciam transações privadas, levando a um aumento no interesse e na adoção do ZK na Web3. Mas, ao longo da última década, o caso de uso da Web3 para provas ZK evoluiu de uma simples preservação de privacidade para, sem dúvida, um dos avanços mais importantes para a tecnologia blockchain: computação verificável fora da cadeia.

Resolva o problema de escalabilidade

Antes de podermos destacar a importância da computação fora da cadeia verificável, precisamos falar sobre as limitações extremas dos contratos inteligentes. Os contratos inteligentes são inerentemente limitados de três maneiras principais:

  1. Tipos de dados que eles podem acessar: Os contratos inteligentes só podem acessar os pontos de dados mais básicos da rede (como saldos de carteira) e não podem acessar nativamente a maioria dos dados da rede, mesmo os mais simples, como preços de tokens, ou quaisquer dados fora da rede. .
  2. Capacidade de armazenamento de blockchain: Blockchains não são construídos para armazenar grandes quantidades de dados. Fazer isso é proibitivamente caro e consome muitos recursos.
  3. A lógica que eles podem executar: um contrato inteligente só pode executar lógica condicional muito básica sem precisar de taxas de gás exorbitantes.

Sem uma maneira de resolver cada um desses problemas, o blockchain não pode se adaptar às necessidades crescentes de um crescente ecossistema Web3. Felizmente, à medida que o Web3 evoluiu, o ZK também evoluiu. Embora projetos como o Decentralized Oracle Network (DON) da Chainlink e o Cross-Chain Interoperability Protocol (CCIP) tenham resolvido elegantemente o primeiro problema, vários protocolos ZK estão trabalhando para resolver os outros dois.

A maneira mais elegante de resolver as limitações de armazenamento e computação do blockchain é mover alguns dados e trabalho computacional para fora da cadeia. A ideia de ser capaz de realizar ações fora da cadeia e usar uma prova ZK para comunicar de forma sucinta e confiável um resumo dessas ações para a cadeia principal sem transferir todos os dados subjacentes inaugurou um novo paradigma para a tecnologia blockchain. Vamos dar uma olhada em alguns dos protocolos que estão sendo desenvolvidos neste espaço.

Soluções de armazenamento: armazenamento descentralizado comprovado pela ZK

Uma solução bem conhecida para o problema de armazenamento blockchain são as redes de armazenamento descentralizadas fora da cadeia. Em vez de armazenar grandes quantidades de dados, o blockchain só precisa armazenar referências menores a esses dados, pois são armazenados na plataforma fora da cadeia.

No entanto, simplesmente mover dados para fora da cadeia não é suficiente; Para garantir que os dados fora da cadeia permaneçam disponíveis e não sejam adulterados (para serem vinculados a um contrato inteligente), é necessária uma prova ZK. O PoST do Filecoin é um ótimo exemplo dessa implementação: ele fornece prova criptográfica periódica de armazenamento contínuo de dados, promovendo a confiança na rede e ao mesmo tempo aliviando a carga de dados do blockchain principal.

Resolver para cálculo: rollup de transações

Talvez a joia da coroa do ZK, os rollups ZK surgiram como a solução preferida para a crescente demanda por transações mais rápidas e baratas em L1s como o Ethereum. Em vez de processar cada transação individualmente na cadeia principal, o que pode levar a congestionamentos e taxas de gás mais altas, os rollups ZK eliminam o pesado trabalho computacional da cadeia, agregando múltiplas transações em um único “rollup”.

Para cada grande lote de transações processadas pela cadeia principal, apenas uma única prova compacta é retornada, fornecendo prova criptográfica de que essas transações estavam corretas. A cadeia principal permanece segura sem estar diretamente envolvida na verificação de cada transação individual. Os rollups ZK não apenas melhoram a velocidade de processamento de transações, mas também preservam os recursos da cadeia principal, aumentando significativamente a produtividade e reduzindo as taxas de transação. Alguns dos rollups ZK mais notáveis ​​​​incluem zkEVM da Polygon, zkSync da Matter Labs e STARKEx da Starkware.

Para uma análise aprofundada dos zk-rollups, confira nosso podcast com Gal Ron da Starkware:

A próxima geração do ZK

Mas embora soluções como provas ZK de armazenamento descentralizado e rollups ZK certamente tenham lançado as bases para a expansão dos limites do blockchain, ainda falta uma peça crítica. Por um lado, as soluções de armazenamento descentralizadas são apenas isso: armazenamento.

Embora o armazenamento em si seja uma ferramenta importante, a incapacidade dessas plataformas de realizar qualquer tipo de “computação” além da simples recuperação de dados limita severamente os casos de uso que são capazes de suportar. E os rollups ZK, apesar de serem soluções de computação poderosas que cobrem uma ampla gama de funções de computação, ainda não fecham completamente a lacuna.

Potencialize aplicações em escala

Então, vamos voltar à ideia de dimensionar o blockchain: o que significa e como é? Se você comparar a pilha blockchain com a pilha de aplicativos tradicional, notará algumas diferenças óbvias. No SaaS tradicional, os aplicativos (no nível mais básico) são alimentados por três etapas:

  1. Recuperando o resultado de uma consulta: faça uma pergunta sobre os dados e obtenha uma resposta.
  2. Executando uma ação: Executando uma tarefa com base na resposta.
  3. Atualizando um status: Notificando o sistema de que a tarefa foi executada.

Vejamos alguns exemplos:

Exemplo 1: plataforma de mídia social

  1. O app consulta o conteúdo associado às conexões de um usuário e obtém um ranking do que é mais relevante.
  2. O aplicativo exibe o conteúdo no feed do usuário e o usuário vê o conteúdo.
  3. O aplicativo atualiza o status do back-end gravando visualizações/engajamento de conteúdo (que então ajusta o algoritmo).

Exemplo 2: site de reservas de viagens

  1. O aplicativo consulta os voos disponíveis e obtém os mais relevantes.
  2. O aplicativo promove opções de voo relevantes para o cliente e o cliente seleciona e compra um voo.
  3. O aplicativo atualiza a disponibilidade e registra os detalhes da reserva do cliente.

Na Web3, o blockchain serve como uma camada de gerenciamento de estado e os contratos inteligentes executam ações como código arbitrário, mas ainda falta um componente-chave: consultas. Os contratos inteligentes não têm como fazer perguntas sobre os dados. Mesmo algo tão simples como “quais carteiras já possuíram 2 NFTs desta coleção na minha rede?” não é possível responder nativamente a um contrato inteligente. Se quisermos concretizar a visão da Web3 e dimensionar o blockchain para atender às necessidades das aplicações empresariais, devemos fornecer aos contratos inteligentes uma maneira de fazer perguntas sem confiança sobre os dados em sua própria cadeia, em outras cadeias e fora da cadeia.

Prova de SQL e nível de computação verificável

A computação de bancos de dados – essencialmente, a capacidade de fazer perguntas sobre dados – tem sido historicamente relegada a soluções centralizadas e confiáveis, como PostgreSQL (para consultas simples) ou Snowflake (para análises). Existem bancos de dados descentralizados, mas não operam na mesma escala ou produtividade que seus equivalentes centralizados.

E embora o ZK tenha evoluído para suportar computação fora da cadeia verificável, as soluções que surgiram são limitadas e fragmentadas, sem nenhum projeto ZK abordando a peça que faltava mais importante na pilha Web3: as consultas.

É por isso que a equipe da Space and Time criou a Prova de SQL: uma prova ZK que justapõe a escala de um data warehouse (um banco de dados em escala empresarial) com a auditabilidade de um blockchain. A prova SQL demonstra que as consultas executadas em um banco de dados são calculadas corretamente nos dados corretos e que tanto a consulta quanto os dados subjacentes não foram adulterados. Isso permite que contratos inteligentes acessem a computação de banco de dados fora da cadeia de forma verificável, preenche a lacuna de consulta na Web3 e permite que os desenvolvedores criem NFTs, protocolos e instrumentos financeiros confiáveis ​​com base em dados na cadeia.

A prova de SQL permite que o data warehouse descentralizado do Space and Time sirva como camada de computação verificável do Web3, mas também pode ser conectado a qualquer banco de dados SQL, centralizado ou descentralizado, para fornecer resultados de consulta verificáveis ​​para contratos inteligentes.

Resumidamente

Enquanto estamos à beira de um futuro descentralizado, a importância dos testes ZK na remodelação da Web3 não pode ser exagerada. O advento de soluções como o Proof of SQL destaca o poder transformador do ZK, expandindo sua utilidade muito além da simples privacidade transacional. A evolução contínua e a adoção da tecnologia ZK serão fundamentais na criação de um futuro descentralizado que combine escalabilidade e confiabilidade, inaugurando novos paradigmas de segurança, eficiência e transparência.

Sobre o autor

Jay White é cofundador e chefe de pesquisa da Space and Time. Seu foco principal é a pesquisa, design e implementação do inovador mecanismo anti-adulteração de banco de dados da Space and Time, denominado Prova de SQL.

Antes de Espaço e Tempo, Jay era professor de matemática, com pesquisas focadas em problemas de matemática computacional. A experiência de Jay em desenvolvimento algorítmico e pesquisa algébrica o posicionou de maneira única para fundir a matemática teórica da criptografia com a implementação escalonável necessária para criar garantias criptográficas para bancos de dados em escala empresarial. Basicamente, Jay é um apaixonado solucionador de problemas, visionário e pesquisador que está construindo uma solução essencial para a infraestrutura Web3.

O post Zero-Knowledge (ZK) 101: Tudo o que você precisa saber sobre as provas ZK apareceu pela primeira vez no CryptoPotato .