Comparando Soluções de Escalabilidade: ZK Rollups no Ethereum vs Compressão ZK no Solana

Avançado7/31/2024, 12:16:57 PM
Este artigo compara duas soluções de escalonamento de blockchain: ZK Rollups da Ethereum e ZK Compression da Solana. Ele explora suas vantagens e desafios em termos de implementação técnica e aplicação.

Os primeiros dias do blockchain foram cheios de entusiasmo. No entanto, à medida que mais pessoas começaram a usá-lo e os volumes de transações aumentaram, surgiu um problema significativo: escalabilidade. Juntamente com os problemas de escalabilidade, havia outros como segurança e descentralização. Este desafio conhecido como o "trilema do blockchain", sugere que é difícil alcançar simultaneamente os três atributos.

O Bitcoin, o primeiro blockchain, só podia lidar com algumas transações por segundo, e o Ethereum não era muito melhor. Isso levou a uma demanda por soluções que pudessem aumentar a escalabilidade do blockchain.

Essa demanda deu origem às Provas ZK.

Provas de ZK como uma Solução de Escalonamento

"Zero-knowledge" foi introduzido pela primeira vez em um artigo de 1985 de Shafi Goldwasser, Silvio Micali e Charles Rackoff intitulado " A complexidade do conhecimento dos sistemas de prova interativa,” Este artigo explicou provas de conhecimento zero muito antes de as criptomoedas entrarem em existência.

De acordo com o artigo,

Uma prova de conhecimento zero é uma maneira para uma parte (o provador) provar a outra parte (o verificador) que uma afirmação é verdadeira, sem revelar nenhuma informação adicional além da verdade dessa afirmação específica.

Em outras palavras, os princípios do conhecimento zero garantem que nenhum conhecimento extra seja transferido do provador para o verificador, além da declaração ser verdadeira.

Uma analogia clássica para explicar o conceito de Provas de Conhecimento Zero é a “Caverna de Ali Babá”:

Cenário: Há uma caverna com dois caminhos, A e B, que formam um loop e se encontram em uma porta trancada. Jane (o provador) sabe o código secreto para abrir a porta, e Paul (o verificador) quer ser convencido de que Jane conhece o código sem aprender o código ele mesmo.

Process:

  1. Jane entra na caverna e escolhe aleatoriamente o caminho A ou B.

  2. Paul espera do lado de fora, sem saber qual caminho Jane tomou.

Fonte: Mighty Block

  1. Paulo então entra na caverna e chama o caminho pelo qual quer que Jane retorne (seja A ou B).

  2. Se Jane souber o código, ela pode abrir a porta e retornar pelo caminho escolhido.

  3. Esse processo (1-5) é repetido várias vezes para garantir que Jane não está apenas adivinhando corretamente por acaso.

Se depois de muitas repetições Jane retornar consistentemente pelo caminho correto, Paul pode ter certeza de que Jane conhece o código sem nunca ter aprendido o código ele mesmo.

Provas de Conhecimento Zero visam garantir privacidade e segurança, mantendo informações sensíveis privadas, permitindo que outros verifiquem sua autenticidade. Em termos mais simples, Provas de Conhecimento Zero ajudam a manter os dados importantes seguros, provando que são legítimos sem revelar os detalhes.

O conceito de Provas de Conhecimento Zero também gerou o desenvolvimento de várias técnicas criptográficas avançadas e aplicações como ZK Rollups e Compressões ZK.

Em 2018, um Barry Whitehat anônimo carregou um repositório do GitHub chamado “roll_up,” que introduziu a ideia de rollups. Pouco depois, o criador do Ethereum, Vitalik Buterin, levou esse conceito adiante e desenvolveu os zk-Rollups.

Zk-Rollups, abreviação de rollups de conhecimento zero, são soluções de escalonamento de camada 2 projetadas para aumentar o desempenho da mainnet do Ethereum escalando-a. Eles fazem isso movendo a computação e o armazenamento de estado para fora da cadeia.

A Camada-2 é um protocolo secundário construído em cima de uma blockchain para melhorar sua escalabilidade, velocidade e reduzir as taxas de transação.

Em 21 de junho, Light Protocol, uma camada de privacidade baseada em Solana, anunciadoque se uniu à equipe de desenvolvimento da Solana, Helius Labs, para lançar a testnet para sua nova solução de escala "ZK Compression" como um meio de reduzir significativamente os custos de computação on-chain.

Enquanto zk-Rollups e zk-Compression usam o poder das provas de conhecimento zero para otimizar a tecnologia blockchain, eles servem para propósitos diferentes e são implementados de maneiras diferentes.

Independentemente disso, tem havido debates em curso e desavenças das comunidades Ethereum e Solana sobre qual é melhor.

Por exemplo, um membro da comunidade ETH chamadocompressão ZK 'outro L2'.

Depois dissorespostado Mert (CEO da heliuslabs) para o tweet acima, a comunidade Solana revidou com um vídeo de zombaria criativa mirando no Ethereum.

O vídeodestacou um médico tratando um paciente “ETH Maximysis”. Uma frase do vídeo afirmou:

É uma reação comum enfrentada pelos Maxis do ETH. Eles não conseguem funcionar sem outra camada. Camada 3! Camada 4!

A contínua rivalidade entre essas blockchains é evidente. Portanto, este artigo tem como objetivo fornecer uma comparação clara e abrangente de suas soluções de escalabilidade, destacando as características únicas de cada uma, diferenças e casos de uso práticos.

O que são ZK Rollups?

Em sua essência, ZK Rollups é uma solução de escalação de camada 2 projetada para melhorar a eficiência e escalabilidade das redes blockchain.

A ideia é simples: em vez de processar cada transação diretamente na blockchain principal, os ZK-Rollups agrupam várias transações em uma única prova. Essa prova consolidada é então enviada para a blockchain para verificação.

Fonte: Datawallet

Esta abordagem aumenta significativamente a taxa de transações (o número de transações que a rede pode lidar dentro de um período determinado) sem comprometer a segurança da rede.

Para compreender isso adequadamente,

