Por que os Validity Rollups são a maneira mais promissora de escalar o Ethereum?

Autor: StarkWare; Compilador: Bumpman

Resumo

  • **Validity Rollups são a maneira mais promissora de aumentar o rendimento do Ethereum de maneira segura e descentralizada; zkEVM e Cairo VM (CVM) são os dois tipos de VMs usados em Validity Rollups. **
  • **zkEVM se concentra na compatibilidade do Ethereum em detrimento do desempenho e da escalabilidade. **
  • **A VM do Cairo usada no Starknet prioriza desempenho e escalabilidade em vez de compatibilidade. **

Rollups são um tema quente este ano quando se fala em escalar o Ethereum. Dentre os vários tipos de rollups, acreditamos que Validity Rollups (VRs), também conhecidos como zk-rollups, são a forma mais promissora de aumentar o throughput do Ethereum de forma segura e descentralizada. No centro desta solução de dimensionamento está a computação verificável usando provas de validade. Veja como eles funcionam:

Em vez de processar todas as transações na rede principal da Ethereum, os operadores transferem a execução da transação para um ambiente fora da cadeia. Este ambiente off-chain atua como camada 2, ou seja, a camada que roda sobre o Ethereum.

Depois de processar um grande número de transações, os operadores da camada 2 retornam resultados para aplicar ao estado do Ethereum, juntamente com provas de validade para verificar a integridade da execução fora da cadeia. Essa comprovação garante que todas as transações em um lote sejam válidas e verificadas autonomamente pelo contrato do validador on-chain. Isso permite que o Ethereum aplique o resultado ao seu estado.

Por que o Validity Rollups é o método de expansão mais promissor para o Ethereum?

Rollups de validade

Observação: Rollups de validade geralmente são chamados incorretamente de Rollups de conhecimento zero, mas isso não é preciso. A maioria dos Validity Rollups não usa ZKPs, nem são usados para fins de privacidade. Portanto, o termo "Validity Rollup" é mais preciso.

máquina virtual off-chain

Antes de continuar, a primeira pergunta que precisamos responder é: **O que é uma máquina virtual (VM)? Simplificando, é um ambiente no qual os programas podem ser executados, assim como um Mac executando o sistema operacional Windows. Ele transita entre os estados depois de executar cálculos em algumas entradas. A Ethereum Virtual Machine (EVM) é a VM que executa contratos inteligentes Ethereum. **

** Uma máquina virtual de conhecimento zero (zkVM) é um ambiente de execução de programa que, juntamente com a saída do programa, permite a geração de provas de validade que podem ser facilmente verificadas. **Este comprovante de validade atesta que o programa foi realizado corretamente. **Quando o termo "zkEVM" é usado, geralmente se refere a uma agregação que utiliza a Ethereum Virtual Machine (EVM) e pode atestar a execução da EVM. **Essa terminologia pode ser enganosa porque o próprio EVM não gera essas provas; em vez disso, as provas são geradas por um mecanismo de prova separado que começa com os resultados da execução do EVM. Além disso, essas provas são sobre validade, não privacidade, portanto não são exatamente provas de conhecimento zero. No entanto, por uma questão de consistência, vamos nos ater ao termo tradicional "zkEVM" ao longo deste artigo.

Embora todos os Validity Rollups tenham como objetivo dimensionar o Ethereum com prova de validade, eles diferem na escolha de VMs para executar transações fora da cadeia. Muitos Rollups de Validade optam por replicar o design do EVM (daí o termo "rollups zkEVM"), tentando replicar Ethereum em rollups L2. A Starknet usa um novo tipo de VM - a Cairo VM (CVM) - projetada especificamente para otimizar a eficiência da prova de validade.

Esses dois métodos têm suas próprias vantagens e desvantagens, mas o zkEVM troca o desempenho pela compatibilidade com o Ethereum, enquanto o Cairo VM prioriza o desempenho em relação à compatibilidade e escalabilidade.

Abordagem zkEVM

