Tradução: blockchain vernacular

Houve muita empolgação nos primeiros dias do blockchain. No entanto, à medida que mais pessoas começaram a usar blockchain e os volumes de transações aumentaram, surgiu um grande problema: escalabilidade. Além dos problemas de escalabilidade, há também problemas de segurança e descentralização. Este desafio é conhecido como “Trilema Blockchain”, o que significa que é extremamente difícil alcançar estas três propriedades simultaneamente.

Como o primeiro blockchain, o Bitcoin só pode lidar com um pequeno número de transações por segundo, e o Ethereum não é muito melhor. Isso levou à necessidade de soluções para melhorar a escalabilidade do blockchain. Essa necessidade deu origem às provas ZK.

 

1. Prova ZK como solução de escalonamento

O conceito de “conhecimento zero” foi proposto pela primeira vez em 1985 por Shafi Goldwasser, Silvio Micali e Charles Rackoff no artigo “Knowledge Complexity of Interactive Proof Systems”. Este artigo explica o conceito de provas de conhecimento zero (ZK), muito antes do nascimento das criptomoedas.

De acordo com a definição do artigo: A prova de conhecimento zero é um método que permite a uma parte (o provador) provar a outra parte (o verificador) que uma determinada afirmação está correta sem revelar qualquer outra informação além da afirmação.

Em outras palavras, o princípio do conhecimento zero garante que nenhum conhecimento adicional seja transmitido do provador ao verificador além da verdade da afirmação.

Uma analogia clássica para explicar o conceito de provas de conhecimento zero é a “caverna do Alibaba”:

Cenário: Existe uma caverna com dois caminhos A e B, formando um laço e se encontrando em uma porta trancada. Jane (a provadora) conhece o código secreto que abre a porta, e Paul (o verificador) quer confirmar que Jane conhece o código, mas não quer saber o código ele mesmo.

processo:

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

2) Paul espera do lado de fora, imaginando qual caminho Jane escolheu.

3) Paul entra na caverna e indica o caminho que deseja que Jane siga de volta (A ou B).

4) Se Jane souber o código, ela poderá abrir a porta e retornar pelo caminho escolhido.

5) Este processo (1-5) é repetido várias vezes para garantir que Jane não seja retornada corretamente apenas por adivinhação.

Se, depois de muitas repetições, Jane sempre retornar pelo caminho correto, Paul poderá ter certeza de que Jane conhece o código sem conhecer o código em si.

As provas ZK são projetadas para garantir privacidade e segurança, mantendo a privacidade de informações confidenciais e permitindo que outros verifiquem sua autenticidade. Resumindo, as provas ZK ajudam a manter dados importantes seguros, ao mesmo tempo que comprovam a sua legitimidade sem revelar detalhes específicos.

O conceito de provas ZK também deu origem a várias tecnologias e aplicações avançadas de criptografia, como ZK Rollups e ZK Compressions.

Em 2018, um anônimo Barry Whitehat carregou uma base de código chamada "roll_up" no GitHub, introduzindo o conceito de Rollups. Mais tarde, Vitalik Buterin, o fundador do Ethereum, desenvolveu ainda mais este conceito e propôs zk-Rollups.

zk-Rollups (abreviação de zero-knowledge rollups) é uma solução de escalonamento de segunda camada usada para melhorar o desempenho da rede principal Ethereum. Eles escalam movendo a computação e o armazenamento de estado para fora da cadeia.

Os protocolos da camada 2 são protocolos secundários construídos sobre o blockchain para aumentar sua escalabilidade, velocidade e reduzir taxas de transação.

Em 21 de junho, Light Protocol, uma camada de privacidade baseada em Solana, anunciou que cooperaria com a equipe de desenvolvimento de Solana, Helius Labs, para lançar uma testnet de sua nova solução de escalonamento “ZK Compression”, com o objetivo de reduzir significativamente os custos de computação on-chain.

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

No entanto, as comunidades Ethereum e Solana têm debatido qual tecnologia é melhor.

Por exemplo, um membro da comunidade Ethereum chamou a compressão ZK de “outro L2”.

Depois que o CEO da Heliuslabs, Mert, respondeu ao tweet acima, a comunidade Solana respondeu com um vídeo criativo zombando do Ethereum.

No vídeo, um médico trata um paciente com “extremismo ETH”. Uma linha no vídeo diz:

“Esta é uma reação comum dos extremistas da ETH. Eles não podem funcionar sem outra camada, haverá uma terceira!