Imagine-se organizando um concerto. Em vez de permitir que cada participante entre um por um por meio de um portão estreito (a blockchain principal), o que poderia causar congestionamento e atrasos, você implementa um sistema onde grupos de participantes são verificados juntos nos pontos de controle. Cada grupo carrega um único bilhete que prova que todos no grupo foram devidamente verificados e admitidos. Dessa forma, você mantém a segurança e a eficiência reduzindo o bloqueio na entrada.

ZK Rollups melhora a escalabilidade processando transações off-chain e assegurando-as com técnicas criptográficas avançadas como ZK-SNARKs ou ZK-STARKs. Isso garante que as transações sejam válidas e privadas, melhorando assim a eficiência e segurança geral para os usuários.

zk-SNARKs são provas zk que fornecem provas sucintas (ou seja, o tamanho da prova é curto e eficiente para verificar). Eles são adequados para aplicações onde o tamanho da prova e o tempo de verificação são críticos.

zk-STARKs são provas zk que permitem provas maiores e mais complexas, tornando-as adequadas para aplicações como auditorias financeiras em larga escala, privacidade de dados e verificação de computações.

ZK Rollups são uma solução de dimensionamento perfeita para redes blockchain como o Ethereum, pois agregam transações off-chain em lotes, reduzindo os dados postados diretamente no Ethereum.

Como ZK Rollups Operam no Ethereum

ZK-rollups utiliza técnicas criptográficas para agregar e validar transações off-chain, melhorando assim a escalabilidade e reduzindo os custos na blockchain do Ethereum.

Origem: Maple Block

Aqui está uma explicação passo a passo de como os ZK-rollups operam:

  1. Agregação de transações: isso envolve usuários assinando e enviando transações para operadores ZK-Rollup (sequenciadores), que as agregam em lotes.
  2. Processamento fora da cadeia: as transações são processadas fora da cadeia, fora do Ethereum Mainnet (Camada 1).
  3. Atualizações de estado: Após processar um lote de transações, o operador ZK-Rollup calcula uma nova raiz de estado para o estado do rollup.
  4. Provas de Validade: o operador ZK-Rollup então gera uma prova de validade, garantindo que todas as transações no lote foram executadas corretamente e seguiram as regras do protocolo.
  5. Verificação on-chain: o operador ZK-Rollup submete a prova de validade e a nova raiz de estado a um contrato inteligente Ethereum on-chain chamado contrato de rollup, que verifica e atualiza seu estado de acordo.
  6. Interação do Usuário: Os usuários interagem com o ZK Rollup depositando tokens no contrato rollup na Ethereum Mainnet, iniciando transações dentro do rollup e retirando tokens de volta para a Mainnet quando necessário.
  7. Mecanismo de Saída: Para retirar tokens do ZK Rollup para a Mainnet do Ethereum, os usuários enviam uma solicitação de saque com uma prova de Merkle confirmando a propriedade de seus tokens dentro do estado do rollup. Após validação pelo contrato rollup, os tokens são transferidos de volta para o endereço Ethereum do usuário.

Os Benefícios dos ZK Rollups

Aqui estão algumas das vantagens do ZK Rollups:

  1. Escalabilidade aumentada: Ao agrupar muitas transações em um único lote, zk-rollups podem lidar com milhares de transações por segundo (TPS), aumentando significativamente a capacidade em comparação com a camada base.
  2. Taxas mais baixas: O custo por transação é reduzido à medida que as taxas de gás são distribuídas entre muitas transações dentro de um lote de rollup, tornando-o mais econômico para os usuários.
  3. Segurança de nível Ethereum: os zk-rollups herdam a segurança da cadeia principal do Ethereum porque eles postam provas (zk-SNARKs) no Ethereum, garantindo a validade das transações off-chain.
  4. Carga de Dados Reduzida: Ao postar apenas provas sucintas na main chain, zk-rollups reduzem significativamente a quantidade de dados que precisam ser processados e armazenados na blockchain do Ethereum.
  5. Privacidade aprimorada: zk-rollups podem oferecer recursos de privacidade melhorados. Provas de conhecimento zero podem ocultar detalhes da transação, enquanto ainda provam sua validade, possibilitando transações privadas em blockchains públicos.

Os Aspectos Negativos dos ZK Rollups

Embora os ZK Rollups ofereçam muitas vantagens, também têm desvantagens e desafios.

Aqui estão algumas desvantagens:

  1. Complexidade: ZK-rollups são tecnicamente complexos e requerem conhecimento especializado para implementação e manutenção.
  2. Disponibilidade de Dados: Garantir que os dados necessários para reconstruir o estado estejam disponíveis na cadeia é crucial. Se os dados não estiverem disponíveis, isso pode dificultar a capacidade de validar e reconstruir o estado do rollup. Além disso, os zk-rollups muitas vezes dependem de armazenamento de dados off-chain, o que pode representar riscos se os dados forem perdidos ou se tornarem inacessíveis.
  3. Custos computacionais: A geração de provas de conhecimento zero (zk-SNARKs) é intensiva em termos computacionais e requer significativa capacidade de processamento.
  4. Riscos de centralização: ainda pode haver riscos de centralização se a infraestrutura de prova for controlada por algumas entidades.

Casos de uso atuais de ZK Rollups

Novos projetos ZK Rollup estão surgindo todos os dias. Aqui estão alguns dos projetos ZK-Rollup:

Origem: Moralis

Projetos como Starkware(que desenvolve escalonamento L2 autorizado e personalizado),Rede Aztec(construindo criptografia de blockchain usando zkSNARKs),Argent(uma carteira não custodial integrada com zkSync)Immutable X(uma plataforma de criação e negociação de NFTs) eLoopring(um protocolo de câmbio e pagamento zk-rollup na Ethereum) todos usam ZK Rollups.

Aqui estão as diferentes maneiras como ZK Rollups são usados:

  1. Na Finanças Descentralizadas (DeFi): Ajuda os usuários a emprestar, pedir emprestado e negociar com custos de gás mais baixos.
  2. Nas Trocas Descentralizadas (DEXs): facilita trocas de tokens mais rápidas e econômicas, enquanto melhora a privacidade.
  3. Nos Jogos e NFT: Aumenta o envolvimento do usuário em plataformas digitais, capacitando economias em jogo escaláveis e vibrantes mercados de NFT.
  4. Em Pagamentos: Facilita transações rápidas e de baixo custo e pagamentos transfronteiriços.

