*Encaminhe o Título Original 'Como ZKP e ZK-Rollups ajudam a resolver o problema de escalabilidade: uma revisão da blockchain zkSync'
Neste artigo, explicaremos o que é a tecnologia de prova de conhecimento zero e falaremos sobre uma blockchain popular - zkSync: como funcionam as transações no zkSync e as principais diferenças da Máquina Virtual Ethereum (EVM). Também discutiremos as vantagens e desvantagens desta blockchain, que acreditamos poder ter um futuro promissor.
ZkSync é uma blockchain de segundo nível (Camada 2 - L2) para Ethereum, projetada para abordar os problemas de taxas altas e throughput limitado (Transações Por Segundo - TPS) na rede Ethereum. Esta plataforma emprega a tecnologia ZK-Rollup, que utiliza Provas de Conhecimento Zero (ZKP) para agrupar várias transações fora da rede principal (L1). Apenas as provas criptográficas da correção das transações e seus dados comprimidos são enviados para L1, aumentando significativamente a eficiência e reduzindo os custos.
Desenvolvido porMatter Labs, zkSync é anunciado como um produto totalmente de código aberto (100% de código aberto), gerenciado pela comunidade. De acordo com Cryptorank, o projeto já atraiu atenção, levantando investimentos de $458 milhões. A longo prazo, a Matter Labs tem como objetivo criar um ecossistema abrangente. Atualmente, duas blockchains estão operacionais: zkSync Lite, que processa pagamentos em tokens ETH e ERC20, e zkSync Era, suportando contratos inteligentes completos. Os planos futuros incluem o lançamento de um sistema hyperchain (L3), garantindo alta segurança. O objetivo da Matter Labs é escalar a tecnologia para um nível que atrairá os próximos bilhões de usuários de blockchain.
ZkSync representa uma nova abordagem para resolver o problema de escalabilidade conhecido como o trilema do blockchainEste projeto, assim como outras soluções de Camada 2 (L2), busca encontrar um equilíbrio entre segurança, escalabilidade e descentralização nas redes blockchain.
Ethereum foca na segurança e descentralização, enfatizando seu status como um protocolo peer-to-peer com nós distribuídos ao redor do mundo. Para as informações mais recentes sobre a distribuição de nós, consulte NodeWatch.
Para manter a descentralização na rede, cada nó deve verificar todas as transações. Isso naturalmente desacelera a rede. Além disso, sob carga de rede alta, as transações podem se tornar bastante caras e exigir tempo significativo para serem processadas.
A principal tarefa para aumentar o TPS da rede Ethereum sem aumentar a carga nos nós foi a introdução de Shardingem combinação com a transição para o consenso PoS (Proof of Stake). Isso envolveu dividir os validadores em subgrupos para processar segmentos separados da rede, reduzindo assim a carga geral e aumentando o throughput. No entanto, a comunidade tem se concentrado em soluções de Camada 2, considerando seu rápido desenvolvimento.
Além da ideia de implementar o Sharding no Ethereum, outras soluções de escalabilidade surgiram, tais como:
Bem como tecnologias baseadas em Provas de Conhecimento Zero (ZKP), incluindo:
Mais informações detalhadas podem ser encontradas aqui.
Embora o Sharding ainda esteja em desenvolvimento, o hardfork Dencun está planejado para o início de 2024, o que irá implementar Proto-Danksharding. Este passo intermediário tem como objetivo melhorar as soluções de Camada 2, tornando o armazenamento de dados na L1 mais econômico. Assim, o Proto-Danksharding promete reduzir os custos de transação na L2, como um passo em direção a uma solução completa de Sharding.
À primeira vista, as blockchains L2 podem parecer semelhantes, já que sua principal tarefa é aumentar o número de transações fora da L1, enquanto delegam o papel de garantidor de segurança para L1. Os desenvolvedores de tais blockchains frequentemente afirmam que suas soluções são as mais rápidas, confiáveis e simples. Na realidade, cada abordagem de escalonamento tem suas nuances e compromissos inevitáveis em relação à velocidade das transações, nível de segurança ou grau de descentralização. Soluções totalmente centralizadas também são comuns. Todos esses aspectos nos trazem de volta às questões fundamentais do trilema da blockchain.
Em este artigo, são propostos critérios-chave para avaliar os protocolos utilizados nas soluções de Camada 2. Eles incluem:
Importante! O artigo é escrito pela Matter Labs e, na minha opinião, algumas coisas são "esticadas" a favor do zkRollup (já que há um claro conflito de interesse), mas isso não é tão importante, o principal é ver quais diferenças existem entre os protocolos de Camada-2.
Abaixo vou fornecer uma tabela e aqui vou descrever brevemente seu conteúdo.
Com performance, é simples. TPS (Transações Por Segundo) indica o throughput da rede e, no contexto de escala, é o parâmetro mais crucial.
Aspectos econômicos:
Abaixo está uma tabela comparativa das principais soluções baseadas em ZKP:
Para uma compreensão mais detalhada das Provas de Conhecimento Zero (ZKP), recomendo consultar este artigoem nossoblockchain-wiki, criada por desenvolvedores para desenvolvedores com amor por provas e aprofundamentos em detalhes.
A operação dos ZK-Rollups pode ser representada em alto nível da seguinte forma:
No contexto da arquitetura do zkSync, o processo parece assim:
Os validadores em ZK-Rollups desempenham um papel fundamental, empacotando transações em blocos e gerando Provas de Conhecimento Zero para elas. Uma característica do sistema é que os validadores não podem fisicamente roubar fundos. O dano potencial mais significativo que eles podem causar é uma interrupção temporária da rede.
Observação: Na Era zkSync, o papel dos validadores é desempenhado pelos operadores.
Os desenvolvedores do zkSync destacam as seguintes garantias de sua arquitetura:
As transações na Era zkSync passam por vários estados-chave, diferentes das confirmações habituais do Rollup em L1:
Além do número do bloco, as transações no zkSync também exibem o número do pacote. Originalmente, parâmetros como block.number, block.timestamp e blockhash eram retirados da L1. No entanto, após uma atualização, esses valores agora serão obtidos da L2. Apesar disso, os desenvolvedores planejam fornecer métodos para acessar dados da L1.
A compatibilidade das soluções L2 baseadas em ZKP com o Ethereum é uma tarefa complexa. Isso ocorre porque o Ethereum não foi originalmente projetado para interação ideal com ZKP. Como resultado, no desenvolvimento de tais sistemas, um compromisso deve ser encontrado entre desempenho e potencial de escalabilidade, por um lado, e compatibilidade com o Ethereum e EVM, por outro. Artigo de Vitalik Buterin "Os diferentes tipos de ZK-EVMs"discute esses aspectos em detalhes e destaca diferentes níveis de compatibilidade.
zkSync escolheu um dos caminhos mais desafiadores, visando alto desempenho, mas com compatibilidade limitada tanto com Ethereum quanto com EVM. Para obter bytecode compatível com zkEVM, o LLVMo projeto é usado com uma série de compiladores e otimizadores proprietários. No caso do Solidity e Yul, após o compilador padrão solc, o código passa por várias etapas antes de se tornar bytecode zkEVM. O diagrama abaixo ilustra todas as etapas desse processo (descritas com mais detalhes aqui:)
Importante! As otimizações no zksolc são suportadas.
O bytecode especificamente compilado para o EVM não é compatível com o zkEVM. Isso significa que os endereços de contratos inteligentes idênticos no Ethereum e no zkSync serão diferentes. No entanto, os desenvolvedores planejam resolver esse problema no futuro.
Uma das vantagens significativas desta abordagem é a independência de linguagens de programação específicas. No futuro, os desenvolvedores da zkSync prometem adicionar suporte para linguagens como Rust e C++. É importante que o atraso nas atualizações e a integração de inovações entre compiladores de alto nível (por exemplo, solc) e compiladores de plataforma (por exemplo, zksolc) seja mínimo. Inicialmente, havia a ideia de criar sua própria linguagem de programação, Zinc, mas no momento, a equipe está focada em suportar linguagens de programação mais populares.
A questão da compatibilidade dos compiladores zk com as ferramentas de desenvolvimento e depuração existentes para contratos inteligentes Solidity e Vyper é significativa. Plataformas de desenvolvimento atuais como Remix, Hardhat e Foundry não suportam compiladores zk prontos para uso, criando dificuldades ao trabalhar com eles. No entanto, soluçõesestão sendo desenvolvidas que prometem facilitar o processo de migração de projetos e adaptação a novas tecnologias.
O artigo de Vitalik Buterin menciona que o Ethereum provavelmente se esforçará para melhorar a compatibilidade com ZKP no nível do protocolo ao longo do tempo. Da mesma forma, as soluções L2 com ZKP se adaptarão para uma melhor compatibilidade com o Ethereum. Como resultado, no futuro, as diferenças entre esses sistemas podem se tornar quase imperceptíveis, garantindo uma integração e transição mais suaves para os desenvolvedores.
Importante! O protocolo está sendo desenvolvido ativamente; sempre consulte a versão mais recente da documentação!
zkEVM difere do EVM e, apesar dos esforços dos desenvolvedores para esconder essas diferenças "por baixo do capô," existem características importantes a considerar ao escrever contratos inteligentes:
Para uma compreensão profunda de como trabalhar com zkEVM, é recomendado estudar a documentação, incluindo a seção “Segurança e melhores práticas”.
A abstração de conta no zkSync oferece várias vantagens-chave sobre ERC-4337:
A infraestrutura da era zkSync está ganhando rapidamente impulso e já inclui dezenas de protocolos: Bridges, DeFi, protocolos de infraestrutura e muito mais. (A lista atual pode ser visualizadaaqui).
Outra vantagem é a compatibilidade com carteiras Ethereum, como MetaMask ou TrustWallet.
O protocolo zkSync iniciou seu desenvolvimento com o lançamento do zkSync Lite, destinado apenas a transferências de ether e tokens ERC-20, sem a capacidade de implantar protocolos completos. Esta fase foi um passo importante no desenvolvimento, mas apenas antecedeu a chegada da zkSync Era - uma solução L2 completa para Ethereum, que teoricamente pode ser adaptada para outras blockchains L1 também. No entanto, as ambições do zkSync não param por aí, pois os planos de desenvolvimento incluem o lançamento das chamadas hyperchains.
Hypercadeias, ou “dimensionamento fractal,” consistem em redes de ZKP, cada uma formando seus próprios blocos e provas. Essas provas são então coletadas e postadas na rede principal L1. Cada uma dessas redes é uma cópia completa de todo o sistema e pode ser considerada sua “fractal”.
A singularidade das hyperchains é que elas podem ser criadas e implantadas de forma independente. Para manter a consistência e compatibilidade, cada hyperchain deve usar um mecanismo comum zkEVM, parte do ZK stack (com a Era zkSync atuando como a primeira hyperchain). Isso permite que as hyperchains herdem sua segurança do L1, garantindo sua confiabilidade e eliminando a necessidade de medidas adicionais de confiança e segurança.
Hyperchains representam uma abordagem inovadora para escalar redes blockchain, reduzindo a carga na rede principal e aumentando a velocidade de processamento de transações. Aspectos-chave desta abordagem incluem:
Mais sobre tudo isso pode ser encontrado aqui.
O protocolo zkSync parece muito promissor e tem um grande potencial, embora, no momento, o lançamento nesta blockchain ainda esteja associado a uma série de riscos que precisam ser considerados. O desenvolvimento para o zkSync é atualmente mais desafiador do que para blockchains que são muito mais compatíveis com a EVM e a pilha de desenvolvimento do EVM. No entanto, talvez no futuro, essa diferença se torne insignificante ou desapareça completamente.
*Encaminhe o Título Original 'Como ZKP e ZK-Rollups ajudam a resolver o problema de escalabilidade: uma revisão da blockchain zkSync'
Neste artigo, explicaremos o que é a tecnologia de prova de conhecimento zero e falaremos sobre uma blockchain popular - zkSync: como funcionam as transações no zkSync e as principais diferenças da Máquina Virtual Ethereum (EVM). Também discutiremos as vantagens e desvantagens desta blockchain, que acreditamos poder ter um futuro promissor.
ZkSync é uma blockchain de segundo nível (Camada 2 - L2) para Ethereum, projetada para abordar os problemas de taxas altas e throughput limitado (Transações Por Segundo - TPS) na rede Ethereum. Esta plataforma emprega a tecnologia ZK-Rollup, que utiliza Provas de Conhecimento Zero (ZKP) para agrupar várias transações fora da rede principal (L1). Apenas as provas criptográficas da correção das transações e seus dados comprimidos são enviados para L1, aumentando significativamente a eficiência e reduzindo os custos.
Desenvolvido porMatter Labs, zkSync é anunciado como um produto totalmente de código aberto (100% de código aberto), gerenciado pela comunidade. De acordo com Cryptorank, o projeto já atraiu atenção, levantando investimentos de $458 milhões. A longo prazo, a Matter Labs tem como objetivo criar um ecossistema abrangente. Atualmente, duas blockchains estão operacionais: zkSync Lite, que processa pagamentos em tokens ETH e ERC20, e zkSync Era, suportando contratos inteligentes completos. Os planos futuros incluem o lançamento de um sistema hyperchain (L3), garantindo alta segurança. O objetivo da Matter Labs é escalar a tecnologia para um nível que atrairá os próximos bilhões de usuários de blockchain.
ZkSync representa uma nova abordagem para resolver o problema de escalabilidade conhecido como o trilema do blockchainEste projeto, assim como outras soluções de Camada 2 (L2), busca encontrar um equilíbrio entre segurança, escalabilidade e descentralização nas redes blockchain.
Ethereum foca na segurança e descentralização, enfatizando seu status como um protocolo peer-to-peer com nós distribuídos ao redor do mundo. Para as informações mais recentes sobre a distribuição de nós, consulte NodeWatch.
Para manter a descentralização na rede, cada nó deve verificar todas as transações. Isso naturalmente desacelera a rede. Além disso, sob carga de rede alta, as transações podem se tornar bastante caras e exigir tempo significativo para serem processadas.
A principal tarefa para aumentar o TPS da rede Ethereum sem aumentar a carga nos nós foi a introdução de Shardingem combinação com a transição para o consenso PoS (Proof of Stake). Isso envolveu dividir os validadores em subgrupos para processar segmentos separados da rede, reduzindo assim a carga geral e aumentando o throughput. No entanto, a comunidade tem se concentrado em soluções de Camada 2, considerando seu rápido desenvolvimento.
Além da ideia de implementar o Sharding no Ethereum, outras soluções de escalabilidade surgiram, tais como:
Bem como tecnologias baseadas em Provas de Conhecimento Zero (ZKP), incluindo:
Mais informações detalhadas podem ser encontradas aqui.
Embora o Sharding ainda esteja em desenvolvimento, o hardfork Dencun está planejado para o início de 2024, o que irá implementar Proto-Danksharding. Este passo intermediário tem como objetivo melhorar as soluções de Camada 2, tornando o armazenamento de dados na L1 mais econômico. Assim, o Proto-Danksharding promete reduzir os custos de transação na L2, como um passo em direção a uma solução completa de Sharding.
À primeira vista, as blockchains L2 podem parecer semelhantes, já que sua principal tarefa é aumentar o número de transações fora da L1, enquanto delegam o papel de garantidor de segurança para L1. Os desenvolvedores de tais blockchains frequentemente afirmam que suas soluções são as mais rápidas, confiáveis e simples. Na realidade, cada abordagem de escalonamento tem suas nuances e compromissos inevitáveis em relação à velocidade das transações, nível de segurança ou grau de descentralização. Soluções totalmente centralizadas também são comuns. Todos esses aspectos nos trazem de volta às questões fundamentais do trilema da blockchain.
Em este artigo, são propostos critérios-chave para avaliar os protocolos utilizados nas soluções de Camada 2. Eles incluem:
Importante! O artigo é escrito pela Matter Labs e, na minha opinião, algumas coisas são "esticadas" a favor do zkRollup (já que há um claro conflito de interesse), mas isso não é tão importante, o principal é ver quais diferenças existem entre os protocolos de Camada-2.
Abaixo vou fornecer uma tabela e aqui vou descrever brevemente seu conteúdo.
Com performance, é simples. TPS (Transações Por Segundo) indica o throughput da rede e, no contexto de escala, é o parâmetro mais crucial.
Aspectos econômicos:
Abaixo está uma tabela comparativa das principais soluções baseadas em ZKP:
Para uma compreensão mais detalhada das Provas de Conhecimento Zero (ZKP), recomendo consultar este artigoem nossoblockchain-wiki, criada por desenvolvedores para desenvolvedores com amor por provas e aprofundamentos em detalhes.
A operação dos ZK-Rollups pode ser representada em alto nível da seguinte forma:
No contexto da arquitetura do zkSync, o processo parece assim:
Os validadores em ZK-Rollups desempenham um papel fundamental, empacotando transações em blocos e gerando Provas de Conhecimento Zero para elas. Uma característica do sistema é que os validadores não podem fisicamente roubar fundos. O dano potencial mais significativo que eles podem causar é uma interrupção temporária da rede.
Observação: Na Era zkSync, o papel dos validadores é desempenhado pelos operadores.
Os desenvolvedores do zkSync destacam as seguintes garantias de sua arquitetura:
As transações na Era zkSync passam por vários estados-chave, diferentes das confirmações habituais do Rollup em L1:
Além do número do bloco, as transações no zkSync também exibem o número do pacote. Originalmente, parâmetros como block.number, block.timestamp e blockhash eram retirados da L1. No entanto, após uma atualização, esses valores agora serão obtidos da L2. Apesar disso, os desenvolvedores planejam fornecer métodos para acessar dados da L1.
A compatibilidade das soluções L2 baseadas em ZKP com o Ethereum é uma tarefa complexa. Isso ocorre porque o Ethereum não foi originalmente projetado para interação ideal com ZKP. Como resultado, no desenvolvimento de tais sistemas, um compromisso deve ser encontrado entre desempenho e potencial de escalabilidade, por um lado, e compatibilidade com o Ethereum e EVM, por outro. Artigo de Vitalik Buterin "Os diferentes tipos de ZK-EVMs"discute esses aspectos em detalhes e destaca diferentes níveis de compatibilidade.
zkSync escolheu um dos caminhos mais desafiadores, visando alto desempenho, mas com compatibilidade limitada tanto com Ethereum quanto com EVM. Para obter bytecode compatível com zkEVM, o LLVMo projeto é usado com uma série de compiladores e otimizadores proprietários. No caso do Solidity e Yul, após o compilador padrão solc, o código passa por várias etapas antes de se tornar bytecode zkEVM. O diagrama abaixo ilustra todas as etapas desse processo (descritas com mais detalhes aqui:)
Importante! As otimizações no zksolc são suportadas.
O bytecode especificamente compilado para o EVM não é compatível com o zkEVM. Isso significa que os endereços de contratos inteligentes idênticos no Ethereum e no zkSync serão diferentes. No entanto, os desenvolvedores planejam resolver esse problema no futuro.
Uma das vantagens significativas desta abordagem é a independência de linguagens de programação específicas. No futuro, os desenvolvedores da zkSync prometem adicionar suporte para linguagens como Rust e C++. É importante que o atraso nas atualizações e a integração de inovações entre compiladores de alto nível (por exemplo, solc) e compiladores de plataforma (por exemplo, zksolc) seja mínimo. Inicialmente, havia a ideia de criar sua própria linguagem de programação, Zinc, mas no momento, a equipe está focada em suportar linguagens de programação mais populares.
A questão da compatibilidade dos compiladores zk com as ferramentas de desenvolvimento e depuração existentes para contratos inteligentes Solidity e Vyper é significativa. Plataformas de desenvolvimento atuais como Remix, Hardhat e Foundry não suportam compiladores zk prontos para uso, criando dificuldades ao trabalhar com eles. No entanto, soluçõesestão sendo desenvolvidas que prometem facilitar o processo de migração de projetos e adaptação a novas tecnologias.
O artigo de Vitalik Buterin menciona que o Ethereum provavelmente se esforçará para melhorar a compatibilidade com ZKP no nível do protocolo ao longo do tempo. Da mesma forma, as soluções L2 com ZKP se adaptarão para uma melhor compatibilidade com o Ethereum. Como resultado, no futuro, as diferenças entre esses sistemas podem se tornar quase imperceptíveis, garantindo uma integração e transição mais suaves para os desenvolvedores.
Importante! O protocolo está sendo desenvolvido ativamente; sempre consulte a versão mais recente da documentação!
zkEVM difere do EVM e, apesar dos esforços dos desenvolvedores para esconder essas diferenças "por baixo do capô," existem características importantes a considerar ao escrever contratos inteligentes:
Para uma compreensão profunda de como trabalhar com zkEVM, é recomendado estudar a documentação, incluindo a seção “Segurança e melhores práticas”.
A abstração de conta no zkSync oferece várias vantagens-chave sobre ERC-4337:
A infraestrutura da era zkSync está ganhando rapidamente impulso e já inclui dezenas de protocolos: Bridges, DeFi, protocolos de infraestrutura e muito mais. (A lista atual pode ser visualizadaaqui).
Outra vantagem é a compatibilidade com carteiras Ethereum, como MetaMask ou TrustWallet.
O protocolo zkSync iniciou seu desenvolvimento com o lançamento do zkSync Lite, destinado apenas a transferências de ether e tokens ERC-20, sem a capacidade de implantar protocolos completos. Esta fase foi um passo importante no desenvolvimento, mas apenas antecedeu a chegada da zkSync Era - uma solução L2 completa para Ethereum, que teoricamente pode ser adaptada para outras blockchains L1 também. No entanto, as ambições do zkSync não param por aí, pois os planos de desenvolvimento incluem o lançamento das chamadas hyperchains.
Hypercadeias, ou “dimensionamento fractal,” consistem em redes de ZKP, cada uma formando seus próprios blocos e provas. Essas provas são então coletadas e postadas na rede principal L1. Cada uma dessas redes é uma cópia completa de todo o sistema e pode ser considerada sua “fractal”.
A singularidade das hyperchains é que elas podem ser criadas e implantadas de forma independente. Para manter a consistência e compatibilidade, cada hyperchain deve usar um mecanismo comum zkEVM, parte do ZK stack (com a Era zkSync atuando como a primeira hyperchain). Isso permite que as hyperchains herdem sua segurança do L1, garantindo sua confiabilidade e eliminando a necessidade de medidas adicionais de confiança e segurança.
Hyperchains representam uma abordagem inovadora para escalar redes blockchain, reduzindo a carga na rede principal e aumentando a velocidade de processamento de transações. Aspectos-chave desta abordagem incluem:
Mais sobre tudo isso pode ser encontrado aqui.
O protocolo zkSync parece muito promissor e tem um grande potencial, embora, no momento, o lançamento nesta blockchain ainda esteja associado a uma série de riscos que precisam ser considerados. O desenvolvimento para o zkSync é atualmente mais desafiador do que para blockchains que são muito mais compatíveis com a EVM e a pilha de desenvolvimento do EVM. No entanto, talvez no futuro, essa diferença se torne insignificante ou desapareça completamente.