A competição entre esses blockchains é clara. Portanto, este artigo tem como objetivo fornecer uma comparação clara e abrangente de suas soluções de escalabilidade, destacando os recursos exclusivos, as diferenças e os casos de uso reais de cada solução.

 

2. O que são rollups ZK?

Basicamente, ZK Rollups é uma solução de escalonamento de camada 2 projetada para melhorar a eficiência e escalabilidade de redes blockchain.

A ideia central é simples: em vez de processar cada transação diretamente na blockchain principal, múltiplas transações são agrupadas em uma única prova. Esta prova mesclada é então enviada ao blockchain para verificação.

Essa abordagem aumenta significativamente o rendimento das transações (o número de transações que a rede pode processar em um determinado período de tempo) sem sacrificar a segurança da rede.

Para entender isso melhor,

Imagine que você está organizando um concerto. Em vez de fazer com que cada participante passe por um portão estreito (o blockchain principal), um por um, o que pode causar congestionamento e atrasos, você pode implementar um sistema que verifica um grupo de participantes simultaneamente em um ponto de verificação. Cada grupo carrega um único ingresso comprovando que todos foram devidamente registrados e admitidos. Desta forma, ao reduzir a obstrução na entrada, você garante segurança e aumenta a eficiência.

ZK Rollups melhora a eficiência e segurança geral do usuário processando transações fora da cadeia e utilizando tecnologias de criptografia avançadas como ZK-SNARKs ou ZK-STARKs para garantir a validade e privacidade das transações.

  • zk-SNARKs são provas zk que fornecem provas concisas (ou seja, tamanho de prova curto e verificação eficiente), que são muito adequadas para cenários de aplicação 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, adequadas para aplicações como auditoria financeira em grande escala, privacidade de dados e computação verificada.

ZK Rollups são a solução de escalonamento perfeita para redes blockchain como Ethereum porque agrega transações fora da cadeia em lotes, reduzindo a quantidade de dados enviados diretamente ao Ethereum.

ZK Rollups no Ethereum funcionam aproveitando a criptografia para agregar e verificar transações fora da cadeia, aumentando assim a escalabilidade e reduzindo os custos do blockchain Ethereum.

Aqui está uma explicação passo a passo de como funciona o ZK-Rollups:

1) Agregação de transações: os usuários assinam e enviam transações aos operadores ZK-Rollup (serializadores), que agregam essas transações em lotes.

2) Processamento fora da cadeia: As transações são processadas fora da cadeia, fora da rede principal Ethereum (segunda camada).

3) Atualização de estado: Após processar um lote de transações, o operador ZK-Rollup calcula uma nova raiz de estado para o estado de rollup.

4) Prova de validade: O operador ZK-Rollup gera uma prova de validade para garantir que todas as transações do lote sejam executadas corretamente de acordo com as regras do protocolo.

5) Verificação on-chain: O operador ZK-Rollup envia o certificado de validade e a nova raiz de estado ao contrato inteligente Ethereum, denominado contrato rollup. O contrato verifica e atualiza seu estado adequadamente.

6) Interação do usuário: os usuários depositam tokens no contrato rollup na rede principal Ethereum, iniciam transações dentro do rollup e retiram tokens de volta para a rede principal quando necessário.

7) Mecanismo de saída: Para retirar tokens do ZK-Rollup para a rede principal Ethereum, os usuários precisam enviar uma solicitação de retirada e anexar um certificado Merkle para provar que possuem propriedade do token no estado rollup. Após verificação pelo contrato rollup, os tokens serão transferidos de volta para o endereço Ethereum do usuário.

1) Vantagens dos rollups ZK

Aqui estão alguns dos benefícios dos ZK Rollups:

A. Escalabilidade aprimorada: Ao agrupar várias transações em um lote, o zk-Rollups pode processar milhares de transações por segundo (TPS), aumentando significativamente o rendimento em comparação com a camada base.

B. Taxas de manuseio mais baixas: Como as taxas do gás são distribuídas por várias transações no lote cumulativo, o custo de cada transação é reduzido, tornando-a mais econômica para os usuários.

C. Segurança no nível Ethereum: zk-Rollups herdam a segurança da cadeia principal Ethereum porque enviam provas (zk-SNARKs) ao Ethereum para garantir a validade das transações fora da cadeia.

D. Reduzir a carga de dados: Ao enviar apenas provas concisas para a cadeia principal, o zk-Rollups reduz significativamente a quantidade de dados que precisam ser processados ​​e armazenados na blockchain Ethereum.