O que é Compressão ZK?

A compressão ZK é uma primitiva, criada e lançada porProtocolo de LuzeHelius Labs. Ele reduz os custos on-chain usando provas de conhecimento zero e compressão para minimizar a quantidade de dados armazenados on-chain e, assim, a demanda de computação colocada na Solana através de transações.

Um primitivo é um algoritmo criptográfico de baixo nível que é usado como base ou bloco de construção por algoritmos criptográficos de nível superior.

Para compreender melhor a Compressão ZK, é importante entender a arquitetura única do Solana e os desafios que ela enfrenta.

Compreendendo as "Contas" na Solana

Ao contrário do Ethereum, onde contratos inteligentes e dados estão intimamente ligados, Solana usa um modelo onde os dados são armazenados em "contas" separadas. Essas contas variam de código executável a saldos de tokens.

Tudo na Solana é uma conta.

Embora esse modelo permita um desempenho e processamento paralelo altos da Solana, isso tem um custo: os validadores precisam manter todas as contas ativas na memória de acesso rápido (RAM), o que é caro.

Para prevenir abusos e compensar validadores, Solana implementa um sistema de “aluguel” onde os usuários devem bloquear tokens SOL para manter suas contas ativas, sendo o valor do aluguel diretamente vinculado ao tamanho dos dados armazenados.

Fonte: 0XMert’s 𝕏

À medida que Solana ganhou popularidade, o custo de criar e manter essas contas se tornou uma barreira significativa para escalar, assim como a necessidade de uma solução - Compressão ZK.

Com o advento da Compactação ZK, o custo de criação de novas contas Solana está definido para diminuir significativamente, potencialmente por “ordens de magnitude”.

Se algo fica mais barato por “ordens de grandeza”, significa que o custo ou esforço envolvido diminui dramaticamente, muitas vezes em dez vezes ou mais em comparação com a quantidade anterior.

Isso significa que a criação de 100 contas de usuário comprimidas que mantêm e rastreiam saldos de criptomoedas (também conhecidas como contas de token) será 5.000 vezes mais barata do que a criação de 100 contas de token regulares.

Pense desta forma: a compressão envolve espremer algo até ocupar menos espaço. A compressão ZK aplica esse princípio, onde 'ZK' significa que a privacidade dos dados comprimidos permanece intacta.

Essencialmente, a compressão ZK armazena apenas a “impressão digital” (hash) dos dados comprimidos na cadeia. Esta abordagem reduz os custos de armazenamento enquanto preserva a privacidade dos dados.

Ao contrário do que os concorrentes dizem, a ZK Compression não é uma cadeia de camada 2 na Solana; é uma atualização para melhorar o armazenamento de dados da Solana e reduzir drasticamente os custos para os desenvolvedores.

Como a Compressão ZK Opera na Solana

A Compactação ZK enfrenta esse desafio de frente, permitindo que os desenvolvedores comprimam vários estados de conta em uma única conta on-chain.

Origem: 0xSumanth’s 𝕏

Aqui está como funciona:

  1. Compactação de conta: Múltiplos estados de conta são combinados e hashados de forma recursiva em uma raiz de estado compacta de 32 bytes.
  2. Armazenamento on-chain e off-chain: Uma árvore de estado é uma árvore binária de Merkle que organiza dados em uma estrutura hierárquica, permitindo a verificação eficiente da integridade dos dados. Esta raiz de estado é armazenada on-chain, enquanto os dados completos da conta são armazenados off-chain no registro do Solana.
  3. Validando Provas: Provas sucintas de conhecimento zero confirmam a existência de várias contas comprimidas dentro das árvores de estado, mantendo um tamanho constante de 128 bytes. Quando uma transação precisa acessar ou modificar os dados comprimidos, ela fornece prova de que os dados correspondem à raiz do estado na cadeia.
  4. Verificação: A prova é verificada na cadeia, permitindo que a transação prossiga se for válida.

A inovação-chave reside no uso de provas de conhecimento zero, especificamente SNARKs (Argumentos Sucintos Não Interativos de Conhecimento), para comprimir as provas de Merkle usadas neste processo.

Origem: 0xMert’s 𝕏

Essa compressão reduz o tamanho da prova de potencialmente centenas de bytes para um constante de 128 bytes, independentemente do número de contas sendo comprimidas.

Essa redução dramática no tamanho dos dados permite que os desenvolvedores trabalhem dentro dos limites de tamanho de transação da Solana, enquanto ainda interagem com várias contas comprimidas em uma única transação.

Os benefícios da compressão ZK na Blockchain Solana

Estes são os aspectos positivos da Compactação ZK para o ecossistema Solana:

  1. Eficiência energética: Reduzir os requisitos de armazenamento e computação diminui o consumo de energia associado às operações.
  2. Escalabilidade: a compressão de dados da Solana permite um maior volume de aplicações e transações, aumentando a escalabilidade geral.
  3. Mantém a Segurança da Camada 1: Ao contrário das soluções da Camada 2, os dados comprimidos mantêm todos os benefícios de segurança da cadeia principal da Solana.
  4. Ambiente tudo-em-um: Os desenvolvedores podem construir e implantar aplicativos dentro de um único ambiente, eliminando a necessidade de pontes entre camadas, o que simplifica o processo de construção.
  5. Custo reduzido: Reduz os custos de armazenamento de dados minimizando os requisitos de armazenamento on-chain.
  6. Programabilidade: Os dados comprimidos continuam totalmente compatíveis com os contratos inteligentes da Solana, preservando sua utilidade e programabilidade.

Desvantagens da Compactação ZK na Blockchain Solana