**zkEVM é um Validity Rollup cujo objetivo é trazer totalmente a experiência Ethereum para blockchains Layer-2. O objetivo é replicar o ambiente do desenvolvedor Ethereum como um rollup. **Com o zkEVM, os desenvolvedores não precisam alterar seu código ou abandonar suas ferramentas EVM (e contratos inteligentes) ao escrever contratos inteligentes ou portar contratos inteligentes para soluções mais escaláveis.

Uma grande desvantagem dessa abordagem é que ela reduz o potencial de escala das provas de validade. Como o zkEVM visa ser compatível com o 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 o uso de otimizações que podem melhorar a eficiência e a escalabilidade, afetando o desempenho geral do sistema.

Provabilidade do EVM

O principal desafio da abordagem zkEVM está enraizado no projeto original do EVM - ele não foi projetado para operar no contexto de prova de validade. Como resultado, os esforços para espelhar sua funcionalidade falham em liberar todo o potencial das provas de validade, resultando em níveis de eficiência abaixo do ideal. Essa ineficiência, em última análise, reduz o desempenho geral do sistema. A compatibilidade do EVM com provas de validade é prejudicada por:

**O EVM usa um modelo baseado em pilha, enquanto a prova de eficiência é mais eficiente para um modelo baseado em registro. A natureza baseada em pilha do EVM torna mais difícil provar a exatidão de sua execução e fornecer suporte direto para sua cadeia de ferramentas nativa. **

O layout de armazenamento do Ethereum depende muito de Keccak e de uma grande Merkle Patricia Tree, ambas ruins para provas de validade e impõem uma grande carga de prova. Por exemplo, o Keccak é muito rápido para a arquitetura x86 (na qual normalmente executamos o EVM), mas leva 90 mil etapas para provar (compilação especial integrada). Considerando que Pedersen (uma função de hash compatível com zk) requer 32 etapas. Mesmo com compactação recursiva, usar Keccak no zkEVM significa muitos recursos de prova que são pagos pelo usuário.

Como resultado, vários zkEVMs são projetados para fornecer diferentes níveis de suporte para ferramentas Ethereum - quanto mais compatível um zkEVM for com Ethereum, menor será seu desempenho. (Para obter mais informações sobre os tipos de zkEVM, pule para o final do artigo.)

Por que o Validity Rollups é o método de expansão mais promissor para o Ethereum?

Abordagem Cairo-VM

A solução zkEVM gasta muito tempo de desenvolvimento para "fazer o EVM funcionar para acúmulos de validade", priorizando a compatibilidade em relação ao desempenho e escalabilidade de longo prazo. Existe outra opção: usar uma nova máquina virtual dedicada e adicionar suporte para ferramentas Ethereum como uma camada adicional. Essa é a abordagem adotada pelo Starknet, um pacote cumulativo de validade sem permissão lançado em novembro de 2021. Starknet é o primeiro Validity Rollup a oferecer uma plataforma de contrato inteligente de uso geral em uma rede totalmente composta.

Starknet usa Cairo-VM (CVM), uma linguagem de alto nível com o mesmo nome. Cairo-VM é uma VM projetada para geração eficiente de provas de validade da execução do programa.

Usando o Cairo (máquina virtual e linguagem), temos:

  1. Prova da eficácia da otimização - toda instrução tem uma representação algébrica válida

  2. Uma linguagem semelhante ao Rust para escrever programas prováveis

  3. Representação intermediária (Sierra) entre Cairo de alto nível e montagem Cairo (instruções VM), permitindo a execução eficiente do código Cairo

O desenvolvimento de uma nova linguagem permite adaptá-la às necessidades específicas que ela pretende atender e dotá-la de recursos que satisfaçam necessidades anteriormente não atendidas.

Cairo e o pluralismo da codificação

Para criar uma prova sobre a validade de algum cálculo, o cálculo deve primeiro ser expresso como uma série de restrições matemáticas que descrevem o cálculo. O processo pode ser complicado devido ao desafio de otimizar os cálculos para eficiência e à necessidade de ferramentas especializadas.