E. Proteção de privacidade aprimorada: zk-Rollups pode fornecer recursos de privacidade aprimorados. As provas de conhecimento zero podem ocultar detalhes da transação e, ao mesmo tempo, provar sua validade, permitindo transações privadas em um blockchain público.

2) Desvantagens dos rollups ZK

Embora ZK Rollups tragam muitas vantagens, eles também apresentam algumas desvantagens e desafios.

Aqui estão algumas desvantagens:

A. Complexidade: ZK Rollups são tecnicamente complexos e a implementação e manutenção requerem conhecimento profissional.

B. Disponibilidade de dados: É crucial garantir que os dados necessários para reconstruir o estado estejam disponíveis na cadeia. Se os dados não estiverem disponíveis, isso poderá afetar a capacidade de verificar e reconstruir o estado do rollup. Além disso, zk Rollups geralmente dependem de armazenamento de dados fora da cadeia, o que pode representar riscos se os dados forem perdidos ou inacessíveis.

C. Custo computacional: A geração de provas de conhecimento zero (zk-SNARKs) requer uma grande quantidade de recursos computacionais e o custo computacional é alto.

D. Risco de centralização: Se se verificar que a infra-estrutura é controlada por algumas entidades, ainda poderá existir um risco de centralização.

3) Casos de uso atuais de ZK Rollups

Novos projetos ZK Rollup surgem todos os dias. Aqui estão alguns projetos ZK Rollup bem conhecidos:

Como Starkware (desenvolvendo soluções de escalonamento de segunda camada licenciadas e personalizadas), Aztec Network (construindo criptografia blockchain usando zkSNARKs), Argent (carteira sem custódia integrada com zkSync), Immutable X (plataforma de emissão e negociação de NFT), Loopring (projetos como a transação zk-rollup e o protocolo de pagamento no Ethereum estão usando ZK Rollups.

Aqui estão as diferentes maneiras pelas quais os ZK Rollups podem ser usados:

Nas finanças descentralizadas (DeFi): ajudando os usuários a emprestar e negociar com custos de gás mais baixos.

Em exchanges descentralizadas (DEXs): Promovendo exchanges de tokens mais rápidas e econômicas, ao mesmo tempo em que aprimora as proteções de privacidade.

Em Jogos e NFTs: Melhorar o envolvimento dos utilizadores em plataformas digitais, apoiando economias de jogos escaláveis ​​e mercados NFT vibrantes.

Em Pagamentos: Facilitando microtransações rápidas e de baixo custo e pagamentos transfronteiriços.

 

3. O que é compressão ZK?

ZK Compression é uma tecnologia original criada e lançada pela Light Protocol e Helius Labs. Ele reduz os custos na cadeia usando provas e compactação de conhecimento zero, reduzindo assim a quantidade de dados armazenados na cadeia e os requisitos computacionais ao fazer transações no Solana.

"Tecnologias originais" referem-se a algoritmos de criptografia de baixo nível usados ​​como base ou blocos de construção para algoritmos de criptografia de nível superior. Para entender melhor o ZK Compression, é importante compreender a arquitetura e os desafios únicos de Solana.

1) Entenda a “conta” no Solana

Ao contrário do Ethereum, onde os contratos inteligentes e os dados estão fortemente acoplados, Solana usa um modelo onde os dados são armazenados em “contas” separadas. Essas contas cobrem tudo, desde código executável até saldos de tokens.

No Solana tudo é conta.

Embora este modelo atinja o alto desempenho e as capacidades de processamento paralelo do Solana, ele também tem um preço: os validadores devem armazenar todas as contas ativas em memória de acesso rápido (RAM), o que é caro.

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

À medida que a popularidade de Solana crescia, o custo de criação e manutenção dessas contas tornou-se uma barreira significativa ao escalonamento, por isso era necessária uma solução: ZK Compression. Com o advento do ZK Compression, espera-se que o custo de criação de uma nova conta Solana seja significativamente reduzido, possivelmente em “ordens de magnitude”.

Se o custo de algo foi reduzido numa “ordem de grandeza”, significa que o custo ou esforço foi significativamente reduzido, geralmente por um factor de dez ou mais em comparação com o que era antes.

Isso significa que o custo de criação e rastreamento de 100 contas de usuário compactadas (também conhecidas como contas de token) para saldos de criptomoeda será até 5.000 vezes mais barato do que a criação de 100 contas de token regulares.

