Validity Rollups: A melhor solução para a escalabilidade do Ethereum?
Validity Rollups (VRs), também conhecidos como zk-rollups, são considerados a solução mais promissora para aumentar a capacidade do Ethereum de forma segura e descentralizada. O núcleo dessa solução de escalabilidade é o uso de provas de validade para computação verificável. Seu funcionamento é o seguinte:
Os operadores transferem a execução das transações para um ambiente off-chain ( de segunda camada ) para processamento. Após processar um grande número de transações, os operadores de segunda camada retornam os resultados para serem aplicados ao estado do Ethereum, enquanto fornecem uma prova de validade para verificar a integridade da execução off-chain. Essa prova garante que todas as transações no lote sejam válidas e são automaticamente verificadas por contratos de validadores on-chain. Isso permite que o Ethereum aplique os resultados ao seu 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 e não é usada para garantir a privacidade. Portanto, o termo "Validity Rollup" é mais preciso.
Máquina Virtual Off-chain
A máquina virtual ( VM ) é um ambiente onde se pode executar programas, semelhante a executar o sistema operativo Windows em um Mac. Ela faz a transição entre estados após realizar cálculos sobre certas entradas. A máquina virtual Ethereum ( EVM ) é a VM que executa contratos inteligentes Ethereum.
Zero-Knowledge Virtual Machine ( zkVM ) é um ambiente de execução de programas que pode gerar provas de validade fáceis de verificar, para demonstrar que um programa foi executado corretamente. "zkEVM" geralmente se refere ao uso da Ethereum Virtual Machine ( EVM ) e à capacidade de provar a execução da EVM. Este termo pode ser enganoso, pois a EVM em si não gera essas provas; em vez disso, as provas são geradas por um mecanismo de prova separado que toma como base os resultados da execução da EVM. Além disso, essas provas focam na validade e não na privacidade, portanto, não são provas de conhecimento zero completas.
Embora todos os Validity Rollups tenham como objetivo utilizar provas de validade para escalar o Ethereum, eles diferem na escolha da VM para executar transações fora da cadeia. Muitos Validity Rollups escolhem replicar o design do EVM (, sendo assim chamados de "zkEVM rollups" ), tentando replicar o Ethereum no L2 rollup. Outra abordagem utiliza uma nova VM projetada especificamente - Cairo VM (CVM), que visa otimizar a eficiência das provas de validade.
Esses dois métodos têm suas vantagens e desvantagens, mas o zkEVM troca desempenho por compatibilidade com Ethereum, enquanto o Cairo VM prioriza desempenho em relação à compatibilidade, colocando a capacidade de escalabilidade em primeiro lugar.
Método zkEVM
zkEVM visa trazer a experiência do Ethereum completamente para a blockchain Layer-2. Seu objetivo é replicar o ambiente de desenvolvimento Ethereum como uma solução de agregação. Com o zkEVM, os desenvolvedores, ao escrever contratos inteligentes ou portar contratos inteligentes para soluções mais escaláveis, não precisam alterar o código ou abrir mão de suas ferramentas EVM ( e contratos inteligentes ).
Uma das principais desvantagens deste método é a diminuição do potencial de escalabilidade da prova de validade. Como o zkEVM se dedica a ser compatível com Ethereum, isso resulta em uma velocidade mais lenta e maior intensidade de recursos. Ao contrário do CVM, o EVM não foi projetado com a eficiência das provas em mente. Isso limita o uso de otimizações que poderiam 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 do método zkEVM decorrem do design original do EVM - não foi projetado para funcionar em um ambiente de prova de validade. Assim, os esforços para refletir suas funcionalidades não conseguem aproveitar plenamente o potencial da prova de validade, resultando em ineficiência. Essa baixa eficiência acaba por afetar o desempenho geral do sistema. A compatibilidade do EVM com a prova de validade é limitada pelos seguintes fatores:
A EVM adota um modelo baseado em pilha, enquanto a prova de validade é mais adequada para um modelo baseado em registos. As características de pilha da EVM aumentam a dificuldade de provar a sua execução correta, tornando também mais difícil fornecer suporte direto para a sua cadeia de ferramentas nativa.
O layout de armazenamento do Ethereum depende fortemente do Keccak e da grande Merkle Patricia Tree, 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 90k passos para ser provado. Em comparação, a função de hash Pedersen, amigável ao zk, requer apenas 32 passos. Mesmo usando compressão recursiva, usar o Keccak no zkEVM significa que os usuários precisam arcar com um alto custo de recursos dos provadores.
Portanto, várias soluções zkEVM oferecem diferentes níveis de suporte às ferramentas Ethereum - quanto maior a compatibilidade do zkEVM com Ethereum, pior é o desempenho.
Método Cairo-VM
Ao contrário do zkEVM, que investiu muito tempo de desenvolvimento para "adaptar o EVM aos Validity Rollups", o Cairo-VM adotou um design de máquina virtual especializado completamente novo e adicionou suporte para ferramentas Ethereum como uma camada adicional. Esta é a abordagem utilizada pelo Validity Rollup sem permissão - Starknet, lançado em novembro de 2021. Starknet é o primeiro Validity Rollup a oferecer uma plataforma de contratos inteligentes genéricos em uma rede totalmente combinável.
Starknet utiliza Cairo-VM (CVM), que é uma linguagem de alto nível com o mesmo nome. Cairo-VM é uma VM projetada especificamente para gerar de forma eficiente provas de validade para a execução de programas.
Usando a máquina virtual e a linguagem Cairo(, obtivemos:
Prova de validade otimizada - Cada instrução tem uma representação algébrica válida.
Linguagem tipo Rust usada para escrever programas verificáveis
Representação intermediária entre as instruções ) VM do Cairo e da montagem Cairo avançada ( Sierra ), permitindo a execução eficiente de código Cairo.
O desenvolvimento de novas linguagens pode ser personalizado de acordo com necessidades específicas e equipado com funcionalidades que atendem a necessidades anteriormente não atendidas.
Cairo e codificação da diversidade
A linguagem Cairo foi originalmente projetada para simplificar o processo de geração de provas de validade e tornar mais fácil a adição de funcionalidades e lógica de negócios complexa ao StarkEx. Programas em Cairo são compilados em código de máquina algébrica - uma sequência numérica - que é executada por uma VM fixa. Com o Cairo, a complexidade de gerar restrições matemáticas que descrevem cálculos é abstraída e é capturada por um conjunto fixo de restrições (, totalizando menos de 50 restrições ). Assim, os desenvolvedores podem utilizar provas de validade para expandir suas aplicações, sem precisar entender a matemática subjacente e a infraestrutura, podendo simplesmente escrever código usando a sintaxe com a qual estão familiarizados.
Starknet foca na inovação, que se reflete na sua abordagem diversificada ao código. Cairo utiliza STARKs para obter a melhor capacidade de escalabilidade, não se limitando apenas àqueles que escrevem contratos diretamente em Cairo. Os desenvolvedores podem escolher a abordagem que melhor se adapta às suas necessidades:
Escrever código diretamente em Cairo: Com o lançamento do Cairo 1.0, os desenvolvedores agora podem usar uma linguagem semelhante ao Rust, que é ergonômica e segura, tornando a escrita da lógica do programa mais fácil e menos propensa a erros.
Compatibilidade com Solidity: Os desenvolvedores Solidity podem escrever código que pode ser utilizado pela Cairo VM. Esta abordagem proporciona uma experiência de desenvolvimento semelhante à do Ethereum, tornando os contratos inteligentes Solidity portáteis para o Starknet. Existem duas formas de implementação:
Transpilar: converter o código fonte de uma linguagem de programação para outra. Uma equipe criou o transpiler Warp, que é usado para transpilar código Solidity para Cairo. O Warp torna os contratos inteligentes em Solidity portáveis para Starknet, efetivamente tornando-os um zkEVM de Tipo 4. Já foi utilizado para transpilar e implantar um contrato DEX, com apenas pequenas alterações.
zkEVM no Starknet: Cairo VM pode ser usado para provar a execução de outro VM. Kakarot é um zkEVM escrito em Cairo, que pode ser usado para executar contratos inteligentes Ethereum no Starknet. Cairo VM e zkEVM não são soluções concorrentes, podemos ter tanto Cairo VM quanto zkEVM ao mesmo tempo!
Apesar de existir por um período muito curto, Cairo tornou-se a quarta linguagem de contrato inteligente mais popular em termos de TVL, tendo recebido 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 todo o potencial da prova de validade e pode ser intensiva em recursos.
A Cairo VM é projetada especificamente para sistemas de prova de validade, sem as limitações do EVM. É suportada por uma nova linguagem de programação segura e ergonômica semelhante ao Rust, o Cairo 1.0, formando uma ferramenta poderosa destinada a alcançar a máxima eficiência na escalabilidade do Ethereum através do uso de provas STARK.
O progresso contínuo do Cairo, bem como o crescimento de opções de desenvolvimento diversificadas como Kakarot zkEVM e Warp, é emocionante. À medida que as aplicações baseadas em Cairo entram na fase de produção, demonstram a poderosa funcionalidade do Cairo, acreditando que será usada no futuro para projetos mais ambiciosos.
Graças às várias abordagens de escalabilidade do STARK, bem como a outras que certamente surgirão 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.
10 Curtidas
Recompensa
10
7
Repostar
Compartilhar
Comentário
0/400
RektRecovery
· 08-13 08:25
meh... outra superfície de ataque à espera de ser explorada, para ser sincero
Ver originalResponder0
fomo_fighter
· 08-13 03:30
L2 deve ter conseguido correr tão rápido que já tinha até à lua.
Ver originalResponder0
just_here_for_vibes
· 08-12 17:26
O nível 2 consegue vencer o velho V?
Ver originalResponder0
ZkSnarker
· 08-11 05:15
bem, tecnicamente os rollups são apenas mecanismos de agrupamento sofisticados, para ser sincero
Ver originalResponder0
GateUser-7b078580
· 08-11 03:05
Ver a tendência de mudança do gás, sinto que vamos ter que esperar mais alguns anos.
Ver originalResponder0
Fren_Not_Food
· 08-11 02:45
eth realmente está a fritar sobras até ao céu, não está?
Ver originalResponder0
WalletManager
· 08-11 02:42
O lote está muito lento, não consigo suportar o risco do contrato.
Validity Rollups: A disputa entre EVM e Cairo VM lidera uma nova direção para a escalabilidade do Ethereum
Validity Rollups: A melhor solução para a escalabilidade do Ethereum?
Validity Rollups (VRs), também conhecidos como zk-rollups, são considerados a solução mais promissora para aumentar a capacidade do Ethereum de forma segura e descentralizada. O núcleo dessa solução de escalabilidade é o uso de provas de validade para computação verificável. Seu funcionamento é o seguinte:
Os operadores transferem a execução das transações para um ambiente off-chain ( de segunda camada ) para processamento. Após processar um grande número de transações, os operadores de segunda camada retornam os resultados para serem aplicados ao estado do Ethereum, enquanto fornecem uma prova de validade para verificar a integridade da execução off-chain. Essa prova garante que todas as transações no lote sejam válidas e são automaticamente verificadas por contratos de validadores on-chain. Isso permite que o Ethereum aplique os resultados ao seu 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 e não é usada para garantir a privacidade. Portanto, o termo "Validity Rollup" é mais preciso.
Máquina Virtual Off-chain
A máquina virtual ( VM ) é um ambiente onde se pode executar programas, semelhante a executar o sistema operativo Windows em um Mac. Ela faz a transição entre estados após realizar cálculos sobre certas entradas. A máquina virtual Ethereum ( EVM ) é a VM que executa contratos inteligentes Ethereum.
Zero-Knowledge Virtual Machine ( zkVM ) é um ambiente de execução de programas que pode gerar provas de validade fáceis de verificar, para demonstrar que um programa foi executado corretamente. "zkEVM" geralmente se refere ao uso da Ethereum Virtual Machine ( EVM ) e à capacidade de provar a execução da EVM. Este termo pode ser enganoso, pois a EVM em si não gera essas provas; em vez disso, as provas são geradas por um mecanismo de prova separado que toma como base os resultados da execução da EVM. Além disso, essas provas focam na validade e não na privacidade, portanto, não são provas de conhecimento zero completas.
Embora todos os Validity Rollups tenham como objetivo utilizar provas de validade para escalar o Ethereum, eles diferem na escolha da VM para executar transações fora da cadeia. Muitos Validity Rollups escolhem replicar o design do EVM (, sendo assim chamados de "zkEVM rollups" ), tentando replicar o Ethereum no L2 rollup. Outra abordagem utiliza uma nova VM projetada especificamente - Cairo VM (CVM), que visa otimizar a eficiência das provas de validade.
Esses dois métodos têm suas vantagens e desvantagens, mas o zkEVM troca desempenho por compatibilidade com Ethereum, enquanto o Cairo VM prioriza desempenho em relação à compatibilidade, colocando a capacidade de escalabilidade em primeiro lugar.
Método zkEVM
zkEVM visa trazer a experiência do Ethereum completamente para a blockchain Layer-2. Seu objetivo é replicar o ambiente de desenvolvimento Ethereum como uma solução de agregação. Com o zkEVM, os desenvolvedores, ao escrever contratos inteligentes ou portar contratos inteligentes para soluções mais escaláveis, não precisam alterar o código ou abrir mão de suas ferramentas EVM ( e contratos inteligentes ).
Uma das principais desvantagens deste método é a diminuição do potencial de escalabilidade da prova de validade. Como o zkEVM se dedica a ser compatível com Ethereum, isso resulta em uma velocidade mais lenta e maior intensidade de recursos. Ao contrário do CVM, o EVM não foi projetado com a eficiência das provas em mente. Isso limita o uso de otimizações que poderiam 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 do método zkEVM decorrem do design original do EVM - não foi projetado para funcionar em um ambiente de prova de validade. Assim, os esforços para refletir suas funcionalidades não conseguem aproveitar plenamente o potencial da prova de validade, resultando em ineficiência. Essa baixa eficiência acaba por afetar o desempenho geral do sistema. A compatibilidade do EVM com a prova de validade é limitada pelos seguintes fatores:
A EVM adota um modelo baseado em pilha, enquanto a prova de validade é mais adequada para um modelo baseado em registos. As características de pilha da EVM aumentam a dificuldade de provar a sua execução correta, tornando também mais difícil fornecer suporte direto para a sua cadeia de ferramentas nativa.
O layout de armazenamento do Ethereum depende fortemente do Keccak e da grande Merkle Patricia Tree, 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 90k passos para ser provado. Em comparação, a função de hash Pedersen, amigável ao zk, requer apenas 32 passos. Mesmo usando compressão recursiva, usar o Keccak no zkEVM significa que os usuários precisam arcar com um alto custo de recursos dos provadores.
Portanto, várias soluções zkEVM oferecem diferentes níveis de suporte às ferramentas Ethereum - quanto maior a compatibilidade do zkEVM com Ethereum, pior é o desempenho.
Método Cairo-VM
Ao contrário do zkEVM, que investiu muito tempo de desenvolvimento para "adaptar o EVM aos Validity Rollups", o Cairo-VM adotou um design de máquina virtual especializado completamente novo e adicionou suporte para ferramentas Ethereum como uma camada adicional. Esta é a abordagem utilizada pelo Validity Rollup sem permissão - Starknet, lançado em novembro de 2021. Starknet é o primeiro Validity Rollup a oferecer uma plataforma de contratos inteligentes genéricos em uma rede totalmente combinável.
Starknet utiliza Cairo-VM (CVM), que é uma linguagem de alto nível com o mesmo nome. Cairo-VM é uma VM projetada especificamente para gerar de forma eficiente provas de validade para a execução de programas.
Usando a máquina virtual e a linguagem Cairo(, obtivemos:
O desenvolvimento de novas linguagens pode ser personalizado de acordo com necessidades específicas e equipado com funcionalidades que atendem a necessidades anteriormente não atendidas.
Cairo e codificação da diversidade
A linguagem Cairo foi originalmente projetada para simplificar o processo de geração de provas de validade e tornar mais fácil a adição de funcionalidades e lógica de negócios complexa ao StarkEx. Programas em Cairo são compilados em código de máquina algébrica - uma sequência numérica - que é executada por uma VM fixa. Com o Cairo, a complexidade de gerar restrições matemáticas que descrevem cálculos é abstraída e é capturada por um conjunto fixo de restrições (, totalizando menos de 50 restrições ). Assim, os desenvolvedores podem utilizar provas de validade para expandir suas aplicações, sem precisar entender a matemática subjacente e a infraestrutura, podendo simplesmente escrever código usando a sintaxe com a qual estão familiarizados.
Starknet foca na inovação, que se reflete na sua abordagem diversificada ao código. Cairo utiliza STARKs para obter a melhor capacidade de escalabilidade, não se limitando apenas àqueles que escrevem contratos diretamente em Cairo. Os desenvolvedores podem escolher a abordagem que melhor se adapta às suas necessidades:
Escrever código diretamente em Cairo: Com o lançamento do Cairo 1.0, os desenvolvedores agora podem usar uma linguagem semelhante ao Rust, que é ergonômica e segura, tornando a escrita da lógica do programa mais fácil e menos propensa a erros.
Compatibilidade com Solidity: Os desenvolvedores Solidity podem escrever código que pode ser utilizado pela Cairo VM. Esta abordagem proporciona uma experiência de desenvolvimento semelhante à do Ethereum, tornando os contratos inteligentes Solidity portáteis para o Starknet. Existem duas formas de implementação:
Transpilar: converter o código fonte de uma linguagem de programação para outra. Uma equipe criou o transpiler Warp, que é usado para transpilar código Solidity para Cairo. O Warp torna os contratos inteligentes em Solidity portáveis para Starknet, efetivamente tornando-os um zkEVM de Tipo 4. Já foi utilizado para transpilar e implantar um contrato DEX, com apenas pequenas alterações.
zkEVM no Starknet: Cairo VM pode ser usado para provar a execução de outro VM. Kakarot é um zkEVM escrito em Cairo, que pode ser usado para executar contratos inteligentes Ethereum no Starknet. Cairo VM e zkEVM não são soluções concorrentes, podemos ter tanto Cairo VM quanto zkEVM ao mesmo tempo!
Apesar de existir por um período muito curto, Cairo tornou-se a quarta linguagem de contrato inteligente mais popular em termos de TVL, tendo recebido 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 todo o potencial da prova de validade e pode ser intensiva em recursos.
A Cairo VM é projetada especificamente para sistemas de prova de validade, sem as limitações do EVM. É suportada por uma nova linguagem de programação segura e ergonômica semelhante ao Rust, o Cairo 1.0, formando uma ferramenta poderosa destinada a alcançar a máxima eficiência na escalabilidade do Ethereum através do uso de provas STARK.
O progresso contínuo do Cairo, bem como o crescimento de opções de desenvolvimento diversificadas como Kakarot zkEVM e Warp, é emocionante. À medida que as aplicações baseadas em Cairo entram na fase de produção, demonstram a poderosa funcionalidade do Cairo, acreditando que será usada no futuro para projetos mais ambiciosos.
Graças às várias abordagens de escalabilidade do STARK, bem como a outras que certamente surgirão nos próximos meses, os desenvolvedores agora têm um controle sem precedentes sobre a escalabilidade da blockchain.