Comparando Soluções de Escalabilidade: ZK Rollups na Ethereum vs Compressão ZK na 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. Explora as suas vantagens e desafios em termos de implementação técnica e aplicação.

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

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.

Esta demanda deu origem às Provas ZK.

Provas de ZK como uma Solução de Escalonamento

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

De acordo com o papel,

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 qualquer informação adicional que não seja a veracidade dessa afirmação específica.

Em outras palavras, os princípios do conhecimento zero garantem que nenhuma informação extra seja transferida do comprovador para o verificador, além da afirmação ser verdadeira.

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

Cenário: Existe uma caverna com dois caminhos, A e B, que formam um loop e se encontram em uma porta trancada. Jane (o provador) conhece 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.

Origem: Bloco Poderoso

  1. Paul entra na caverna e chama pelo caminho que quer que a Jane retorne (A ou B).

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

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

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

As provas de ZK têm como objetivo garantir a privacidade e segurança, mantendo informações sensíveis privadas, permitindo que outros verifiquem sua autenticidade. Em termos mais simples, as provas de ZK 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 deu origem ao desenvolvimento de várias técnicas criptográficas avançadas e aplicações como Rollups de Conhecimento Zero e Compressões de Conhecimento Zero.

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

Zk-Rollups, abreviatura 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. Fazem isto movendo a computação e o armazenamento de estado para fora da cadeia.

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

Em 21 de junho, Light Protocol, uma camada de privacidade baseada em Solana, anunciouque se tinha juntado à equipa de desenvolvimento da Solana, a Helius Labs, para lançar a testnet para a sua nova solução de escalonamento “ZK Compression” como forma 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, têm havido debates em curso e críticas das comunidades Ethereum e Solana sobre qual é melhor.

Por exemplo, um membro da comunidade do Ethereum chamadocompressão ZK "outro L2".

Depois disto respostado Mert (CEO da heliuslabs) para o tweet acima, a comunidade Solana respondeu com um vídeo de diss criativo visando o Ethereum.

O vídeodestacou um médico a tratar um paciente com “ETH Maximysis”. Uma linha do vídeo afirmava:

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

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

O que são ZK Rollups?

No seu núcleo, ZK Rollups é uma solução de escalonamento 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 numa única prova. Esta prova consolidada é então submetida à blockchain para verificação.

Fonte: Datawallet

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

Para entender corretamente isto,

Imagine-se a organizar um concerto. Em vez de permitir que cada participante entre um a um através de uma porta estreita (a cadeia de blocos principal), o que poderia causar congestionamentos e atrasos, implementa um sistema onde grupos de participantes são verificados em conjunto nos postos de controlo. Cada grupo transporta um único bilhete que comprova que todos no grupo foram devidamente verificados e admitidos. Desta forma, mantém a segurança e eficiência ao reduzir o bloqueio à entrada.

ZK Rollups melhora a escalabilidade ao processar transações fora da cadeia e garantir-las 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 utilizadores.

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 é uma solução de dimensionamento perfeita para redes blockchain como o Ethereum, uma vez que agregam transações fora da cadeia em lotes, reduzindo os dados publicados diretamente no Ethereum.

Como ZK Rollups Operam no Ethereum

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

Fonte: 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 o processamento de 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 gera então 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 rollup, que verifica e atualiza seu estado em conformidade.
  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 Ethereum Mainnet, os utilizadores enviam um pedido de levantamento com uma prova de Merkle que confirme a propriedade dos 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 utilizador.

Os Benefícios dos ZK Rollups

Aqui estão algumas das vantagens do ZK Rollups:

  1. Escalabilidade aumentada: Ao agrupar muitas transações num único lote, os 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 por 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 publicam provas (zk-SNARKs) no Ethereum, garantindo a validade das transações fora da cadeia.
  4. Carga de Dados Reduzida: Ao publicar apenas provas sucintas na cadeia principal, os zk-rollups reduzem significativamente a quantidade de dados que precisam ser processados e armazenados na blockchain Ethereum.
  5. Privacidade Avançada: os zk-rollups podem oferecer recursos de privacidade melhorados. As provas de conhecimento zero podem ocultar detalhes da transação, ao mesmo tempo que provam sua validade, permitindo transações privadas em blockchains públicos.

As Desvantagens dos ZK Rollups

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