Estes são os inconvenientes da Compressão ZK para a Solana:

  1. Complexidade computacional: A geração de provas de conhecimento zero é intensiva computacionalmente, o que pode levar a custos elevados e desempenho mais lento.
  2. Desafios de Implementação: Desenvolver e implementar a compressão ZK requer conhecimento especializado em criptografia.
  3. Problemas de escalabilidade: Embora a compressão ZK vise melhorar a escalabilidade, os requisitos computacionais às vezes podem compensar esses benefícios, especialmente em ambientes com recursos limitados.
  4. Overhead de Verificação: Verificar provas de conhecimento zero, embora geralmente menos intensivo do que gerá-las, ainda requer recursos computacionais. Em alguns casos, isso pode introduzir latência e impactar a eficiência geral do sistema.
  5. Custos Econômicos: As altas demandas computacionais se traduzem em aumento do consumo de energia e custos operacionais. Isso pode tornar a compressão ZK menos economicamente viável para certas aplicações.

Casos de uso da Compressão ZK

Aqui estão alguns possíveis casos de uso de compressão zk:

  1. Aplicações DeFi: protocolos DeFi na Solana como Troca de Júpiter pode utilizar compressão ZK para ajudar a reduzir as taxas e acelerar os tempos de transação.
  2. Micropagamentos: Em soluções de micropagamento como Código, a compressão zk tornaria os pagamentos mais econômicos e sustentáveis na rede Solana, reduzindo os requisitos de armazenamento on-chain para as muitas pequenas transações,
  3. Redes descentralizadas: Protocolos como Hélio, que fornecem redes sem fio descentralizadas, atendem a milhões de usuários e dispositivos. A compactação ZK desempenha um papel vital na gestão da vasta quantidade de dados gerados por essas redes sem a necessidade de soluções intrincadas de Camada 2.
  4. Jogos: A compressão ZK poderia otimizar os custos de armazenamento em jogos como HoneylandTodos os ativos do jogo, itens do jogo e metadados de NFT custariam menos, melhorando assim a experiência geral do usuário.

TL;DR: Comparando ZK Rollups e ZK Compression

Similaridades

  1. Uso de Provas de Conhecimento Zero: Ambas as soluções utilizam provas de conhecimento zero para validar e garantir transações off-chain.
  2. Melhoria da escalabilidade: Eles visam melhorar a escalabilidade da blockchain reduzindo o processamento de transações on-chain e o armazenamento de dados.
  3. Soluções de Camada 2: Ambos são consideradas soluções de escalonamento de camada 2 construídas sobre suas respectivas blockchains para aumentar a capacidade de transações e reduzir custos.

Diferenças

  1. Plataforma de Blockchain: ZK Rollups opera no Ethereum, enquanto ZK Compression é implementado no Solana.
  2. Foco Principal: ZK Rollups focam na agregação e processamento de transações fora da cadeia para melhorar a escalabilidade, enquanto ZK Compression visa principalmente reduzir os custos de armazenamento na cadeia por meio de compressão de dados.
  3. Abordagem de Implementação: ZK Rollups agrupa várias transações em uma única prova para submissão à cadeia principal do Ethereum, enquanto ZK Compression comprime vários estados de conta em uma única conta on-chain na Solana.
  4. Tamanho da Prova: ZK Rollups usam zk-SNARKs ou zk-STARKs para gerar provas sucintas, enquanto a Compressão ZK utiliza zk-SNARKs para comprimir provas de Merkle em um tamanho constante.
  5. Processamento de Transações: ZK Rollups processa transações off-chain e periodicamente envia provas para o Ethereum, enquanto ZK Compression lida com dados de conta comprimidos on-chain com verificação usando provas de conhecimento zero.

Casos de Uso

Casos de uso atuais para ZK Rollups

  1. Aplicações DeFi: Aprimora os protocolos de finanças descentralizadas ao reduzir as taxas de transação e aumentar a velocidade das transações.
  2. Trocas Descentralizadas (DEXs): Facilita trocas eficientes de tokens mantendo a privacidade.
  3. Jogos: Suporta economias escaláveis dentro do jogo e mercados de NFT com custos mais baixos.
  4. Pagamentos: Permite microtransações rápidas e de baixo custo e pagamentos transfronteiriços.

Potencial Caso de Uso da Compressão ZK

  1. Aplicativos DeFi: Reduz taxas e acelera transações para protocolos DeFi na Solana.
  2. Micropagamentos: torna as pequenas transações mais econômicas e sustentáveis, minimizando o armazenamento on-chain.
  3. Redes Descentralizadas: Gerencia grandes volumes de dados de forma eficiente para redes sem fio descentralizadas e aplicações de IoT.
  4. Jogos: Otimiza os custos de armazenamento para ativos de jogos e metadados de NFT, melhorando a experiência do usuário.

Minha Opinião Honesta

Se você está sofrendo de Maximysis Eth, ou é um fiel crente em Solana como eu, o que mais importa é usar a blockchain que atenda às suas necessidades no momento dado.

Eu acho que os ZK Rollups são mais adequados para projetos que precisam de alta segurança e se beneficiam do ecossistema estabelecido do Ethereum, pois eles fornecem um método confiável para escalar o Ethereum, preservando sua estrutura descentralizada.

Por outro lado, com a Compressão ZK, Solana pode lidar com mais transações sem ficar sobrecarregado, mesmo quando o preço do SOL sobe. Portanto, acredito que a Compressão ZK na Solana é perfeita para aplicações que valorizam velocidade, desempenho e eficiência de custos.

A capacidade da Solana de suportar aplicativos descentralizados (dApps) de alto desempenho e baixo custo tem um apelo futurista, pois velocidade e custo são cruciais para a adoção generalizada da tecnologia blockchain.

No final, tanto ZK Rollups quanto ZK Compression poderiam ajudar a tornar as transações mais rápidas, mais baratas e, portanto, mais escaláveis.

Referências

S. Goldwasser, S. Micali, e C. Rackoff, 1985. A complexidade do conhecimento dos sistemas de prova interativa

Helius.dev

zkCompression

Cointelegraph

Ethereum.org

Techopedia

Solanacompass.com

Aviso Legal:

  1. Este artigo é reproduzido de @thelxlxan/soluções-de-escalonamento-zk-rollups-no-ethereum-vs-compressão-zk-no-solana-3f0386c09007">[Lilian], Todos os direitos autorais pertencem ao autor original [Lilian]. Se houver objeções a esta reimpressão, entre em contato com oAprender Gateequipe, e eles lidarão com isso prontamente.
  2. Responsabilidade Legal: As visões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Comparando Soluções de Escalabilidade: ZK Rollups no Ethereum vs Compressão ZK no Solana