Pense desta forma: compactação significa comprimir algo para ocupar menos espaço. A compactação ZK aplica este princípio, onde "ZK" significa que a proteção da privacidade dos dados compactados não é afetada.

Simplificando, a compactação ZK armazena apenas a “impressão digital” (hash) dos dados compactados na cadeia. Essa abordagem reduz os custos de armazenamento enquanto mantém a privacidade dos dados.

Ao contrário do que dizem os concorrentes, a compressão ZK não é uma cadeia de segunda camada no Solana, é uma atualização projetada para melhorar o armazenamento de dados do Solana e reduzir significativamente os custos para os desenvolvedores;

A forma como o ZK Compression funciona no Solana é abordar diretamente esse desafio, permitindo que os desenvolvedores comprimam vários estados de contas em uma única conta na rede.

Veja como funciona:

Compactação de conta: Vários estados de conta são mesclados recursivamente e hash em uma "raiz de estado" compacta de 32 bytes. Armazenamento dentro e fora da cadeia: A árvore de estado é uma árvore Merkle binária que organiza os dados em uma estrutura hierárquica e pode verificar efetivamente a integridade dos dados. Esta raiz de estado é armazenada na cadeia, enquanto os dados completos da conta são armazenados fora da cadeia no livro-razão Solana. Prova de verificação: uma prova concisa de conhecimento zero confirma a existência de múltiplas contas compactadas na árvore de estado, mantendo um tamanho constante de 128 bytes. Quando uma transação precisa acessar ou modificar dados compactados, ela fornece prova de que os dados correspondem à raiz do estado da cadeia. Verificação: A prova é verificada na rede e, se for válida, a transação pode prosseguir. A principal inovação é o uso de provas de conhecimento zero, especificamente SNARKs (Succinct Non-Interactive Arguments of Knowledge), para comprimir as provas Merkle utilizadas neste processo.

Essa compactação reduzirá o tamanho da prova de potencialmente algumas centenas de bytes para constantes 128 bytes, independentemente do número de contas que estão sendo compactadas.

Essa redução significativa no tamanho dos dados permite que os desenvolvedores trabalhem dentro dos limites de tamanho das transações do Solana enquanto interagem com várias contas compactadas em uma única transação.

2) Vantagens da compressão ZK sobre o blockchain Solana

Aqui estão os benefícios da compressão ZK para o ecossistema Solana:

A. Economia de energia e eficiência: A redução dos requisitos de armazenamento e computação reduz o consumo de energia das operações.

B. Escalabilidade: A compressão de dados do Solana aumenta a capacidade de processamento de aplicações e transações, melhorando a escalabilidade geral.

Preserve a segurança da cadeia da camada 1: Ao contrário das soluções da camada 2, os dados compactados mantêm todos os benefícios de segurança da cadeia principal Solana.

C. Ambiente integrado: os desenvolvedores podem criar e implantar aplicativos em um único ambiente sem a necessidade de ponte entre camadas, simplificando o processo de desenvolvimento.

D. Reduzir custos: Ao reduzir os requisitos de armazenamento em cadeia, os custos de armazenamento de dados são reduzidos.

E. Programabilidade: Os dados compactados são totalmente compatíveis com os contratos inteligentes da Solana, mantendo sua praticidade e programabilidade.

3) Desvantagens da compressão ZK no blockchain Solana:

A. Complexidade computacional: A geração de provas de conhecimento zero requer uma grande quantidade de recursos computacionais, o que pode resultar em custos elevados e desempenho mais lento.

B. Desafios de implementação: O desenvolvimento e implementação da compressão ZK requer conhecimento profissional de criptografia e existem certos limites técnicos.

C. Problemas de escalabilidade: Embora o ZK Compression vise melhorar a escalabilidade, às vezes as demandas computacionais podem compensar essas vantagens, especialmente em ambientes com recursos limitados.

D. Sobrecarga de verificação: A verificação de provas de conhecimento zero, embora geralmente consuma menos recursos do que o processo de gerá-las, ainda requer recursos computacionais. Em alguns casos, isto pode causar atrasos e afetar a eficiência geral do sistema.

E. Custo económico: Os elevados requisitos de computação aumentarão o consumo de energia e os custos operacionais. Isso pode tornar o ZK Compression menos viável economicamente para determinadas aplicações.

 

4. Casos de uso de compressão ZK

Aqui estão alguns casos de uso possíveis para compactação ZK:

Aplicativos DeFi: Os protocolos DeFi em Solana, como o Jupiter Exchange, podem aproveitar as vantagens da compactação ZK para ajudar a reduzir taxas e acelerar as transações.