Aqui estão alguns dos inconvenientes:

  1. Complexidade: ZK-rollups são tecnicamente complexos e requerem conhecimentos especializados 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, pode dificultar a capacidade de validar e reconstruir o estado rollup. Além disso, os zk-rollups frequentemente dependem de armazenamento de dados fora da cadeia, 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 uma grande 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 com permissão e feito sob medida),Rede Azteca(construção de 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 troca e pagamento zk-rollup na Ethereum) todos usam ZK Rollups.

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

  1. Na Finança Descentralizada (DeFi): Ajuda os utilizadores a emprestar, pedir emprestado e negociar com custos de gás mais baixos.
  2. Nas Bolsas Descentralizadas (DEXs): facilita trocas de tokens mais rápidas e econômicas, ao mesmo tempo que melhora a privacidade.
  3. Nos Jogos e NFT: Melhora o envolvimento do utilizador em plataformas digitais, potenciando 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 é a Compressão ZK?

A compressão ZK é uma primitiva, criada e lançada por Protocolo de LuzeHelius Labs. 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 enfrenta.

Compreender as "Contas" na Solana

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

Tudo na Solana é uma conta.

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

Para evitar abusos e compensar os validadores, a Solana implementa um sistema de "aluguer" onde os utilizadores devem bloquear tokens SOL para manter as suas contas ativas, sendo o valor do aluguer diretamente ligado ao tamanho dos dados armazenados.

Origem: 0XMert’s 𝕏

À medida que Solana ganhava popularidade, o custo de criar e manter essas contas tornou-se uma barreira significativa para a escalabilidade e também a necessidade de uma solução — Compressão ZK.

Com o advento da Compactação ZK, o custo de criar novas contas Solana está definido para diminuir significativamente, potencialmente por "ordens de grandeza".

Se algo se tornar mais barato por “ordens de grandeza,” significa que o custo ou esforço envolvido diminui drasticamente, muitas vezes em dez vezes ou mais em comparação com o montante anterior.

Isto significa que a criação de 100 contas de utilizador comprimidas que detêm e rastreiam saldos de criptomoedas (também conhecidas como contas de tokens) será 5.000 vezes mais barata do que a criação de 100 contas de tokens regulares.

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

Em essência, a compressão ZK armazena apenas a “impressão digital” (hash) dos dados comprimidos na cadeia. Esta abordagem reduz os custos de armazenamento, preservando 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 compressã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. Compressão de conta: Vários 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 os dados numa 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 livro-razão Solana.
  3. Validação de 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 aceder ou modificar os dados comprimidos, fornece prova de que os dados correspondem à raiz de estado on-chain.
  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 Interativos Não-Sucintos de Conhecimento), para comprimir as provas de Merkle usadas neste processo.

Origem: 0xMert’s 𝕏

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

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

As vantagens da compressão ZK na Blockchain Solana

Estes são os pontos positivos da Compressã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, melhorando a escalabilidade geral.
  3. Mantém a Segurança da Camada 1: Ao contrário das soluções de 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 aplicações dentro de um único ambiente, eliminando a necessidade de interligação entre camadas, o que simplifica o processo de construção.
  5. Custo reduzido: Reduz os custos de armazenamento de dados ao minimizar 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: Gerar provas de conhecimento zero é intensivo em termos computacionais, o que pode levar a custos elevados e desempenho mais lento.
  2. Desafios de Implementação: Desenvolver e implementar compressão ZK requer conhecimentos especializados em criptografia.
  3. Problemas de escalabilidade: Embora a compressão ZK tenha como objetivo 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 elevadas exigências computacionais traduzem-se num aumento do consumo de energia e dos custos operacionais. Isto 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 Jupiter Exchangepode utilizar compressão ZK para ajudar a reduzir as taxas e acelerar os tempos de transação.
  2. Pagamentos micro: Em soluções de pagamentos micro 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 transações pequenas,
  3. Redes descentralizadas: Protocolos como Hélio, que fornecem redes sem fio descentralizadas, atendem a milhões de usuários e dispositivos. A compressão ZK desempenha um papel vital na gestão da vasta quantidade de dados gerados por essas redes sem a necessidade de soluções intricadas de Camada 2.
  4. Jogos: A compressão ZK poderia optimizar os custos de armazenamento em jogos como HoneylandTodos os ativos do jogo, itens do jogo e metadados NFT custariam menos, melhorando assim a experiência geral do usuário.

TL;DR: Comparando ZK Rollups e ZK Compression

Semelhanças

  1. Uso de Provas de Conhecimento Zero: Ambas as soluções utilizam provas de conhecimento zero para validar e proteger transações fora da cadeia.
  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: Ambas são consideradas soluções de escalabilidade de camada 2 construídas em cima de suas respectivas blockchains para aumentar o rendimento de transações e reduzir custos.

