Como a Jornada de zkEVM para zkVM Melhorou a Escalabilidade da Blockchain

Beta Stage 2 do Polygon zkEVM impulsionará o crescimento de DApps e a atividade DeFi
A tecnologia blockchain evoluiu muito desde a criação do Bitcoin há mais de uma década. Embora as redes blockchain iniciais tenham sido inovadoras em sua abordagem descentralizada, elas enfrentaram desafios significativos, especialmente em termos de escalabilidade. À medida que as aplicações e casos de uso da blockchain continuam a se expandir, encontrar soluções para problemas de escalabilidade tornou-se uma prioridade máxima.
Um dos avanços promissores neste campo é a transição de zkEVM (Zero-Knowledge Ethereum Virtual Machine) para zkVM (Zero-Knowledge Virtual Machine), que tem o potencial de melhorar drasticamente a escalabilidade da blockchain. Neste artigo, mergulharemos no mundo do zkEVM, exploraremos suas limitações e entenderemos como a evolução para o zkVM está prestes a trazer melhorias substanciais na escalabilidade da blockchain.
A Ascensão das Provas de Conhecimento Zero (ZKPs)
As provas de conhecimento zero desempenham um papel fundamental na proteção da privacidade do usuário na internet, especialmente à medida que buscamos uma adoção generalizada na blockchain. Elas também prometem resolver desafios computacionais. Atualmente, existem duas vias proeminentes para alcançar isso: zkEVMs e zkVMs. Nesta exploração, entraremos em ambos os enfoques, ponderando suas vantagens e desvantagens. No entanto, antes de mergulhar nesta análise, é essencial compreender o que estamos otimizando e por que a privacidade é tão significativa.
No reino da evolução criptográfica, assim como na contraparte biológica, o desenvolvimento de características é guiado pelo objetivo de otimizar resultados específicos. O Bitcoin, por exemplo, priorizou a segurança acima de tudo, reconhecendo que a moeda digital descentralizada precisava ser inequivocamente segura antes de ganhar aceitação e adoção generalizada. A Ethereum seguiu um caminho semelhante, enfatizando a segurança enquanto introduzia uma camada adicional: a programabilidade oferecida pelos contratos inteligentes.
Essas iterações na evolução criptográfica tendem a se construir umas sobre as outras, cada uma trazendo seu conjunto único de compensações. No caso da Ethereum, cada nó é obrigado a reexecutar cada transação, apresentando desafios computacionais formidáveis que resultam em altas taxas de gás e velocidades de transação lentas. A decisão de realizar computações diretamente na blockchain foi tomada para melhorar a segurança e a transparência. No entanto, isso tem um custo: desempenho e privacidade comprometidos.
Os rollups surgiram como uma solução para melhorar a escalabilidade, reduzindo as cargas computacionais associadas à Ethereum. Embora comecem a resolver o problema de desempenho, não levam em conta as preocupações com a privacidade. Isso é significativo porque a privacidade evoluiu para um requisito essencial para aplicativos que buscam expandir sua base de usuários. Os usuários estão cada vez mais exigindo maior controle sobre seus dados e tornando-se cautelosos com entidades que buscam acesso irrestrito às suas informações.
Os desenvolvedores de aplicativos reconheceram essa tendência crescente em direção à privacidade e sua necessidade. Consequentemente, têm explorado ativamente métodos para proteger a privacidade por meio do uso de provas de conhecimento zero (ZKPs). Esses protocolos criptográficos permitem que usuários ou aplicativos verifiquem a veracidade de uma afirmação sem divulgar nenhuma informação adicional. Por exemplo, os ZKPs podem confirmar que um usuário tem mais de 18 anos sem revelar sua idade exata ou data de nascimento.
Como destacado no relatório de 2023 da a16z sobre o Estado da Criptomoeda, a adoção da tecnologia de provas ZK pelos desenvolvedores deve aumentar ainda mais. Essa tendência é impulsionada por um aumento nas publicações acadêmicas e pelo número crescente de transações diárias que envolvem a verificação de provas ZK na rede Ethereum. O impulso por trás dos ZKPs demonstra sua importância crescente na busca por equilibrar privacidade, segurança e escalabilidade no espaço blockchain.
Compreendendo o zkVM
O primeiro aspecto que precisa ser definido é: o que constitui uma máquina virtual (VM)? Em resumo, uma VM é um programa de software capaz de executar outros programas, funcionando tipicamente como um loop iterativo que executa um conjunto específico de instruções — essas instruções representam o "outro programa".
A Ethereum Virtual Machine (EVM), especificamente, serve como a VM responsável pela execução dos contratos inteligentes da Ethereum. A compilação original das instruções suportadas e seus respectivos comportamentos foi delineada em 2014 no amarelo seminal — distinguido não apenas por sua importância, mas também por sua cor amarela distinta — escrito por Gavin Wood. O documento mantém um estado de atualizações contínuas, visando refletir o conjunto atual de instruções suportadas.
Uma máquina virtual de conhecimento zero (zkVM), por outro lado, é essencialmente uma VM implementada como um circuito dentro de um sistema de prova de conhecimento zero (zkp). Isso a distingue dos sistemas zkp convencionais que se concentram predominantemente em provar a execução de programas. Nos zkVMs, o foco muda para a verificação da execução de uma máquina virtual em si. Consequentemente, algumas pessoas traçam uma distinção, categorizando os zkp não-VM como parte da abordagem FPGA (Field-Programmable Gate Array), enquanto consideram os zkVMs como constituintes da abordagem CPU (Central Processing Unit).
Dentro dos sistemas zkp, os programas ou circuitos são entidades imutáveis, semelhantes aos binários compilados a partir de programas específicos. Consequentemente, um circuito zkVM incorpora efetivamente um número predeterminado de iterações para o loop, o que pode ser comparado ao desenrolar do loop. Em essência, um zkVM é um circuito projetado para executar uma máquina virtual. As instruções do programa real podem ser introduzidas como entrada pública neste circuito, permitindo transparência completa sobre o programa sendo verificado. (Vários métodos existem para transmitir as instruções do programa à VM caso se deseje explorar alternativas adicionais.)
Vários projetos zkVM surgiram, com pelo menos três empreendimentos notáveis:
- Cairo: Utilizado pela Starknet, este projeto é notável por seu minucioso artigo, considerado uma obra de arte. Uma implementação experimental conhecida como "turshi" também está incluída no framework Kimchi.
- Miden: Um projeto em andamento no ecossistema Polygon, o Miden está atualmente em desenvolvimento.
- Risczero: Outra iniciativa em desenvolvimento, o Risczero visa suportar o conjunto de instruções RISC-V, um padrão amplamente reconhecido além do domínio blockchain.
Cada um desses projetos acometa conjuntos de instruções distintos, tornando-os não interoperáveis entre si.
Tipos de zkVM
O campo das VMs zk pode ser categorizado em dois tipos distintos:
- VMs otimizadas para zk: Exemplos notáveis incluem Cairo e Miden. Essas VMs são meticulosamente projetadas para priorizar a eficiência, tornando-as significativamente mais rápidas. Seu objetivo principal é facilitar a integração perfeita com sistemas de prova de conhecimento zero (zkp), simplificando o processo de verificação.
- VMs do mundo real: Esta categoria abrange VMs como RiscZero, que suporta o conjunto de instruções RISC-V, e vários zkEVMs adaptados à Ethereum Virtual Machine (EVM). As VMs do mundo real destinam-se a fornecer compatibilidade com conjuntos de instruções e ecossistemas estabelecidos além do reino das provas de conhecimento zero.
A motivação por trás do suporte à EVM pode ser atribuída a vários motivos convincentes. Em primeiro lugar, para a própria Ethereum, isso permite a criação de provas abrangendo toda a transição de estado — desde o estado gênese até o estado mais recente da Ethereum. Essa capacidade é exemplificada por projetos como Mina.
Em segundo lugar, para projetos não-Ethereum, adotar a compatibilidade com EVM oferece a vantagem de incorporar perfeitamente projetos e aplicativos do ecossistema Ethereum, como Uniswap. Isso não apenas facilita a interoperabilidade, mas também apresenta uma oportunidade de atrair desenvolvedores da comunidade Ethereum para novos projetos.
Mecanismo do zkVM
ZkVM, derivado de nosso trabalho anterior no TxVM e influenciado pelos designs do Bitcoin e Ethereum, introduz um novo formato de transação. No ZkVM, uma transação é representada como um programa que manipula diretamente o fluxo de ativos como objetos de primeira classe, atualizando o estado da blockchain por meio de um registro de transações. Essa separação da aplicação do registro de transações da validação permite um design altamente escalável, ao mesmo tempo que fornece um ambiente robusto para contratos personalizados.
Para melhorar a escalabilidade da blockchain e permitir transferências de valor confidenciais, o ZkVM emprega um modelo UTXO (Unspent Transaction Output) para representar saldos. Todos os saldos são expressos como conjuntos de saídas não gastas (UTXOs), que podem ser criadas, destruídas e manipuladas dentro das transações. Essas UTXOs são armazenadas eficientemente como raízes de Merkle usando o esquema Utreexo, reduzindo significativamente os requisitos de armazenamento e facilitando a implantação mais ampla de nós totalmente validadores.
No ZkVM, cada saída é um contrato armazenado no estado da blockchain, contendo vários itens protegidos por um predicado — uma condição que deve ser cumprida para desbloquear esses itens. O ZkVM utiliza um design baseado em Taproot, permitindo que os contratos sejam desbloqueados por meio de assinaturas criptográficas ou executando um sub-programa embutido que verifica condições personalizadas.
Contratos no ZkVM servem como blocos de construção versáteis para protocolos de nível superior, como contas, livros de pedidos e canais de pagamento. Essa flexibilidade permite que plataformas como a Stellar afastem as escolhas de design de protocolo da camada crítica de consenso, promovendo a experimentação com uma ampla gama de aplicativos descentralizados.
Quanto à confidencialidade, o ZkVM atinge um equilíbrio usando o esquema Taproot nos predicados. A lógica do contrato não precisa ser revelada se todas as partes cooperarem, mas a segurança permanece intacta se não cooperarem. Mesmo quando a lógica do contrato deve ser divulgada, dados como saldos e parâmetros do contrato permanecem confidenciais devido a um sistema de restrições verificado por conhecimento zero.
O ZkVM aproveita o sistema de prova de conhecimento zero Bulletproofs, criptografando valores e dados por padrão como compromissos de Pedersen. Os usuários podem especificar expressões aritméticas e lógicas sobre valores secretos, que são automaticamente transformados em um sistema de restrições Bulletproofs. As transações são compactas e eficientes, com transações pequenas variando de 1 a 1,5 KB de tamanho e pagamentos agregados incorrendo em um custo marginal de apenas 200 bytes por par entrada-saída. A verificação é altamente paralelizável, levando apenas cerca de 1 milissegundo por saída. Essa eficiência permite que o ZkVM priorize a segurança sem comprometer a criptografia de dados, garantindo que os dados sejam revelados apenas às partes autorizadas na base do "necessário saber". Além disso, o framework Bulletproofs elimina a necessidade de uma configuração confiável, permitindo a criação de novos protocolos sobre o ZkVM sem exigir atualizações em toda a rede para cada recurso.
A Necessidade de Transição de zkEVM para zkVM
Limitações do zkEVM
Embora o zkEVM tenha introduzido melhorias significativas, ainda tinha algumas limitações que impediam seu potencial de escalabilidade:
- Compatibilidade Limitada: O zkEVM foi projetado principalmente para a rede Ethereum. Isso significava que outras plataformas blockchain não podiam adotar facilmente a tecnologia, limitando seu impacto mais amplo no ecossistema blockchain.
- Complexidade: Implementar o zkEVM exigia um profundo entendimento de provas de conhecimento zero e criptografia. Essa complexidade tornava desafiador para os desenvolvedores incorporar o zkEVM em seus projetos, limitando ainda mais sua adoção.
- Desafios de Armazenamento e Dados: O zkEVM não abordava eficazmente a questão do armazenamento de dados na blockchain. Os grandes requisitos de armazenamento de dados permaneciam um gargalo para a escalabilidade.
A Transição para zkVM: Um Avanço na Escalabilidade
Reconhecendo as limitações do zkEVM, a comunidade blockchain embarcou em uma jornada para desenvolver uma solução mais versátil e escalável, levando ao nascimento do zkVM, ou Máquina Virtual de Conhecimento Zero.
O zkVM constrói sobre os princípios fundamentais do zkEVM, abordando suas deficiências. Vamos explorar como o zkVM está posicionado para revolucionar a escalabilidade da blockchain:
- Compatibilidade Multiplataforma: Ao contrário do zkEVM, o zkVM é projetado para ser agnóstico à blockchain. Isso significa que ele pode ser integrado a várias redes blockchain, não se limitando à Ethereum. Essa compatibilidade mais ampla abre as portas para que o zkVM tenha um impacto mais significativo em todo o ecossistema blockchain.
- Melhoria na Experiência do Usuário: O zkVM visa simplificar o processo de implementação para os desenvolvedores. Ao oferecer ferramentas e interfaces amigáveis, o zkVM facilita para os desenvolvedores aproveitar o poder das provas de conhecimento zero, reduzindo a barreira de entrada.
- Gestão de Dados Aprimorada: O zkVM aborda a questão do armazenamento de dados de forma mais eficaz. Ele introduz técnicas inovadoras para compressão e armazenamento de dados, reduzindo os requisitos de armazenamento na blockchain. Essa otimização tem um impacto positivo direto na escalabilidade, diminuindo o tamanho dos dados da blockchain.
- Processamento de Transações Mais Rápido: Com as capacidades de computação off-chain do zkVM, a carga computacional na rede blockchain é ainda mais reduzida. Isso leva a tempos de processamento de transações mais rápidos, taxas mais baixas e desempenho geral aprimorado.
Para o que Estamos Otimizando?
A Lockheed Martin embarcou na ambiciosa tarefa de criar o F-35, imaginando-o como um caça versátil capaz de substituir caças especializados ar-ar e ar-terra. No entanto, esse empreendimento encontrou obstáculos significativos, ficando um décimo atrás do cronograma pretendido e ganhando uma reputação entre especialistas da indústria como um dos caças menos bem-sucedidos já produzidos.
A principal lição tirada dessa experiência é que, quando um sistema é projetado com um propósito específico em mente, ele geralmente se destaca em cumprir esse papel particular em comparação com uma solução que tenta otimizar para múltiplos objetivos simultaneamente.
Traçando um paralelo com o reino da blockchain, a Ethereum foi inicialmente concebida como uma plataforma totalmente pública e transparente. Se alguém se esforçar para introduzir recursos de privacidade em uma blockchain assim, é improvável que se alcance o mesmo nível de desempenho de um sistema projetado com a privacidade como um princípio central desde o início. Isso apresenta desafios de engenharia, pois os desenvolvedores devem adaptar programas que não foram originalmente destinados a funcionar nesse contexto, levando à criação de circuitos complexos e desajeitados.
No entanto, a abordagem alternativa envolve o desenvolvimento de uma camada de aplicativo projetada especificamente para privacidade. Essa abordagem permite a otimização das funcionalidades relacionadas à privacidade, ao mesmo tempo que se colhem os benefícios oferecidos pelas provas de conhecimento zero, um tópico que exploraremos na próxima seção.
Aplicações do Mundo Real de zkVM e zkEVM
Tanto o zkEVM quanto o zkVM encontram aplicações em vários domínios, prometendo remodelar indústrias e casos de uso blockchain:
- Revolução DeFi: As plataformas de Finanças Descentralizadas (DeFi) podem aproveitar zkVM e zkEVM para melhorar a velocidade das transações, reduzir taxas e proteger dados financeiros sensíveis.
- Transformação da Cadeia de Suprimentos: Maior transparência e rastreabilidade nas cadeias de suprimentos são possíveis com zkVM e zkEVM, reduzindo fraudes e aumentando a eficiência.
- Segurança de Dados de Saúde: zkEVM e zkVM podem garantir a privacidade e a segurança dos dados de saúde, permitindo o compartilhamento seguro de informações entre partes autorizadas.
- Jogos e NFTs: A indústria de jogos e os marketplaces de Tokens Não Fungíveis (NFTs) podem se beneficiar de transações mais rápidas e manuseio seguro de dados fornecidos por zkVM e zkEVM.
O Futuro do zkVM e da Escalabilidade Blockchain
À medida que o zkVM ganha tração no espaço blockchain, ele tem o potencial de abordar os problemas de escalabilidade de longa data que limitaram a adoção e o crescimento da blockchain. No entanto, como qualquer tecnologia emergente, há desafios a superar e considerações a ter em mente:
- Barreiras de Adoção: Embora a compatibilidade do zkVM com várias blockchains seja uma vantagem significativa, a adoção generalizada ainda dependerá da disposição dos projetos blockchain de integrar essa tecnologia em suas redes.
- Preocupações com Segurança: As provas de conhecimento zero introduzem técnicas criptográficas complexas, e quaisquer vulnerabilidades podem representar riscos significativos de segurança. A auditoria contínua e a melhoria das implementações do zkVM são cruciais para manter a confiança dos usuários.
- Cenário Regulatório: À medida que a tecnologia blockchain evolui, ela continuará enfrentando escrutínio regulatório. Resta saber como os reguladores tratarão as provas de conhecimento zero e suas aplicações, o que pode impactar a futura adoção do zkVM.
Conclusão
A jornada do zkEVM para o zkVM representa um passo significativo em frente para abordar os desafios de escalabilidade da blockchain. Embora o zkEVM tenha lançado as bases, o zkVM oferece uma solução mais versátil e escalável que tem o potencial de revolucionar a forma como a tecnologia blockchain é usada em várias indústrias.
A transição para o zkVM não está isenta de desafios, mas os benefícios que traz em termos de compatibilidade multiplataforma, facilidade de uso, gestão de dados e velocidade de processamento de transações o tornam um avanço convincente no espaço blockchain. À medida que o zkVM continua a evoluir e encontrar seu lugar nos ecossistemas blockchain, podemos esperar ver mais aplicativos blockchain escaláveis e eficientes que têm o potencial de transformar indústrias e melhorar a vida das pessoas ao redor do mundo.
Perguntas Frequentes
O que é zkEVM e por que ele foi insuficiente para a escalabilidade das blockchains?
zkEVM significa Zero-Knowledge Ethereum Virtual Machine. Ele era limitado em escalabilidade porque se concentrava principalmente no Ethereum, não tinha compatibilidade entre blockchains e não abordava eficazmente o armazenamento de dados e a usabilidade.
O que é zkVM e como ele difere do zkEVM?
zkVM, ou Zero-Knowledge Virtual Machine, é uma solução mais versátil e compatível com múltiplas blockchains que se baseia no zkEVM. Ela simplifica o desenvolvimento, melhora a gestão de dados e oferece processamento de transações mais rápido em comparação ao zkEVM.
Como o zkVM melhora a experiência do usuário para desenvolvedores de blockchain?
O zkVM simplifica o desenvolvimento fornecendo ferramentas e interfaces amigáveis, reduzindo a complexidade da implementação de provas de conhecimento zero e facilitando para os desenvolvedores aproveitarem essa tecnologia.
Quais são as aplicações reais do zkVM e do zkEVM nos ecossistemas de blockchain?
Tanto o zkVM quanto o zkEVM têm aplicações em DeFi, cadeia de suprimentos, segurança de dados na saúde, jogos, NFTs e muito mais, oferecendo maior velocidade nas transações, segurança de dados e privacidade.
Quais desafios o zkVM enfrenta em sua adoção e desenvolvimento futuro?
Os desafios incluem a adoção generalizada entre projetos de blockchain, garantir segurança em técnicas criptográficas complexas e navegar pelas possíveis barreiras regulatórias à medida que a tecnologia evolui.
Aviso Legal. As informações fornecidas não constituem aconselhamento de investimento. Cryptopolitan.com não assume responsabilidade por quaisquer investimentos realizados com base nas informações fornecidas nesta página. Recomendamos fortemente a realização de pesquisa independente e/ou consulta com um profissional qualificado antes de tomar quaisquer decisões de investimento.

Shayan Chowdhury
Shayan é um jornalista profissional de criptomoedas especializado em módulos criptográficos e desenvolvimento blockchain. Foi repórter de notícias na CoinPedia e editor de notícias (estagiário) na Binance. É editor de previsões de preços de criptomoedas na Cryptopolitan desde outubro de 2022. Shayan estudou no Bidhannagar Government College, onde obteve bacharelado em Matemática.
