Micropagamentos: Em uma solução de micropagamento como o Code, o ZK Compression pode tornar os pagamentos na rede Solana mais econômicos e sustentáveis, reduzindo os requisitos de armazenamento na cadeia.

Redes Descentralizadas: Protocolos como o Helium fornecem redes sem fio descentralizadas, atendendo milhões de usuários e dispositivos. A compressão ZK desempenha um papel fundamental no gerenciamento das grandes quantidades de dados gerados por essas redes sem a necessidade de soluções complexas de segundo nível.

Jogos: O ZK Compression pode otimizar os custos de armazenamento em jogos como Honeyland. O custo de todos os ativos do jogo, itens do jogo e metadados NFT será reduzido, melhorando a experiência geral do usuário.

 

5. Compare ZK Rollups e ZK Compression

1) Semelhanças

Uso de provas de conhecimento zero: Ambas as soluções utilizam provas de conhecimento zero para verificar e processar com segurança transações fora da cadeia.

Escalabilidade aprimorada: Eles visam melhorar a escalabilidade do blockchain, reduzindo o processamento de transações e o armazenamento de dados na cadeia.

Soluções de camada 2: Ambas são consideradas soluções de escalonamento de camada 2 construídas sobre seus respectivos blockchains para aumentar o rendimento das transações e reduzir custos.

2) Diferenças

Plataforma Blockchain: ZK Rollups é executado em Ethereum, enquanto ZK Compression é implementado em Solana.

Foco principal: ZK Rollups se concentra na agregação e processamento de transações fora da cadeia para aumentar a escalabilidade, enquanto a ZK Compression reduz principalmente os custos de armazenamento na cadeia por meio da compactação de dados.

Método de implementação: ZK Rollups agrupa múltiplas transações em uma única prova e as envia para a cadeia principal Ethereum, enquanto ZK Compression compacta vários estados de conta em uma única conta on-chain em Solana.

Tamanho da prova: ZK Rollups usam zk-SNARKs ou zk-STARKs para gerar provas concisas, enquanto ZK Compression aproveita zk-SNARKs para compactar provas Merkle em um tamanho constante.

Processamento de transações: ZK Rollups processa transações fora da cadeia e envia provas ao Ethereum periodicamente, enquanto ZK Compression processa dados de contas compactados na cadeia por meio de provas de conhecimento zero.

3) Casos de uso

A. Casos de uso atuais de ZK Rollups

Aplicativos DeFi: Aprimore os protocolos financeiros descentralizados, reduzindo as taxas de transação e aumentando a velocidade das transações.

Exchanges Descentralizadas (DEXs): Facilite a troca eficiente de tokens, mantendo a privacidade.

Jogos: Apoie economias de jogos escaláveis ​​e mercados NFT com custos mais baixos.

Pagamentos: permita micropagamentos e pagamentos internacionais rápidos e de baixo custo.

B. Potenciais casos de uso de compressão ZK

Aplicativos DeFi: taxas mais baixas e transações mais rápidas para protocolos DeFi em Solana.

Micropagamentos: Tornar as pequenas transações mais econômicas e sustentáveis, minimizando o armazenamento na cadeia.

Redes Descentralizadas: Gerencie com eficiência as grandes quantidades de dados gerados por redes sem fio descentralizadas e aplicações IoT.

Jogo: otimize o custo de armazenamento de ativos de jogos e metadados NFT para melhorar a experiência do usuário.

 

6. Resumo

Quer você sofra de Eth Maximysis ou seja um forte defensor de Solana como eu, o mais importante é escolher um blockchain que atenda às suas necessidades atuais.

Acredito que os ZK Rollups são mais adequados para projetos que exigem alta segurança e se beneficiam do ecossistema maduro do Ethereum, pois fornecem uma maneira confiável de escalar o Ethereum, mantendo sua estrutura descentralizada.

Por outro lado, com o ZK Compression, Solana pode processar mais transações sem ficar atolado, mesmo que o preço do SOL aumente. Portanto, acho que o ZK Compression no Solana é uma boa opção para aplicações onde velocidade, desempenho e economia são importantes.

Solana permite aplicativos descentralizados (dApps) de alto desempenho e econômicos que são preparados para o futuro, pois a velocidade e o custo são essenciais para a adoção generalizada da tecnologia blockchain.

Em resumo, tanto o ZK Rollups quanto o ZK Compression ajudam a tornar as transações mais rápidas, mais baratas e, portanto, mais escaláveis.