Diferenças

  1. Plataforma Blockchain: ZK Rollups opera no Ethereum, enquanto a compressão ZK é implementada no Solana.
  2. Foco Principal: ZK Rollups concentra-se na agregação e processamento de transações fora da cadeia para aumentar a escalabilidade, enquanto a ZK Compression tem como objetivo principal reduzir os custos de armazenamento na cadeia através da 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 da 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 Compactação ZK utiliza zk-SNARKs para comprimir provas de Merkle em um tamanho constante.
  5. Processamento de Transações: ZK Rollups processa transações fora da cadeia e envia periodicamente provas para o Ethereum, enquanto ZK Compression lida com dados de conta comprimidos na cadeia com verificação usando provas de conhecimento zero.

Casos de Uso

Casos de Uso Atuais para ZK Rollups

  1. Aplicações DeFi: Melhora 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 em jogo escaláveis 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 de Compressão ZK

  1. Aplicações DeFi: Reduz taxas e acelera transações para protocolos DeFi na Solana.
  2. Micropagamentos: Torna as pequenas transações mais eficientes e sustentáveis ao minimizar 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 NFT, melhorando a experiência do usuário.

Minha Opinião Honesta

Se está a sofrer de Maximysis de Éter, ou é um crente firme da Solana como eu, o mais importante é usar a blockchain que se adapte às suas necessidades no momento.

Acho que os ZK Rollups são mais adequados para projetos que necessitam de alta segurança e beneficiam do ecossistema estabelecido do Ethereum, uma vez que fornecem um método confiável para escalar o Ethereum, preservando a 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 aumenta. 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 aplicações descentralizadas (dApps) de alto desempenho e baixo custo tem um apelo futurista, pois a velocidade e o custo são cruciais para a adoção generalizada da tecnologia blockchain.

No final, tanto ZK Rollups como a Compressão ZK poderiam ajudar a tornar as transações mais rápidas, mais baratas e, por conseguinte, 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 a partir de @thelxlxan/soluções-de-escalabilidade-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 o Gate Learnequipa e eles vão tratar disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Comparando Soluções de Escalabilidade: ZK Rollups na Ethereum vs Compressão ZK na 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. Explora as suas vantagens e desafios em termos de implementação técnica e aplicação.

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

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.

Esta demanda deu origem às Provas ZK.

Provas de ZK como uma Solução de Escalonamento

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

De acordo com o papel,

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 qualquer informação adicional que não seja a veracidade dessa afirmação específica.

Em outras palavras, os princípios do conhecimento zero garantem que nenhuma informação extra seja transferida do comprovador para o verificador, além da afirmação ser verdadeira.

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

Cenário: Existe uma caverna com dois caminhos, A e B, que formam um loop e se encontram em uma porta trancada. Jane (o provador) conhece 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.

Origem: Bloco Poderoso

  1. Paul entra na caverna e chama pelo caminho que quer que a Jane retorne (A ou B).

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

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

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

As provas de ZK têm como objetivo garantir a privacidade e segurança, mantendo informações sensíveis privadas, permitindo que outros verifiquem sua autenticidade. Em termos mais simples, as provas de ZK 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 deu origem ao desenvolvimento de várias técnicas criptográficas avançadas e aplicações como Rollups de Conhecimento Zero e Compressões de Conhecimento Zero.

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

Zk-Rollups, abreviatura 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. Fazem isto movendo a computação e o armazenamento de estado para fora da cadeia.

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

Em 21 de junho, Light Protocol, uma camada de privacidade baseada em Solana, anunciouque se tinha juntado à equipa de desenvolvimento da Solana, a Helius Labs, para lançar a testnet para a sua nova solução de escalonamento “ZK Compression” como forma 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, têm havido debates em curso e críticas das comunidades Ethereum e Solana sobre qual é melhor.

Por exemplo, um membro da comunidade do Ethereum chamadocompressão ZK "outro L2".

Depois disto respostado Mert (CEO da heliuslabs) para o tweet acima, a comunidade Solana respondeu com um vídeo de diss criativo visando o Ethereum.

O vídeodestacou um médico a tratar um paciente com “ETH Maximysis”. Uma linha do vídeo afirmava:

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

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

O que são ZK Rollups?

No seu núcleo, ZK Rollups é uma solução de escalonamento 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 numa única prova. Esta prova consolidada é então submetida à blockchain para verificação.