Avançado7/31/2024, 12:16:57 PM
Este artigo compara duas soluções de escalonamento de blockchain: ZK Rollups da Ethereum e ZK Compression da Solana. Ele explora suas vantagens e desafios em termos de implementação técnica e aplicação.

Os primeiros dias do blockchain foram cheios de entusiasmo. No entanto, à medida que mais pessoas começaram a usá-lo e os volumes de transações aumentaram, surgiu um problema significativo: escalabilidade. Juntamente com os problemas de escalabilidade, havia outros como segurança e descentralização. Este desafio conhecido como o "trilema do blockchain", sugere que é difícil alcançar simultaneamente os três atributos.

O Bitcoin, o primeiro blockchain, só podia lidar com algumas transações por segundo, e o Ethereum não era muito melhor. Isso levou a uma demanda por soluções que pudessem aumentar a escalabilidade do blockchain.

Essa demanda deu origem às Provas ZK.

Provas de ZK como uma Solução de Escalonamento

"Zero-knowledge" foi introduzido pela primeira vez em um artigo de 1985 de Shafi Goldwasser, Silvio Micali e Charles Rackoff intitulado " A complexidade do conhecimento dos sistemas de prova interativa,” Este artigo explicou provas de conhecimento zero muito antes de as criptomoedas entrarem em existência.

De acordo com o artigo,

Uma prova de conhecimento zero é uma maneira para uma parte (o provador) provar a outra parte (o verificador) que uma afirmação é verdadeira, sem revelar nenhuma informação adicional além da verdade dessa afirmação específica.

Em outras palavras, os princípios do conhecimento zero garantem que nenhum conhecimento extra seja transferido do provador para o verificador, além da declaração ser verdadeira.

Uma analogia clássica para explicar o conceito de Provas de Conhecimento Zero é a “Caverna de Ali Babá”:

Cenário: Há uma caverna com dois caminhos, A e B, que formam um loop e se encontram em uma porta trancada. Jane (o provador) sabe o código secreto para abrir a porta, e Paul (o verificador) quer ser convencido de que Jane conhece o código sem aprender o código ele mesmo.

Process:

  1. Jane entra na caverna e escolhe aleatoriamente o caminho A ou B.

  2. Paul espera do lado de fora, sem saber qual caminho Jane tomou.

Fonte: Mighty Block

  1. Paulo então entra na caverna e chama o caminho pelo qual quer que Jane retorne (seja A ou B).

  2. Se Jane souber o código, ela pode abrir a porta e retornar pelo caminho escolhido.

  3. Esse processo (1-5) é repetido várias vezes para garantir que Jane não está apenas adivinhando corretamente por acaso.

Se depois de muitas repetições Jane retornar consistentemente pelo caminho correto, Paul pode ter certeza de que Jane conhece o código sem nunca ter aprendido o código ele mesmo.

Provas de Conhecimento Zero visam garantir privacidade e segurança, mantendo informações sensíveis privadas, permitindo que outros verifiquem sua autenticidade. Em termos mais simples, Provas de Conhecimento Zero ajudam a manter os dados importantes seguros, provando que são legítimos sem revelar os detalhes.

O conceito de Provas de Conhecimento Zero também gerou o desenvolvimento de várias técnicas criptográficas avançadas e aplicações como ZK Rollups e Compressões ZK.

Em 2018, um Barry Whitehat anônimo carregou um repositório do GitHub chamado “roll_up,” que introduziu a ideia de rollups. Pouco depois, o criador do Ethereum, Vitalik Buterin, levou esse conceito adiante e desenvolveu os zk-Rollups.

Zk-Rollups, abreviação de rollups de conhecimento zero, são soluções de escalonamento de camada 2 projetadas para aumentar o desempenho da mainnet do Ethereum escalando-a. Eles fazem isso movendo a computação e o armazenamento de estado para fora da cadeia.

A Camada-2 é um protocolo secundário construído em cima de uma blockchain para melhorar sua escalabilidade, velocidade e reduzir as taxas de transação.

Em 21 de junho, Light Protocol, uma camada de privacidade baseada em Solana, anunciadoque se uniu à equipe de desenvolvimento da Solana, Helius Labs, para lançar a testnet para sua nova solução de escala "ZK Compression" como um meio de reduzir significativamente os custos de computação on-chain.

Enquanto zk-Rollups e zk-Compression usam o poder das provas de conhecimento zero para otimizar a tecnologia blockchain, eles servem para propósitos diferentes e são implementados de maneiras diferentes.

Independentemente disso, tem havido debates em curso e desavenças das comunidades Ethereum e Solana sobre qual é melhor.

Por exemplo, um membro da comunidade ETH chamadocompressão ZK 'outro L2'.

Depois dissorespostado Mert (CEO da heliuslabs) para o tweet acima, a comunidade Solana revidou com um vídeo de zombaria criativa mirando no Ethereum.

O vídeodestacou um médico tratando um paciente “ETH Maximysis”. Uma frase do vídeo afirmou:

É uma reação comum enfrentada pelos Maxis do ETH. Eles não conseguem funcionar sem outra camada. Camada 3! Camada 4!

A contínua rivalidade entre essas blockchains é evidente. Portanto, este artigo tem como objetivo fornecer uma comparação clara e abrangente de suas soluções de escalabilidade, destacando as características únicas de cada uma, diferenças e casos de uso práticos.

O que são ZK Rollups?

Em sua essência, ZK Rollups é uma solução de escalação de camada 2 projetada para melhorar a eficiência e escalabilidade das redes blockchain.

A ideia é simples: em vez de processar cada transação diretamente na blockchain principal, os ZK-Rollups agrupam várias transações em uma única prova. Essa prova consolidada é então enviada para a blockchain para verificação.

Fonte: Datawallet

Esta abordagem aumenta significativamente a taxa de transações (o número de transações que a rede pode lidar dentro de um período determinado) sem comprometer a segurança da rede.

Para compreender isso adequadamente,

