Validity Rollups: A melhor opção para a escalabilidade do Ethereum
Os Validity Rollups (também conhecidos como zk-rollups) são considerados a solução mais promissora para aumentar a capacidade de processamento do Ethereum de forma segura e descentralizada. O núcleo desta solução de escalabilidade está no uso de provas de validade para computação verificável. Seu funcionamento é o seguinte:
Os operadores transferem o processamento de transações para um ambiente fora da cadeia (chamado de camada 2), em vez de processar cada transação na rede principal do Ethereum. Após processar um grande volume de transações, os operadores da camada 2 retornam os resultados para serem aplicados ao estado do Ethereum, ao mesmo tempo que fornecem uma prova de validade da integridade da execução fora da cadeia. Esta prova garante a validade de todas as transações no lote e é automaticamente verificada pelo contrato de validadores na cadeia. Isso permite que o Ethereum aplique os resultados ao seu próprio estado.
É importante notar que os Validity Rollups são frequentemente erroneamente chamados de rollups de conhecimento zero, mas isso não é preciso. A maioria dos Validity Rollups não utiliza ZKP nem é usada para garantir privacidade. Portanto, o termo "Validity Rollup" é mais preciso.
Máquina virtual off-chain
Antes de discutirmos em profundidade, precisamos entender o conceito de máquina virtual (VM). Em resumo, a VM é um ambiente onde programas podem ser executados, assim como executar o sistema operativo Windows em um Mac. Ela transita entre diferentes estados após realizar cálculos com certas entradas. A máquina virtual Ethereum (EVM) é a VM que executa contratos inteligentes Ethereum.
Máquina Virtual de Conhecimento Zero (zkVM) é um ambiente de execução de programas que pode gerar provas de validade fáceis de verificar, para demonstrar que o programa foi executado corretamente. O termo "zkEVM" geralmente se refere ao uso da Máquina Virtual Ethereum (EVM) e à capacidade de provar a execução da EVM. Esse termo pode ser enganador, uma vez que a EVM em si não gera essas provas; em vez disso, as provas são geradas por um mecanismo de prova separado que tem como ponto de partida os resultados da execução da EVM. Além disso, essas provas focam principalmente na validade em vez da privacidade, portanto, não são exatamente provas de conhecimento zero.
Apesar de todos os Validity Rollups terem como objetivo utilizar provas de validade para escalar o Ethereum, existem diferenças na escolha da VM para executar transações fora da cadeia. Muitos Validity Rollups optam por replicar o design do EVM (daí serem chamados de "zkEVM rollups"), tentando reproduzir a experiência do Ethereum em um rollup L2. O Starknet, por sua vez, utiliza uma nova VM - Cairo VM (CVM), projetada especificamente para otimizar a eficiência das provas de validade.
Estas duas abordagens têm as suas vantagens e desvantagens: o zkEVM troca desempenho pela compatibilidade com Ethereum, enquanto o Cairo VM coloca o desempenho acima da compatibilidade, priorizando a capacidade de escalabilidade.
Abordagem do zkEVM
O zkEVM visa trazer a experiência do Ethereum de forma completa para blockchains Layer-2. Seu objetivo é replicar o ambiente de desenvolvimento do Ethereum na agregação. Com o zkEVM, os desenvolvedores, ao escrever contratos inteligentes ou ao portá-los para soluções mais escaláveis, não precisam alterar o código ou abrir mão das ferramentas EVM e contratos inteligentes existentes.
No entanto, uma das principais desvantagens deste método é que limita o potencial de escalabilidade da prova de validade. Como o zkEVM se dedica à compatibilidade com Ethereum, é mais lento e consome mais recursos. Ao contrário do CVM, o EVM não foi projetado com a eficiência da prova em mente. Isso limita as medidas de otimização que podem melhorar a eficiência e a escalabilidade, afetando, em última análise, o desempenho geral do sistema.
Desafios de comprovabilidade do EVM
Os principais desafios enfrentados pelos métodos zkEVM decorrem do design original do EVM - ele não foi projetado para operar em um ambiente de prova de validade. Portanto, os esforços para replicar suas funcionalidades não conseguem explorar plenamente o potencial da prova de validade, resultando em ineficiência. Essa baixa eficiência acaba por prejudicar o desempenho geral do sistema. A compatibilidade do EVM com a prova de validade é obstaculizada pelos seguintes fatores:
A EVM adota um modelo baseado em pilha, enquanto a prova de validade é mais adequada para um modelo baseado em registradores. As características de pilha da EVM tornam mais difícil provar a correção da sua execução e fornecer suporte direto à sua cadeia de ferramentas nativas.
O layout de armazenamento do Ethereum depende fortemente do Keccak e da grande Árvore Merkle Patricia, ambos desfavoráveis à prova de validade e que aumentam significativamente a carga de prova. Por exemplo, o Keccak funciona rapidamente na arquitetura x86, mas requer 90 mil passos para ser provado. Em comparação, o Pedersen (uma função hash amigável ao zk) requer apenas 32 passos.
Assim, várias zkEVM oferecem diferentes níveis de suporte às ferramentas Ethereum - quanto maior a compatibilidade da zkEVM com Ethereum, pior é o desempenho.
Métodos do Cairo-VM
Ao contrário de investir muito tempo de desenvolvimento em "fazer o EVM adaptar-se aos Validity Rollups" com o zkEVM, há outra opção: usar uma nova máquina virtual dedicada e adicionar suporte para ferramentas Ethereum como uma camada adicional em cima dela. Essa é exatamente a abordagem adotada pelo Starknet, que é um Validity Rollup sem permissão lançado em novembro de 2021. O Starknet é o primeiro Validity Rollup a oferecer uma plataforma de contratos inteligentes genéricos em uma rede completamente combinável.
Starknet usa o Cairo-VM (CVM), que é uma linguagem de alto nível com o mesmo nome. O Cairo-VM foi projetado especificamente para gerar de forma eficiente provas de validade da execução de programas.
O uso de Cairo (máquina virtual e linguagem) oferece as seguintes vantagens:
Prova de validade otimizada - cada instrução tem uma representação algébrica válida.
Linguagem tipo Rust utilizada para escrever programas verificáveis
Representação intermediária entre Cairo avançado e assembleia Cairo (instruções VM) (Sierra), permitindo a execução eficiente de código Cairo
O desenvolvimento de novas linguagens permite a personalização de acordo com necessidades específicas e a inclusão de funcionalidades que atendem a demandas que antes não eram satisfeitas.
Cairo e a diversificação da codificação
Starknet incentiva a inovação, o que se reflete em sua abordagem de código diversificada. O Cairo utiliza STARKs para obter a melhor capacidade de escalabilidade, não se limitando apenas aos desenvolvedores que escrevem contratos diretamente no Cairo. Os desenvolvedores podem escolher o método que melhor se adapta a eles:
Escrever código nativo em Cairo: Com o lançamento do Cairo 1.0, os desenvolvedores agora podem usar uma linguagem de classe Rust que é ergonômica e segura.
Compatibilidade com Solidity: Desenvolvedores Solidity podem escrever código que pode ser usado pelo Cairo VM. Esta abordagem oferece uma experiência de desenvolvimento semelhante à do Ethereum e torna os contratos inteligentes Solidity portáveis para o Starknet. Existem duas formas de implementação:
Transcrição: Use o compilador Warp para converter código Solidity em Cairo.
zkEVM no Starknet: utilizando Kakarot, um zkEVM escrito em Cairo, que pode executar contratos inteligentes Ethereum no Starknet.
Apesar de ter existido por um período relativamente curto, o Cairo tornou-se a quarta linguagem de contrato inteligente mais popular em termos de TVL, recebendo mais de 350 milhões de dólares em apoio financeiro.
Resumo
zkEVM tem como objetivo replicar o ambiente Ethereum como um rollup, permitindo que os desenvolvedores utilizem ferramentas familiares do Ethereum. No entanto, essa abordagem limita o potencial da prova de validade, podendo consumir muitos recursos.
A Cairo VM foi projetada especificamente para sistemas de prova de validade, sem estar limitada pelo EVM. Ela é suportada por uma nova linguagem de programação segura e ergonômica, semelhante ao Rust, chamada Cairo 1.0, formando uma poderosa ferramenta destinada a maximizar a eficiência de escalabilidade do Ethereum através do uso de provas STARK.
O progresso contínuo do Cairo, o crescimento das diversas opções de desenvolvimento como Kakarot zkEVM e Warp é empolgante. À medida que o dApp Starknet entra na fase de produção, ele demonstra as poderosas funcionalidades do Cairo, acreditando-se que será utilizado em projetos mais ambiciosos no futuro.
Graças às várias maneiras de expansão do STARK e aos novos métodos que podem surgir nos próximos meses, os desenvolvedores agora têm um controle sem precedentes sobre a escalabilidade da blockchain.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
5 Curtidas
Recompensa
5
3
Repostar
Compartilhar
Comentário
0/400
TokenomicsTrapper
· 16h atrás
na verdade, se você ler as especificações... zk proofs são apenas fumaça e espelhos para infraestrutura centralizada lmao chamei isso de volta em 2021
Validity Rollups: A melhor solução para a escalabilidade do Ethereum e suas controvérsias
Validity Rollups: A melhor opção para a escalabilidade do Ethereum
Os Validity Rollups (também conhecidos como zk-rollups) são considerados a solução mais promissora para aumentar a capacidade de processamento do Ethereum de forma segura e descentralizada. O núcleo desta solução de escalabilidade está no uso de provas de validade para computação verificável. Seu funcionamento é o seguinte:
Os operadores transferem o processamento de transações para um ambiente fora da cadeia (chamado de camada 2), em vez de processar cada transação na rede principal do Ethereum. Após processar um grande volume de transações, os operadores da camada 2 retornam os resultados para serem aplicados ao estado do Ethereum, ao mesmo tempo que fornecem uma prova de validade da integridade da execução fora da cadeia. Esta prova garante a validade de todas as transações no lote e é automaticamente verificada pelo contrato de validadores na cadeia. Isso permite que o Ethereum aplique os resultados ao seu próprio estado.
É importante notar que os Validity Rollups são frequentemente erroneamente chamados de rollups de conhecimento zero, mas isso não é preciso. A maioria dos Validity Rollups não utiliza ZKP nem é usada para garantir privacidade. Portanto, o termo "Validity Rollup" é mais preciso.
Máquina virtual off-chain
Antes de discutirmos em profundidade, precisamos entender o conceito de máquina virtual (VM). Em resumo, a VM é um ambiente onde programas podem ser executados, assim como executar o sistema operativo Windows em um Mac. Ela transita entre diferentes estados após realizar cálculos com certas entradas. A máquina virtual Ethereum (EVM) é a VM que executa contratos inteligentes Ethereum.
Máquina Virtual de Conhecimento Zero (zkVM) é um ambiente de execução de programas que pode gerar provas de validade fáceis de verificar, para demonstrar que o programa foi executado corretamente. O termo "zkEVM" geralmente se refere ao uso da Máquina Virtual Ethereum (EVM) e à capacidade de provar a execução da EVM. Esse termo pode ser enganador, uma vez que a EVM em si não gera essas provas; em vez disso, as provas são geradas por um mecanismo de prova separado que tem como ponto de partida os resultados da execução da EVM. Além disso, essas provas focam principalmente na validade em vez da privacidade, portanto, não são exatamente provas de conhecimento zero.
Apesar de todos os Validity Rollups terem como objetivo utilizar provas de validade para escalar o Ethereum, existem diferenças na escolha da VM para executar transações fora da cadeia. Muitos Validity Rollups optam por replicar o design do EVM (daí serem chamados de "zkEVM rollups"), tentando reproduzir a experiência do Ethereum em um rollup L2. O Starknet, por sua vez, utiliza uma nova VM - Cairo VM (CVM), projetada especificamente para otimizar a eficiência das provas de validade.
Estas duas abordagens têm as suas vantagens e desvantagens: o zkEVM troca desempenho pela compatibilidade com Ethereum, enquanto o Cairo VM coloca o desempenho acima da compatibilidade, priorizando a capacidade de escalabilidade.
Abordagem do zkEVM
O zkEVM visa trazer a experiência do Ethereum de forma completa para blockchains Layer-2. Seu objetivo é replicar o ambiente de desenvolvimento do Ethereum na agregação. Com o zkEVM, os desenvolvedores, ao escrever contratos inteligentes ou ao portá-los para soluções mais escaláveis, não precisam alterar o código ou abrir mão das ferramentas EVM e contratos inteligentes existentes.
No entanto, uma das principais desvantagens deste método é que limita o potencial de escalabilidade da prova de validade. Como o zkEVM se dedica à compatibilidade com Ethereum, é mais lento e consome mais recursos. Ao contrário do CVM, o EVM não foi projetado com a eficiência da prova em mente. Isso limita as medidas de otimização que podem melhorar a eficiência e a escalabilidade, afetando, em última análise, o desempenho geral do sistema.
Desafios de comprovabilidade do EVM
Os principais desafios enfrentados pelos métodos zkEVM decorrem do design original do EVM - ele não foi projetado para operar em um ambiente de prova de validade. Portanto, os esforços para replicar suas funcionalidades não conseguem explorar plenamente o potencial da prova de validade, resultando em ineficiência. Essa baixa eficiência acaba por prejudicar o desempenho geral do sistema. A compatibilidade do EVM com a prova de validade é obstaculizada pelos seguintes fatores:
A EVM adota um modelo baseado em pilha, enquanto a prova de validade é mais adequada para um modelo baseado em registradores. As características de pilha da EVM tornam mais difícil provar a correção da sua execução e fornecer suporte direto à sua cadeia de ferramentas nativas.
O layout de armazenamento do Ethereum depende fortemente do Keccak e da grande Árvore Merkle Patricia, ambos desfavoráveis à prova de validade e que aumentam significativamente a carga de prova. Por exemplo, o Keccak funciona rapidamente na arquitetura x86, mas requer 90 mil passos para ser provado. Em comparação, o Pedersen (uma função hash amigável ao zk) requer apenas 32 passos.
Assim, várias zkEVM oferecem diferentes níveis de suporte às ferramentas Ethereum - quanto maior a compatibilidade da zkEVM com Ethereum, pior é o desempenho.
Métodos do Cairo-VM
Ao contrário de investir muito tempo de desenvolvimento em "fazer o EVM adaptar-se aos Validity Rollups" com o zkEVM, há outra opção: usar uma nova máquina virtual dedicada e adicionar suporte para ferramentas Ethereum como uma camada adicional em cima dela. Essa é exatamente a abordagem adotada pelo Starknet, que é um Validity Rollup sem permissão lançado em novembro de 2021. O Starknet é o primeiro Validity Rollup a oferecer uma plataforma de contratos inteligentes genéricos em uma rede completamente combinável.
Starknet usa o Cairo-VM (CVM), que é uma linguagem de alto nível com o mesmo nome. O Cairo-VM foi projetado especificamente para gerar de forma eficiente provas de validade da execução de programas.
O uso de Cairo (máquina virtual e linguagem) oferece as seguintes vantagens:
O desenvolvimento de novas linguagens permite a personalização de acordo com necessidades específicas e a inclusão de funcionalidades que atendem a demandas que antes não eram satisfeitas.
Cairo e a diversificação da codificação
Starknet incentiva a inovação, o que se reflete em sua abordagem de código diversificada. O Cairo utiliza STARKs para obter a melhor capacidade de escalabilidade, não se limitando apenas aos desenvolvedores que escrevem contratos diretamente no Cairo. Os desenvolvedores podem escolher o método que melhor se adapta a eles:
Escrever código nativo em Cairo: Com o lançamento do Cairo 1.0, os desenvolvedores agora podem usar uma linguagem de classe Rust que é ergonômica e segura.
Compatibilidade com Solidity: Desenvolvedores Solidity podem escrever código que pode ser usado pelo Cairo VM. Esta abordagem oferece uma experiência de desenvolvimento semelhante à do Ethereum e torna os contratos inteligentes Solidity portáveis para o Starknet. Existem duas formas de implementação:
Apesar de ter existido por um período relativamente curto, o Cairo tornou-se a quarta linguagem de contrato inteligente mais popular em termos de TVL, recebendo mais de 350 milhões de dólares em apoio financeiro.
Resumo
zkEVM tem como objetivo replicar o ambiente Ethereum como um rollup, permitindo que os desenvolvedores utilizem ferramentas familiares do Ethereum. No entanto, essa abordagem limita o potencial da prova de validade, podendo consumir muitos recursos.
A Cairo VM foi projetada especificamente para sistemas de prova de validade, sem estar limitada pelo EVM. Ela é suportada por uma nova linguagem de programação segura e ergonômica, semelhante ao Rust, chamada Cairo 1.0, formando uma poderosa ferramenta destinada a maximizar a eficiência de escalabilidade do Ethereum através do uso de provas STARK.
O progresso contínuo do Cairo, o crescimento das diversas opções de desenvolvimento como Kakarot zkEVM e Warp é empolgante. À medida que o dApp Starknet entra na fase de produção, ele demonstra as poderosas funcionalidades do Cairo, acreditando-se que será utilizado em projetos mais ambiciosos no futuro.
Graças às várias maneiras de expansão do STARK e aos novos métodos que podem surgir nos próximos meses, os desenvolvedores agora têm um controle sem precedentes sobre a escalabilidade da blockchain.