A linguagem Cairo foi originalmente projetada para simplificar essa tarefa e tornar mais fácil adicionar funcionalidade e lógica de negócios complexa ao StarkEx. Os programas do Cairo são compilados em código de máquina algébrico - uma sequência de números - que é executada por uma VM fixa. Com Cairo, toda a complexidade de gerar restrições matemáticas que descrevem cálculos - um problema espinhoso de provas de validade - é abstraída e capturada por um conjunto fixo de restrições (menos de 50 restrições no total). Como resultado, os desenvolvedores podem aproveitar as provas de validade para estender seus aplicativos sem precisar entender a matemática e a infraestrutura subjacentes, simplesmente escrevendo código usando uma sintaxe com a qual estão familiarizados.

Starknet é sobre inovação, e isso se reflete em sua abordagem diversificada de codificação. A capacidade do Cairo de escalar de forma otimizada com STARKs não se limita àqueles que escrevem contratos nativamente no Cairo. Os desenvolvedores podem escolher o método que funciona melhor para eles:

Escrever código nativamente no Cairo: Com o lançamento do Cairo 1.0, os desenvolvedores agora podem usar a linguagem Rust ergonômica e segura, que torna a escrita da lógica do programa mais fácil e menos propensa a erros.

**Compatibilidade do Solidity:**Os desenvolvedores do Solidity podem escrever código que pode ser usado pelo Cairo VM. Essa abordagem fornece uma experiência de desenvolvedor semelhante ao Ethereum e torna os contratos inteligentes do Solidity portáteis para o Starknet. Existem duas maneiras de conseguir isso:

**Tradução: **A tradução é o processo de conversão do código-fonte escrito em uma linguagem de programação para outra linguagem. A equipe Nethermind criou o transpiler Warp para transpilar o código Solidity para o Cairo. A Warp torna os contratos inteligentes do Solidity portáteis para o Starknet, tornando-o efetivamente um tipo 4 zkEVM. Ele tem sido usado para traduzir e implantar contratos Uniswap com alterações mínimas.

zkEVM na Starknet: A VM do Cairo pode ser usada para atestar a execução de outra VM. Kakarot é um zkEVM escrito no Cairo que pode ser usado para executar contratos inteligentes Ethereum na Starknet. Cairo VM e zkEVM não são abordagens concorrentes, podemos ter Cairo VM e zkEVM em vez de escolher entre Cairo VM e zkEVM!

Apesar de sua curta existência, Cairo é a quarta linguagem de contrato inteligente mais popular da TVL e recebeu mais de US$ 350 milhões em financiamento.

Resumir

**zkEVM visa replicar o ambiente Ethereum como um rollup e permitir que os desenvolvedores usem ferramentas Ethereum familiares. No entanto, essa abordagem inibe todo o potencial das provas de validade e pode consumir muitos recursos. **

O Cairo VM foi projetado para sistemas de prova de validade sem as limitações do EVM. Ele é apoiado por uma nova, segura e ergonômica linguagem de programação inspirada em Rust chamada Cairo 1.0, formando uma ferramenta poderosa destinada a obter a máxima eficiência dimensionando o Ethereum com provas STARK.

Tem sido emocionante ver o que Cairo consegue a cada semana e o crescimento de diferentes opções para desenvolvedores, como Kakarot zkEVM e Warp. À medida que o Starknet dApp entra em produção, demonstrando o poder do Cairo, acreditamos que será usado para projetos mais ambiciosos no futuro.

Graças aos três caminhos para o dimensionamento do STARK descritos acima, e outros que sem dúvida serão disponibilizados nos próximos meses, os desenvolvedores agora têm um controle sem precedentes sobre o dimensionamento do blockchain.

Ver original
O conteúdo é apenas para referência, não uma solicitação ou oferta. Nenhum aconselhamento fiscal, de investimento ou jurídico é fornecido. Consulte a isenção de responsabilidade para obter mais informações sobre riscos.
  • Recompensa
  • Comentário
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate.io
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)