Imagine-se organizando um concerto. Em vez de permitir que cada participante entre um por um por meio de um portão estreito (a blockchain principal), o que poderia causar congestionamento e atrasos, você implementa um sistema onde grupos de participantes são verificados juntos nos pontos de controle. Cada grupo carrega um único bilhete que prova que todos no grupo foram devidamente verificados e admitidos. Dessa forma, você mantém a segurança e a eficiência reduzindo o bloqueio na entrada.

ZK Rollups melhora a escalabilidade processando transações off-chain e assegurando-as com técnicas criptográficas avançadas como ZK-SNARKs ou ZK-STARKs. Isso garante que as transações sejam válidas e privadas, melhorando assim a eficiência e segurança geral para os usuários.

zk-SNARKs são provas zk que fornecem provas sucintas (ou seja, o tamanho da prova é curto e eficiente para verificar). Eles são adequados para aplicações onde o tamanho da prova e o tempo de verificação são críticos.

zk-STARKs são provas zk que permitem provas maiores e mais complexas, tornando-as adequadas para aplicações como auditorias financeiras em larga escala, privacidade de dados e verificação de computações.

ZK Rollups são uma solução de dimensionamento perfeita para redes blockchain como o Ethereum, pois agregam transações off-chain em lotes, reduzindo os dados postados diretamente no Ethereum.

Como ZK Rollups Operam no Ethereum

ZK-rollups utiliza técnicas criptográficas para agregar e validar transações off-chain, melhorando assim a escalabilidade e reduzindo os custos na blockchain do Ethereum.

Origem: Maple Block

Aqui está uma explicação passo a passo de como os ZK-rollups operam:

  1. Agregação de transações: isso envolve usuários assinando e enviando transações para operadores ZK-Rollup (sequenciadores), que as agregam em lotes.
  2. Processamento fora da cadeia: as transações são processadas fora da cadeia, fora do Ethereum Mainnet (Camada 1).
  3. Atualizações de estado: Após processar um lote de transações, o operador ZK-Rollup calcula uma nova raiz de estado para o estado do rollup.
  4. Provas de Validade: o operador ZK-Rollup então gera uma prova de validade, garantindo que todas as transações no lote foram executadas corretamente e seguiram as regras do protocolo.
  5. Verificação on-chain: o operador ZK-Rollup submete a prova de validade e a nova raiz de estado a um contrato inteligente Ethereum on-chain chamado contrato de rollup, que verifica e atualiza seu estado de acordo.
  6. Interação do Usuário: Os usuários interagem com o ZK Rollup depositando tokens no contrato rollup na Ethereum Mainnet, iniciando transações dentro do rollup e retirando tokens de volta para a Mainnet quando necessário.
  7. Mecanismo de Saída: Para retirar tokens do ZK Rollup para a Mainnet do Ethereum, os usuários enviam uma solicitação de saque com uma prova de Merkle confirmando a propriedade de seus tokens dentro do estado do rollup. Após validação pelo contrato rollup, os tokens são transferidos de volta para o endereço Ethereum do usuário.

Os Benefícios dos ZK Rollups

Aqui estão algumas das vantagens do ZK Rollups:

  1. Escalabilidade aumentada: Ao agrupar muitas transações em um único lote, zk-rollups podem lidar com milhares de transações por segundo (TPS), aumentando significativamente a capacidade em comparação com a camada base.
  2. Taxas mais baixas: O custo por transação é reduzido à medida que as taxas de gás são distribuídas entre muitas transações dentro de um lote de rollup, tornando-o mais econômico para os usuários.
  3. Segurança de nível Ethereum: os zk-rollups herdam a segurança da cadeia principal do Ethereum porque eles postam provas (zk-SNARKs) no Ethereum, garantindo a validade das transações off-chain.
  4. Carga de Dados Reduzida: Ao postar apenas provas sucintas na main chain, zk-rollups reduzem significativamente a quantidade de dados que precisam ser processados e armazenados na blockchain do Ethereum.
  5. Privacidade aprimorada: zk-rollups podem oferecer recursos de privacidade melhorados. Provas de conhecimento zero podem ocultar detalhes da transação, enquanto ainda provam sua validade, possibilitando transações privadas em blockchains públicos.

Os Aspectos Negativos dos ZK Rollups

Embora os ZK Rollups ofereçam muitas vantagens, também têm desvantagens e desafios.

Aqui estão algumas desvantagens:

  1. Complexidade: ZK-rollups são tecnicamente complexos e requerem conhecimento especializado para implementação e manutenção.
  2. Disponibilidade de Dados: Garantir que os dados necessários para reconstruir o estado estejam disponíveis na cadeia é crucial. Se os dados não estiverem disponíveis, isso pode dificultar a capacidade de validar e reconstruir o estado do rollup. Além disso, os zk-rollups muitas vezes dependem de armazenamento de dados off-chain, o que pode representar riscos se os dados forem perdidos ou se tornarem inacessíveis.
  3. Custos computacionais: A geração de provas de conhecimento zero (zk-SNARKs) é intensiva em termos computacionais e requer significativa capacidade de processamento.
  4. Riscos de centralização: ainda pode haver riscos de centralização se a infraestrutura de prova for controlada por algumas entidades.

Casos de uso atuais de ZK Rollups

Novos projetos ZK Rollup estão surgindo todos os dias. Aqui estão alguns dos projetos ZK-Rollup:

Origem: Moralis

Projetos como Starkware(que desenvolve escalonamento L2 autorizado e personalizado),Rede Aztec(construindo criptografia de blockchain usando zkSNARKs),Argent(uma carteira não custodial integrada com zkSync)Immutable X(uma plataforma de criação e negociação de NFTs) eLoopring(um protocolo de câmbio e pagamento zk-rollup na Ethereum) todos usam ZK Rollups.

Aqui estão as diferentes maneiras como ZK Rollups são usados:

  1. Na Finanças Descentralizadas (DeFi): Ajuda os usuários a emprestar, pedir emprestado e negociar com custos de gás mais baixos.
  2. Nas Trocas Descentralizadas (DEXs): facilita trocas de tokens mais rápidas e econômicas, enquanto melhora a privacidade.
  3. Nos Jogos e NFT: Aumenta o envolvimento do usuário em plataformas digitais, capacitando economias em jogo escaláveis e vibrantes mercados de NFT.
  4. Em Pagamentos: Facilita transações rápidas e de baixo custo e pagamentos transfronteiriços.