Fonte: Datawallet

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

Para entender corretamente isto,

Imagine-se a organizar um concerto. Em vez de permitir que cada participante entre um a um através de uma porta estreita (a cadeia de blocos principal), o que poderia causar congestionamentos e atrasos, implementa um sistema onde grupos de participantes são verificados em conjunto nos postos de controlo. Cada grupo transporta um único bilhete que comprova que todos no grupo foram devidamente verificados e admitidos. Desta forma, mantém a segurança e eficiência ao reduzir o bloqueio à entrada.

ZK Rollups melhora a escalabilidade ao processar transações fora da cadeia e garantir-las 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 utilizadores.

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 é uma solução de dimensionamento perfeita para redes blockchain como o Ethereum, uma vez que agregam transações fora da cadeia em lotes, reduzindo os dados publicados diretamente no Ethereum.

Como ZK Rollups Operam no Ethereum

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

Fonte: 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 o processamento de 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 gera então 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 rollup, que verifica e atualiza seu estado em conformidade.
  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 Ethereum Mainnet, os utilizadores enviam um pedido de levantamento com uma prova de Merkle que confirme a propriedade dos 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 utilizador.

Os Benefícios dos ZK Rollups

Aqui estão algumas das vantagens do ZK Rollups:

  1. Escalabilidade aumentada: Ao agrupar muitas transações num único lote, os 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 por 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 publicam provas (zk-SNARKs) no Ethereum, garantindo a validade das transações fora da cadeia.
  4. Carga de Dados Reduzida: Ao publicar apenas provas sucintas na cadeia principal, os zk-rollups reduzem significativamente a quantidade de dados que precisam ser processados e armazenados na blockchain Ethereum.
  5. Privacidade Avançada: os zk-rollups podem oferecer recursos de privacidade melhorados. As provas de conhecimento zero podem ocultar detalhes da transação, ao mesmo tempo que provam sua validade, permitindo transações privadas em blockchains públicos.

As Desvantagens dos ZK Rollups

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

Aqui estão alguns dos inconvenientes:

  1. Complexidade: ZK-rollups são tecnicamente complexos e requerem conhecimentos especializados 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, pode dificultar a capacidade de validar e reconstruir o estado rollup. Além disso, os zk-rollups frequentemente dependem de armazenamento de dados fora da cadeia, 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 uma grande 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 com permissão e feito sob medida),Rede Azteca(construção de 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 troca e pagamento zk-rollup na Ethereum) todos usam ZK Rollups.

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

  1. Na Finança Descentralizada (DeFi): Ajuda os utilizadores a emprestar, pedir emprestado e negociar com custos de gás mais baixos.
  2. Nas Bolsas Descentralizadas (DEXs): facilita trocas de tokens mais rápidas e econômicas, ao mesmo tempo que melhora a privacidade.
  3. Nos Jogos e NFT: Melhora o envolvimento do utilizador em plataformas digitais, potenciando 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 é a Compressão ZK?

A compressão ZK é uma primitiva, criada e lançada por Protocolo de LuzeHelius Labs. 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 enfrenta.

Compreender as "Contas" na Solana

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

Tudo na Solana é uma conta.

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

Para evitar abusos e compensar os validadores, a Solana implementa um sistema de "aluguer" onde os utilizadores devem bloquear tokens SOL para manter as suas contas ativas, sendo o valor do aluguer diretamente ligado ao tamanho dos dados armazenados.

Origem: 0XMert’s 𝕏

À medida que Solana ganhava popularidade, o custo de criar e manter essas contas tornou-se uma barreira significativa para a escalabilidade e também a necessidade de uma solução — Compressão ZK.

Com o advento da Compactação ZK, o custo de criar novas contas Solana está definido para diminuir significativamente, potencialmente por "ordens de grandeza".

Se algo se tornar mais barato por “ordens de grandeza,” significa que o custo ou esforço envolvido diminui drasticamente, muitas vezes em dez vezes ou mais em comparação com o montante anterior.

Isto significa que a criação de 100 contas de utilizador comprimidas que detêm e rastreiam saldos de criptomoedas (também conhecidas como contas de tokens) será 5.000 vezes mais barata do que a criação de 100 contas de tokens regulares.

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

