*Encaminhar 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 discutir as vantagens e desvantagens desta blockchain, que acreditamos poder ter um futuro promissor.
ZkSync é uma blockchain de segundo nível (Camada 2 - L2) para o Ethereum, projetada para resolver os problemas de taxas elevadas e limitações de throughput (Transações Por Segundo - TPS) na rede Ethereum. Esta plataforma utiliza a tecnologia ZK-Rollup, que usa Provas de Conhecimento Zero (ZKP) para agrupar múltiplas 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, melhorando significativamente a eficiência e reduzindo custos.
Desenvolvido porMatter Labs, zkSync é anunciado como um produto totalmente de código aberto (100% de código aberto), gerido 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, estão operacionais duas blockchains: zkSync Lite, que processa pagamentos em ETH e tokens ERC20, e zkSync Era, suportando contratos inteligentes completos. Os planos futuros incluem o lançamento de um sistema de hipercadeia (L3), garantindo alta segurança. O objetivo da Matter Labs é escalar a tecnologia a um nível que irá atrair os próximos bilhões de utilizadores de blockchain.
ZkSync representa uma nova abordagem para resolver o problema de escalabilidade conhecido como o trilema da blockchain. Este projeto, como outras soluções de Camada 2 (L2), procura encontrar um equilíbrio entre segurança, escalabilidade e descentralização nas redes blockchain.
O Ethereum foca-se na segurança e descentralização, enfatizando o seu estatuto como um protocolo peer-to-peer com nós distribuídos pelo mundo. Para obter 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 retarda a rede. Além disso, sob carga de rede alta, as transações podem se tornar bastante caras e exigir um tempo significativo para processar.
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 a divisão de validadores em subgrupos para processar segmentos separados da rede, reduzindo assim a carga geral e aumentando a capacidade. No entanto, a comunidade tem se concentrado em soluções de Camada 2, considerando seu desenvolvimento rápido.
Para além da ideia de implementar Sharding no Ethereum, surgiram outras soluções de escalabilidade, tais como:
Bem como tecnologias baseadas em Provas de Conhecimento Zero (ZKP), incluindo:
Pode encontrar informações mais detalhadasaqui.
Embora o Sharding ainda esteja em desenvolvimento, o hardfork do Dencun está planeado para o início de 2024, o que será implementado Proto-Danksharding. Este passo intermédio tem como objetivo melhorar as soluções de Camada 2, tornando o armazenamento de dados no L1 mais econômico. Assim, o Proto-Danksharding promete reduzir os custos de transação no L2, como um passo em direção a uma solução de Sharding completa.
À primeira vista, as blockchains L2 podem parecer semelhantes, pois a sua principal tarefa é aumentar o número de transações fora da L1, delegando o papel de garante de segurança à L1. Os desenvolvedores de tais blockchains frequentemente afirmam que as suas soluções são as mais rápidas, mais confiáveis e mais simples. Na realidade, cada abordagem para a escalabilidade tem as 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 estes aspetos nos levam de volta às questões fundamentais do trilema das blockchains.
Em este artigo, são propostos critérios-chave para avaliar os protocolos usados 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 (uma vez que existe 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, irei fornecer uma tabela e aqui descreverei brevemente o seu conteúdo.
Com desempenho, é simples. TPS (Transações Por Segundo) indica a capacidade da rede e, no contexto da escalabilidade, é o parâmetro mais crucial.
Aspetos 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, criado por desenvolvedores para desenvolvedores com amor por provas e mergulhos profundos em detalhes.
A operação de ZK-Rollups pode ser representada a um nível elevado 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 fisicamente não podem roubar fundos. O dano potencial mais significativo que podem causar é uma paralisação temporária da rede.
Nota: Na Era zkSync, o papel dos validadores é desempenhado pelos operadores.
Os desenvolvedores do zkSync destacam as seguintes garantias da sua arquitetura:
As transações na Era zkSync passam por vários estados-chave, diferentes das confirmações habituais de Rollup em L1:
Para 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 foram retirados do L1. No entanto, após uma atualização, estes valores serão agora obtidos a partir de L2. Apesar disso, os desenvolvedores planeiam disponibilizar métodos para aceder aos dados a partir de L1.
A compatibilidade das soluções L2 baseadas em ZKP com o Ethereum é uma tarefa complexa. Isto deve-se ao facto de o Ethereum não ter sido originalmente concebido para uma interação ótima com o ZKP. Como resultado, ao desenvolver tais sistemas, deve ser encontrada uma compromisso entre o desempenho e o potencial de escalabilidade, por um lado, e a compatibilidade com o Ethereum e o EVM, por outro. Artigo de Vitalik Buterin Os diferentes tipos de ZK-EVMsdiscute esses aspectos em detalhe e destaca diferentes níveis de compatibilidade.
zkSync escolheu um dos caminhos mais desafiadores, visando alto desempenho, mas com compatibilidade limitada tanto com o Ethereum quanto com o EVM. Para obter bytecode compatível com zkEVM, o LLVMo projeto é usado com um conjunto de compiladores e otimizadores proprietários. No caso do Solidity e Yul, após o compilador solc padrão, o código passa por várias etapas antes de se tornar bytecode zkEVM. O diagrama abaixo ilustra todas as etapas deste processo (descrito com mais detalhesaqui):
Importante! As otimizações no zksolc são suportadas.
O bytecode especificamente compilado para EVM não é compatível com 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 deste método é a independência de linguagens de programação específicas. No futuro, os desenvolvedores do zkSync prometem adicionar suporte para linguagens como Rust e C++. É importante que a demora 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ínima. Inicialmente, houve a ideia de criar sua própria linguagem de programação, Zinc, mas neste momento, a equipe está focada em suportar linguagens de programação mais populares.
A questão da compatibilidade dos zk-compiladores 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 zk-compiladores out of the box, criando dificuldades em trabalhar com eles. No entanto, soluçõesestão a ser desenvolvidos que prometem facilitar o processo de migração de projetos e adaptação a novas tecnologias.
O artigo de Vitalik Buterin menciona que a Ethereum provavelmente se esforçará para melhorar a compatibilidade com a ZKP a nível do protocolo ao longo do tempo. Da mesma forma, as soluções de L2 com ZKP irão se adaptar para uma melhor compatibilidade com a 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á a ser desenvolvido ativamente; consulte sempre a versão mais recente da documentação!
zkEVM difere do EVM e, apesar dos esforços dos desenvolvedores para esconder essas diferenças "debaixo do capô", há características importantes a considerar ao escrever contratos inteligentes:
Para uma compreensão profunda do trabalho com zkEVM, é recomendado estudar a documentação, incluindo a secçãoSegurança e melhores práticas.
A abstração de conta no zkSync oferece várias vantagens-chave sobreERC-4337:
A infraestrutura da Era zkSync está a ganhar rapidamente impulso e já inclui dezenas de protocolos: Bridges, DeFi, protocolos de infraestrutura e muito mais. (A lista atual pode ser vistaaqui).
Outra vantagem é a compatibilidade com carteiras Ethereum, como MetaMask ou TrustWallet.
O protocolo zkSync iniciou o seu desenvolvimento com o lançamento do zkSync Lite, destinado apenas a transferências de ether e tokens ERC-20, sem a capacidade de implementar protocolos completos. Esta etapa 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. No entanto, as ambições do zkSync não se limitam a isso, uma vez que os planos de desenvolvimento incluem o lançamento das chamadas hyperchains.
Hyperchains, ou "escalonamento fractal", consistem em redes ZKP, cada uma formando seus próprios blocos e provas. Essas provas são então coletadas e publicadas na rede principal L1. Cada uma dessas redes é uma cópia completa de todo o sistema e pode ser considerada seu "fractal".
A singularidade das hyperchains está no facto de poderem ser criadas e implementadas de forma independente. Para manter a consistência e compatibilidade, cada hyperchain deve utilizar um motor zkEVM comum, parte da pilha ZK (com a Era zkSync a atuar como a primeira hyperchain). Isto permite que as hyperchains herdem a sua segurança do L1, garantindo a sua fiabilidade 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 atualmente, o lançamento nesta blockchain ainda esteja associado a uma série de riscos que precisam ser considerados. O desenvolvimento para zkSync é atualmente mais desafiador do que para blockchains que são muito mais compatíveis com o EVM e o stack de desenvolvimento EVM. No entanto, talvez no futuro, essa diferença se torne insignificante ou desapareça por completo.
*Encaminhar 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 discutir as vantagens e desvantagens desta blockchain, que acreditamos poder ter um futuro promissor.
ZkSync é uma blockchain de segundo nível (Camada 2 - L2) para o Ethereum, projetada para resolver os problemas de taxas elevadas e limitações de throughput (Transações Por Segundo - TPS) na rede Ethereum. Esta plataforma utiliza a tecnologia ZK-Rollup, que usa Provas de Conhecimento Zero (ZKP) para agrupar múltiplas 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, melhorando significativamente a eficiência e reduzindo custos.
Desenvolvido porMatter Labs, zkSync é anunciado como um produto totalmente de código aberto (100% de código aberto), gerido 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, estão operacionais duas blockchains: zkSync Lite, que processa pagamentos em ETH e tokens ERC20, e zkSync Era, suportando contratos inteligentes completos. Os planos futuros incluem o lançamento de um sistema de hipercadeia (L3), garantindo alta segurança. O objetivo da Matter Labs é escalar a tecnologia a um nível que irá atrair os próximos bilhões de utilizadores de blockchain.
ZkSync representa uma nova abordagem para resolver o problema de escalabilidade conhecido como o trilema da blockchain. Este projeto, como outras soluções de Camada 2 (L2), procura encontrar um equilíbrio entre segurança, escalabilidade e descentralização nas redes blockchain.
O Ethereum foca-se na segurança e descentralização, enfatizando o seu estatuto como um protocolo peer-to-peer com nós distribuídos pelo mundo. Para obter 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 retarda a rede. Além disso, sob carga de rede alta, as transações podem se tornar bastante caras e exigir um tempo significativo para processar.
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 a divisão de validadores em subgrupos para processar segmentos separados da rede, reduzindo assim a carga geral e aumentando a capacidade. No entanto, a comunidade tem se concentrado em soluções de Camada 2, considerando seu desenvolvimento rápido.
Para além da ideia de implementar Sharding no Ethereum, surgiram outras soluções de escalabilidade, tais como:
Bem como tecnologias baseadas em Provas de Conhecimento Zero (ZKP), incluindo:
Pode encontrar informações mais detalhadasaqui.
Embora o Sharding ainda esteja em desenvolvimento, o hardfork do Dencun está planeado para o início de 2024, o que será implementado Proto-Danksharding. Este passo intermédio tem como objetivo melhorar as soluções de Camada 2, tornando o armazenamento de dados no L1 mais econômico. Assim, o Proto-Danksharding promete reduzir os custos de transação no L2, como um passo em direção a uma solução de Sharding completa.
À primeira vista, as blockchains L2 podem parecer semelhantes, pois a sua principal tarefa é aumentar o número de transações fora da L1, delegando o papel de garante de segurança à L1. Os desenvolvedores de tais blockchains frequentemente afirmam que as suas soluções são as mais rápidas, mais confiáveis e mais simples. Na realidade, cada abordagem para a escalabilidade tem as 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 estes aspetos nos levam de volta às questões fundamentais do trilema das blockchains.
Em este artigo, são propostos critérios-chave para avaliar os protocolos usados 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 (uma vez que existe 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, irei fornecer uma tabela e aqui descreverei brevemente o seu conteúdo.
Com desempenho, é simples. TPS (Transações Por Segundo) indica a capacidade da rede e, no contexto da escalabilidade, é o parâmetro mais crucial.
Aspetos 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, criado por desenvolvedores para desenvolvedores com amor por provas e mergulhos profundos em detalhes.
A operação de ZK-Rollups pode ser representada a um nível elevado 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 fisicamente não podem roubar fundos. O dano potencial mais significativo que podem causar é uma paralisação temporária da rede.
Nota: Na Era zkSync, o papel dos validadores é desempenhado pelos operadores.
Os desenvolvedores do zkSync destacam as seguintes garantias da sua arquitetura:
As transações na Era zkSync passam por vários estados-chave, diferentes das confirmações habituais de Rollup em L1:
Para 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 foram retirados do L1. No entanto, após uma atualização, estes valores serão agora obtidos a partir de L2. Apesar disso, os desenvolvedores planeiam disponibilizar métodos para aceder aos dados a partir de L1.
A compatibilidade das soluções L2 baseadas em ZKP com o Ethereum é uma tarefa complexa. Isto deve-se ao facto de o Ethereum não ter sido originalmente concebido para uma interação ótima com o ZKP. Como resultado, ao desenvolver tais sistemas, deve ser encontrada uma compromisso entre o desempenho e o potencial de escalabilidade, por um lado, e a compatibilidade com o Ethereum e o EVM, por outro. Artigo de Vitalik Buterin Os diferentes tipos de ZK-EVMsdiscute esses aspectos em detalhe e destaca diferentes níveis de compatibilidade.
zkSync escolheu um dos caminhos mais desafiadores, visando alto desempenho, mas com compatibilidade limitada tanto com o Ethereum quanto com o EVM. Para obter bytecode compatível com zkEVM, o LLVMo projeto é usado com um conjunto de compiladores e otimizadores proprietários. No caso do Solidity e Yul, após o compilador solc padrão, o código passa por várias etapas antes de se tornar bytecode zkEVM. O diagrama abaixo ilustra todas as etapas deste processo (descrito com mais detalhesaqui):
Importante! As otimizações no zksolc são suportadas.
O bytecode especificamente compilado para EVM não é compatível com 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 deste método é a independência de linguagens de programação específicas. No futuro, os desenvolvedores do zkSync prometem adicionar suporte para linguagens como Rust e C++. É importante que a demora 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ínima. Inicialmente, houve a ideia de criar sua própria linguagem de programação, Zinc, mas neste momento, a equipe está focada em suportar linguagens de programação mais populares.
A questão da compatibilidade dos zk-compiladores 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 zk-compiladores out of the box, criando dificuldades em trabalhar com eles. No entanto, soluçõesestão a ser desenvolvidos que prometem facilitar o processo de migração de projetos e adaptação a novas tecnologias.
O artigo de Vitalik Buterin menciona que a Ethereum provavelmente se esforçará para melhorar a compatibilidade com a ZKP a nível do protocolo ao longo do tempo. Da mesma forma, as soluções de L2 com ZKP irão se adaptar para uma melhor compatibilidade com a 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á a ser desenvolvido ativamente; consulte sempre a versão mais recente da documentação!
zkEVM difere do EVM e, apesar dos esforços dos desenvolvedores para esconder essas diferenças "debaixo do capô", há características importantes a considerar ao escrever contratos inteligentes:
Para uma compreensão profunda do trabalho com zkEVM, é recomendado estudar a documentação, incluindo a secçãoSegurança e melhores práticas.
A abstração de conta no zkSync oferece várias vantagens-chave sobreERC-4337:
A infraestrutura da Era zkSync está a ganhar rapidamente impulso e já inclui dezenas de protocolos: Bridges, DeFi, protocolos de infraestrutura e muito mais. (A lista atual pode ser vistaaqui).
Outra vantagem é a compatibilidade com carteiras Ethereum, como MetaMask ou TrustWallet.
O protocolo zkSync iniciou o seu desenvolvimento com o lançamento do zkSync Lite, destinado apenas a transferências de ether e tokens ERC-20, sem a capacidade de implementar protocolos completos. Esta etapa 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. No entanto, as ambições do zkSync não se limitam a isso, uma vez que os planos de desenvolvimento incluem o lançamento das chamadas hyperchains.
Hyperchains, ou "escalonamento fractal", consistem em redes ZKP, cada uma formando seus próprios blocos e provas. Essas provas são então coletadas e publicadas na rede principal L1. Cada uma dessas redes é uma cópia completa de todo o sistema e pode ser considerada seu "fractal".
A singularidade das hyperchains está no facto de poderem ser criadas e implementadas de forma independente. Para manter a consistência e compatibilidade, cada hyperchain deve utilizar um motor zkEVM comum, parte da pilha ZK (com a Era zkSync a atuar como a primeira hyperchain). Isto permite que as hyperchains herdem a sua segurança do L1, garantindo a sua fiabilidade 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 atualmente, o lançamento nesta blockchain ainda esteja associado a uma série de riscos que precisam ser considerados. O desenvolvimento para zkSync é atualmente mais desafiador do que para blockchains que são muito mais compatíveis com o EVM e o stack de desenvolvimento EVM. No entanto, talvez no futuro, essa diferença se torne insignificante ou desapareça por completo.