O que é Compressão ZK?

A compressão ZK é uma primitiva, criada e lançada porProtocolo de LuzeHelius Labs. Ele reduz os custos on-chain usando provas de conhecimento zero e compressão para minimizar a quantidade de dados armazenados on-chain e, assim, a demanda de computação colocada na Solana através de transações.

Um primitivo é um algoritmo criptográfico de baixo nível que é usado como base ou bloco de construção por algoritmos criptográficos de nível superior.

Para compreender melhor a Compressão ZK, é importante entender a arquitetura única do Solana e os desafios que ela enfrenta.

Compreendendo as "Contas" na Solana

Ao contrário do Ethereum, onde contratos inteligentes e dados estão intimamente ligados, Solana usa um modelo onde os dados são armazenados em "contas" separadas. Essas contas variam de código executável a saldos de tokens.

Tudo na Solana é uma conta.

Embora esse modelo permita um desempenho e processamento paralelo altos da Solana, isso tem um custo: os validadores precisam manter todas as contas ativas na memória de acesso rápido (RAM), o que é caro.

Para prevenir abusos e compensar validadores, Solana implementa um sistema de “aluguel” onde os usuários devem bloquear tokens SOL para manter suas contas ativas, sendo o valor do aluguel diretamente vinculado ao tamanho dos dados armazenados.

Fonte: 0XMert’s 𝕏

À medida que Solana ganhou popularidade, o custo de criar e manter essas contas se tornou uma barreira significativa para escalar, assim como a necessidade de uma solução - Compressão ZK.

Com o advento da Compactação ZK, o custo de criação de novas contas Solana está definido para diminuir significativamente, potencialmente por “ordens de magnitude”.

Se algo fica mais barato por “ordens de grandeza”, significa que o custo ou esforço envolvido diminui dramaticamente, muitas vezes em dez vezes ou mais em comparação com a quantidade anterior.

Isso significa que a criação de 100 contas de usuário comprimidas que mantêm e rastreiam saldos de criptomoedas (também conhecidas como contas de token) será 5.000 vezes mais barata do que a criação de 100 contas de token regulares.

Pense desta forma: a compressão envolve espremer algo até ocupar menos espaço. A compressão ZK aplica esse princípio, onde 'ZK' significa que a privacidade dos dados comprimidos permanece intacta.

Essencialmente, a compressão ZK armazena apenas a “impressão digital” (hash) dos dados comprimidos na cadeia. Esta abordagem reduz os custos de armazenamento enquanto preserva a privacidade dos dados.

Ao contrário do que os concorrentes dizem, a ZK Compression não é uma cadeia de camada 2 na Solana; é uma atualização para melhorar o armazenamento de dados da Solana e reduzir drasticamente os custos para os desenvolvedores.

Como a Compressão ZK Opera na Solana

A Compactação ZK enfrenta esse desafio de frente, permitindo que os desenvolvedores comprimam vários estados de conta em uma única conta on-chain.

Origem: 0xSumanth’s 𝕏

Aqui está como funciona:

  1. Compactação de conta: Múltiplos estados de conta são combinados e hashados de forma recursiva em uma raiz de estado compacta de 32 bytes.
  2. Armazenamento on-chain e off-chain: Uma árvore de estado é uma árvore binária de Merkle que organiza dados em uma estrutura hierárquica, permitindo a verificação eficiente da integridade dos dados. Esta raiz de estado é armazenada on-chain, enquanto os dados completos da conta são armazenados off-chain no registro do Solana.
  3. Validando Provas: Provas sucintas de conhecimento zero confirmam a existência de várias contas comprimidas dentro das árvores de estado, mantendo um tamanho constante de 128 bytes. Quando uma transação precisa acessar ou modificar os dados comprimidos, ela fornece prova de que os dados correspondem à raiz do estado na cadeia.
  4. Verificação: A prova é verificada na cadeia, permitindo que a transação prossiga se for válida.

A inovação-chave reside no uso de provas de conhecimento zero, especificamente SNARKs (Argumentos Sucintos Não Interativos de Conhecimento), para comprimir as provas de Merkle usadas neste processo.

Origem: 0xMert’s 𝕏

Essa compressão reduz o tamanho da prova de potencialmente centenas de bytes para um constante de 128 bytes, independentemente do número de contas sendo comprimidas.

Essa redução dramática no tamanho dos dados permite que os desenvolvedores trabalhem dentro dos limites de tamanho de transação da Solana, enquanto ainda interagem com várias contas comprimidas em uma única transação.

Os benefícios da compressão ZK na Blockchain Solana

Estes são os aspectos positivos da Compactação ZK para o ecossistema Solana:

  1. Eficiência energética: Reduzir os requisitos de armazenamento e computação diminui o consumo de energia associado às operações.
  2. Escalabilidade: a compressão de dados da Solana permite um maior volume de aplicações e transações, aumentando a escalabilidade geral.
  3. Mantém a Segurança da Camada 1: Ao contrário das soluções da Camada 2, os dados comprimidos mantêm todos os benefícios de segurança da cadeia principal da Solana.
  4. Ambiente tudo-em-um: Os desenvolvedores podem construir e implantar aplicativos dentro de um único ambiente, eliminando a necessidade de pontes entre camadas, o que simplifica o processo de construção.
  5. Custo reduzido: Reduz os custos de armazenamento de dados minimizando os requisitos de armazenamento on-chain.
  6. Programabilidade: Os dados comprimidos continuam totalmente compatíveis com os contratos inteligentes da Solana, preservando sua utilidade e programabilidade.

Desvantagens da Compactação ZK na Blockchain Solana