Em essência, a compressão ZK armazena apenas a “impressão digital” (hash) dos dados comprimidos na cadeia. Esta abordagem reduz os custos de armazenamento, preservando 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 compressã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. Compressão de conta: Vários 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 os dados numa 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 livro-razão Solana.
  3. Validação de 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 aceder ou modificar os dados comprimidos, fornece prova de que os dados correspondem à raiz de estado on-chain.
  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 Interativos Não-Sucintos de Conhecimento), para comprimir as provas de Merkle usadas neste processo.

Origem: 0xMert’s 𝕏

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

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

As vantagens da compressão ZK na Blockchain Solana

Estes são os pontos positivos da Compressã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, melhorando a escalabilidade geral.
  3. Mantém a Segurança da Camada 1: Ao contrário das soluções de 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 aplicações dentro de um único ambiente, eliminando a necessidade de interligação entre camadas, o que simplifica o processo de construção.
  5. Custo reduzido: Reduz os custos de armazenamento de dados ao minimizar 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: Gerar provas de conhecimento zero é intensivo em termos computacionais, o que pode levar a custos elevados e desempenho mais lento.
  2. Desafios de Implementação: Desenvolver e implementar compressão ZK requer conhecimentos especializados em criptografia.
  3. Problemas de escalabilidade: Embora a compressão ZK tenha como objetivo 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 elevadas exigências computacionais traduzem-se num aumento do consumo de energia e dos custos operacionais. Isto 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 Jupiter Exchangepode utilizar compressão ZK para ajudar a reduzir as taxas e acelerar os tempos de transação.
  2. Pagamentos micro: Em soluções de pagamentos micro 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 transações pequenas,
  3. Redes descentralizadas: Protocolos como Hélio, que fornecem redes sem fio descentralizadas, atendem a milhões de usuários e dispositivos. A compressão ZK desempenha um papel vital na gestão da vasta quantidade de dados gerados por essas redes sem a necessidade de soluções intricadas de Camada 2.
  4. Jogos: A compressão ZK poderia optimizar os custos de armazenamento em jogos como HoneylandTodos os ativos do jogo, itens do jogo e metadados NFT custariam menos, melhorando assim a experiência geral do usuário.

TL;DR: Comparando ZK Rollups e ZK Compression

Semelhanças

  1. Uso de Provas de Conhecimento Zero: Ambas as soluções utilizam provas de conhecimento zero para validar e proteger transações fora da cadeia.
  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: Ambas são consideradas soluções de escalabilidade de camada 2 construídas em cima de suas respectivas blockchains para aumentar o rendimento de transações e reduzir custos.

Diferenças

  1. Plataforma Blockchain: ZK Rollups opera no Ethereum, enquanto a compressão ZK é implementada no Solana.
  2. Foco Principal: ZK Rollups concentra-se na agregação e processamento de transações fora da cadeia para aumentar a escalabilidade, enquanto a ZK Compression tem como objetivo principal reduzir os custos de armazenamento na cadeia através da 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 da 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 Compactação ZK utiliza zk-SNARKs para comprimir provas de Merkle em um tamanho constante.
  5. Processamento de Transações: ZK Rollups processa transações fora da cadeia e envia periodicamente provas para o Ethereum, enquanto ZK Compression lida com dados de conta comprimidos na cadeia com verificação usando provas de conhecimento zero.

Casos de Uso

Casos de Uso Atuais para ZK Rollups

  1. Aplicações DeFi: Melhora 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 em jogo escaláveis 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 de Compressão ZK

  1. Aplicações DeFi: Reduz taxas e acelera transações para protocolos DeFi na Solana.
  2. Micropagamentos: Torna as pequenas transações mais eficientes e sustentáveis ao minimizar 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 NFT, melhorando a experiência do usuário.

Minha Opinião Honesta

Se está a sofrer de Maximysis de Éter, ou é um crente firme da Solana como eu, o mais importante é usar a blockchain que se adapte às suas necessidades no momento.

Acho que os ZK Rollups são mais adequados para projetos que necessitam de alta segurança e beneficiam do ecossistema estabelecido do Ethereum, uma vez que fornecem um método confiável para escalar o Ethereum, preservando a 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 aumenta. 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 aplicações descentralizadas (dApps) de alto desempenho e baixo custo tem um apelo futurista, pois a velocidade e o custo são cruciais para a adoção generalizada da tecnologia blockchain.

No final, tanto ZK Rollups como a Compressão ZK poderiam ajudar a tornar as transações mais rápidas, mais baratas e, por conseguinte, 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 a partir de @thelxlxan/soluções-de-escalabilidade-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 o Gate Learnequipa e eles vão tratar disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe da Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Start Now
Sign up and get a
$100
Voucher!