Estes são os inconvenientes da Compressão ZK para a Solana:

  1. Complexidade computacional: A geração de provas de conhecimento zero é intensiva computacionalmente, o que pode levar a custos elevados e desempenho mais lento.
  2. Desafios de Implementação: Desenvolver e implementar a compressão ZK requer conhecimento especializado em criptografia.
  3. Problemas de escalabilidade: Embora a compressão ZK vise melhorar a escalabilidade, os requisitos computacionais às vezes podem compensar esses benefícios, especialmente em ambientes com recursos limitados.
  4. Overhead de Verificação: Verificar provas de conhecimento zero, embora geralmente menos intensivo do que gerá-las, ainda requer recursos computacionais. Em alguns casos, isso pode introduzir latência e impactar a eficiência geral do sistema.
  5. Custos Econômicos: As altas demandas computacionais se traduzem em aumento do consumo de energia e custos operacionais. Isso pode tornar a compressão ZK menos economicamente viável para certas aplicações.

Casos de uso da Compressão ZK

Aqui estão alguns possíveis casos de uso de compressão zk:

  1. Aplicações DeFi: protocolos DeFi na Solana como Troca de Júpiter pode utilizar compressão ZK para ajudar a reduzir as taxas e acelerar os tempos de transação.
  2. Micropagamentos: Em soluções de micropagamento como Código, a compressão zk tornaria os pagamentos mais econômicos e sustentáveis na rede Solana, reduzindo os requisitos de armazenamento on-chain para as muitas pequenas transações,
  3. Redes descentralizadas: Protocolos como Hélio, que fornecem redes sem fio descentralizadas, atendem a milhões de usuários e dispositivos. A compactação ZK desempenha um papel vital na gestão da vasta quantidade de dados gerados por essas redes sem a necessidade de soluções intrincadas de Camada 2.
  4. Jogos: A compressão ZK poderia otimizar os custos de armazenamento em jogos como HoneylandTodos os ativos do jogo, itens do jogo e metadados de NFT custariam menos, melhorando assim a experiência geral do usuário.

TL;DR: Comparando ZK Rollups e ZK Compression

Similaridades

  1. Uso de Provas de Conhecimento Zero: Ambas as soluções utilizam provas de conhecimento zero para validar e garantir transações off-chain.
  2. Melhoria da escalabilidade: Eles visam melhorar a escalabilidade da blockchain reduzindo o processamento de transações on-chain e o armazenamento de dados.
  3. Soluções de Camada 2: Ambos são consideradas soluções de escalonamento de camada 2 construídas sobre suas respectivas blockchains para aumentar a capacidade de transações e reduzir custos.

Diferenças

  1. Plataforma de Blockchain: ZK Rollups opera no Ethereum, enquanto ZK Compression é implementado no Solana.
  2. Foco Principal: ZK Rollups focam na agregação e processamento de transações fora da cadeia para melhorar a escalabilidade, enquanto ZK Compression visa principalmente reduzir os custos de armazenamento na cadeia por meio de compressão de dados.
  3. Abordagem de Implementação: ZK Rollups agrupa várias transações em uma única prova para submissão à cadeia principal do Ethereum, enquanto ZK Compression comprime vários estados de conta em uma única conta on-chain na Solana.
  4. Tamanho da Prova: ZK Rollups usam zk-SNARKs ou zk-STARKs para gerar provas sucintas, enquanto a Compressão ZK utiliza zk-SNARKs para comprimir provas de Merkle em um tamanho constante.
  5. Processamento de Transações: ZK Rollups processa transações off-chain e periodicamente envia provas para o Ethereum, enquanto ZK Compression lida com dados de conta comprimidos on-chain com verificação usando provas de conhecimento zero.

Casos de Uso

Casos de uso atuais para ZK Rollups

  1. Aplicações DeFi: Aprimora os protocolos de finanças descentralizadas ao reduzir as taxas de transação e aumentar a velocidade das transações.
  2. Trocas Descentralizadas (DEXs): Facilita trocas eficientes de tokens mantendo a privacidade.
  3. Jogos: Suporta economias escaláveis dentro do jogo e mercados de NFT com custos mais baixos.
  4. Pagamentos: Permite microtransações rápidas e de baixo custo e pagamentos transfronteiriços.

Potencial Caso de Uso da Compressão ZK

  1. Aplicativos DeFi: Reduz taxas e acelera transações para protocolos DeFi na Solana.
  2. Micropagamentos: torna as pequenas transações mais econômicas e sustentáveis, minimizando o armazenamento on-chain.
  3. Redes Descentralizadas: Gerencia grandes volumes de dados de forma eficiente para redes sem fio descentralizadas e aplicações de IoT.
  4. Jogos: Otimiza os custos de armazenamento para ativos de jogos e metadados de NFT, melhorando a experiência do usuário.

Minha Opinião Honesta

Se você está sofrendo de Maximysis Eth, ou é um fiel crente em Solana como eu, o que mais importa é usar a blockchain que atenda às suas necessidades no momento dado.

Eu acho que os ZK Rollups são mais adequados para projetos que precisam de alta segurança e se beneficiam do ecossistema estabelecido do Ethereum, pois eles fornecem um método confiável para escalar o Ethereum, preservando sua estrutura descentralizada.

Por outro lado, com a Compressão ZK, Solana pode lidar com mais transações sem ficar sobrecarregado, mesmo quando o preço do SOL sobe. Portanto, acredito que a Compressão ZK na Solana é perfeita para aplicações que valorizam velocidade, desempenho e eficiência de custos.

A capacidade da Solana de suportar aplicativos descentralizados (dApps) de alto desempenho e baixo custo tem um apelo futurista, pois velocidade e custo são cruciais para a adoção generalizada da tecnologia blockchain.

No final, tanto ZK Rollups quanto ZK Compression poderiam ajudar a tornar as transações mais rápidas, mais baratas e, portanto, mais escaláveis.

Referências

S. Goldwasser, S. Micali, e C. Rackoff, 1985. A complexidade do conhecimento dos sistemas de prova interativa

Helius.dev

zkCompression

Cointelegraph

Ethereum.org

Techopedia

Solanacompass.com

Aviso Legal:

  1. Este artigo é reproduzido de @thelxlxan/soluções-de-escalonamento-zk-rollups-no-ethereum-vs-compressão-zk-no-solana-3f0386c09007">[Lilian], Todos os direitos autorais pertencem ao autor original [Lilian]. Se houver objeções a esta reimpressão, entre em contato com oAprender Gateequipe, e eles lidarão com isso prontamente.
  2. Responsabilidade Legal: As visões e opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!