Blog posts, Thought Leadership | 04/19/2023

Sobre o Futuro da Ethereum

Charles Guillemet, CTO da Ledger, reflete sobre o futuro da Ethereum e o potencial do protocolo para suportar a adoção da Web3 pelo público geral.


Importante saber:

– A Ethereum, a segunda maior blockchain do mundo por capitalização de mercado, passou recentemente por uma atualização de software significativa chamada “The Merge” (a “fusão” em português), mudando o consenso de prova de trabalho (PoW) para prova de participação (PoS).

– Apesar da transição bem-sucedida, ainda restam dúvidas sobre a escalabilidade e a prontidão da Ethereum para o próximo estágio de desenvolvimento da Web3.

– Este artigo examina os desafios de escalabilidade da Ethereum e avalia sua capacidade de atender às necessidades do público geral. Ele argumenta que, embora ainda não exista uma solução perfeita de escalabilidade, soluções de camada 2, incluindo rollups otimistas e de validade, têm o maior potencial para aumentar a escalabilidade de modo a compensar o trilema da blockchain.

– Mais precisamente, rollups otimistas e de validade, usando a tecnologia ZKP, serão fundamentais para moldar o futuro da Ethereum, permitindo transações complexas, sem confiança, e sem permissão de modo escalável.

Escalando a Ethereum: a Busca por uma Solução

A Ethereum, como muitas blockchains, tem atualmente uma capacidade limitada de processamento de transações. Apesar de suportar transferências de ETH e milhares de DApps, o aumento do uso resultou em transações mais lentas e caras.

Para mitigar taxas altas, essa situação levou a decisões de design inseguras, como serviços centralizados fora da cadeia para marketplaces de NFT. A introdução do EIP 1559 melhorou o incentivo e a estimativa de taxas, mas não melhorou significativamente a escalabilidade. O desafio da escalabilidade é bem compreendido dentro do popular trilema da blockchain de Escalabilidade, Descentralização e Segurança.

O trilema da blockchain afirma que não é possível atingir simultaneamente três propriedades: descentralização, segurança e escalabilidade. Sacrificando a descentralização, é muito mais fácil construir um sistema escalável e seguro, como a Web2 já provou. Ao priorizar a escalabilidade sacrificando seu mecanismo de consenso, você terá uma blockchain descentralizada, insegura e sem sentido. Resolver o trilema da blockchain é incrivelmente complexo e tem sido um desafio contínuo na última década.

Aumentando o Rendimento: Múltiplas Abordagens

Ao longo dos anos, muitas soluções foram abordadas para resolver o trilema da blockchain Ethereum. Uma sugestão popular é construir blocos maiores ou mais blocos por segundo. Embora possa parecer uma boa ideia, isso intensifica as demandas dos nodes da blockchain e dos validadores/mineradores por consenso, levando a uma maior centralização. Isso também retarda as reorganizações, aumentando os riscos de segurança.

Uma alternativa é criar uma cadeia lateral para reduzir a carga da cadeia principal, como visto na rede Polygon. Este sistema abre um pouco a mão da segurança, pois depende de um consenso mais fraco do que o da Ethereum (que possui menor capitalização de mercado). Embora possa atender a casos de uso específicos, isso geralmente leva à centralização e não atende totalmente aos problemas de escalabilidade da Ethereum. De qualquer forma, essa solução ainda está longe das dezenas de milhares de solicitações necessárias para executar um sistema como a Visa.

Soluções de camada 2 e sharding: Soluções para os Desafios de Escalabilidade da Ethereum?

Sharding e camadas 2 são amplamente vistas como as melhores opções para escalar a Ethereum, preservando o trilema da blockchain.

Por um lado, o sharding (fragmentação) de blockchain há muito é considerada a chave para a escalabilidade no mundo das blockchains. Ela foi a principal característica da Eth2.0 em 2019 junto à mudança para o esquema de assinatura BLS, mecanismo de consenso PoS e a implementação do eWASM. Por outro lado, as soluções de camada 2 tiveram um rápido avanço por meio de pesquisas contínuas em mecanismos de roll-up. Vamos explorar o estado atual dessas duas abordagens concorrentes e o que esperar do futuro delas.

Como o Sharding (Fragmentação) de Blockchain Funciona?

O termo sharding (literalmente “fragmentação” em português) vem da ciência de banco de dados. Significa a partição horizontal de um banco de dados em partes menores e gerenciáveis chamadas “shards”, ou fragmentos. Cada fragmento é um banco de dados separado que contém um subconjunto de dados. A fragmentação é usada para escalar bancos de dados distribuindo dados e consultas em vários servidores, permitindo que o banco de dados lide com um volume maior de dados sem precisar de um servidor único e poderoso.

Essa ideia de aplicar fragmentação em blockchains rapidamente ganhou popularidade entre os desenvolvedores. O sharding de blockchain divide a rede em sub-redes menores chamadas fragmentos (ou “shards”), que permitem o processamento de transações em paralelo. Em uma blockchain fragmentada, cada fragmento é uma cadeia separada que opera de forma independente. Isso significa que cada node ou minerador/validador pode se concentrar em um dado fragmenta para criar um consenso local. Em primeiro lugar, isso permite que as transações sejam processadas em paralelo. Em segundo lugar, cada fragmento tem menos transações para gerenciar. Parece perfeito, então qual é a pegadinha?

Os Desafios do Sharding: Consenso, Comunicação entre Fragmentos e Segurança

Com a fragmentação da blockchain, não é fácil definir o consenso geral. Qual é o consenso global da rede? É a união de cada consenso local? Como e onde podemos ancorar esses consensos locais para criar um consenso global em que todos possam confiar? Essas perguntas não são fáceis de responder.

Outro desafio significativo para implementar a fragmentação é a comunicação entre fragmentos. Quando se trata de bancos de dados, não temos esse problema, pois os dados são divididos em diferentes fragmentos, permitindo que você os leia ou grave de forma independente sem problemas reais. Quando se trata de fragmentos de blockchain executando código, isso é muito mais complexo. Cada fragmento deve ser capaz de executar seu próprio código, consultar o estado de um fragmento diferente e executar o código em outro. Isso não é algo simples.

Essa dificuldade da fragmentação também está relacionada ao problema de segurança. Este problema foi estudado por especialistas e diferentes esquemas de fragmentação foram considerados propensos a sofrer muitas novas formas de ataques. Em primeiro lugar, isso simplesmente coloca o mecanismo de consenso em questão. Se você tiver 10 fragmentos e os mineradores forem distribuídos por fragmento, assumir o controle de um fragmento é 10 vezes mais barato do que assumir a blockchain geral. Esquematicamente, o ataque 51% se traduz em 5,1%. Uma solução para isso é alterar o mecanismo de consenso de prova de trabalho para prova de participação. Esta foi a principal motivação por trás da transição da Ethereum para a prova de participação.

Na questão da segurança, o efeito do Merge tem sido amplamente debatido. Na questão da descentralização, o consenso atualizado da Ethereum favoreceu a centralização, uma vez que a propriedade do token determina o controle da rede.

Em relação ao novo consenso da Ethereum, vários parâmetros incentivaram a centralização:

  • Executar seu node Ethereum não é simples, exigindo recursos e tempo de atividade. Isso simplesmente impede que sua carteira o implemente e execute em seu laptop ou até mesmo em seu celular.
  • A exigência mínima de 32 ETH e o fato de não ser possível desaplicar de staking até uma data desconhecida criaram uma reserva e staking líquido onde a Lido e corretoras conquistaram a maior parte do mercado. Hoje, 4 atores controlam mais de 55% das moedas aplicadas em staking na blockchain Ethereum (Lido 29,2%, Coinbase 13,1%, Kraken 7,6% e Binance 6,2%).

Em suma, a fragmentação da blockchain é uma ideia interessante para aumentar a escalabilidade, mas requer uma arquitetura complexa, especificamente quando se trata de definir o consenso geral e implementar um protocolo eficiente de comunicação entre fragmentos. Muito trabalho foi feito em direção a esses objetivos, mas ainda estamos longe de implementá-los e aproveitar os impactos no trilema da blockchain.

Os rollups salvam o dia

Os rollups comprimem várias transações em uma única transação para a Ethereum executar, permitindo a execução fora da cadeia de muitas transações com a segurança da Ethereum para liquidações. Existem duas implementações principais dessa ideia:

  • Rollups otimistas, permitindo que os usuários emitam provas de fraude em caso de disputa
  • ZK-Rollups, onde a rede da camada 2 emite provas de validade.
Rollups otimistas e o problema de finalidade:

Os rollups otimistas foram projetados como os rollups mais parecidos com a EVM. Eles são otimistas, pois assumem que os usuários não estão enviando transações fraudulentas, permitindo a gravação direta na blockchain.

Existe um mecanismo usando provas de fraude que os validadores da camada 2 podem inicializar para verificar as transações fora da cadeia feitas em alguns dias (7 dias na Optimism). Uma prova de fraude válida identifica etapas fraudulentas no processo da transação, levando à reversão da transação e a uma penalidade para o validador que a aprovou. Isso melhora a produção de transações enquanto preserva a segurança da rede principal da Ethereum.

No entanto, os rollups otimistas trazem um novo desafio: finalidade. Em blockchains, as transações confirmadas são consideradas permanentes e irreversíveis, mas isso depende do mecanismo de consenso. Por exemplo, as cadeias PoW consideram as transações finais quando a probabilidade de uma reorganização é baixa e as transações de Bitcoin são finais após 6 confirmações. Com rollups otimistas, as transações podem ser revertidas após vários dias, o que cria um desafio de finalidade e um tradeoff diferente.

Outro tipo de rollup: ZK-Rollups

Os ZK-Rollups, nomeados por seu uso da tecnologia prova de conhecimento zero (ZKP), do inglês “Zero-Knowledge Proof”, como SNARKs ou STARKs, são outro tipo de rollup. Como a propriedade de conhecimento zero não é realmente útil, chamá-los de “rollups de validade” talvez seja mais correto.

O rollup executa um lote de transações e produz uma prova de validade, verificada por um contrato inteligente na blockchain Ethereum, que confirma o resultado final das transações. A prova criptográfica é gerada usando primitivos criptográficos de conhecimento zero.

Mais amplamente, as provas de conhecimento zero permitem que uma parte (o provador) demonstre a posse de certas informações para outra parte (o verificador) sem revelar a informação real. O provador pode confiar na veracidade da declaração do provador sem aprender seu conteúdo.

Originalmente projetado para confidencialidade, os ZKRollups usam provas de conhecimento zero para uma finalidade muito diferente: compressão e computação confiável. As duas principais tecnologias de conhecimento zero são os zk-STARKs, que significa “zero-knowledge scalable transparent argument of knowledge” (argumento de conhecimento transparente e escalável), e zk-SNARKs, que significa “zero-knowledge succinct non-interactive argument of knowledge” (argumento não interativo e sucinto de conhecimento).

Problema da disponibilidade de dados para camada 2:

Como vimos, as tecnologias ZKP garantem a validade do estado da camada 2, mas a prova por si só não fornece acesso ao estado. Para aumentar a produção, a execução é movida para fora da cadeia, mas os dados ainda devem estar prontamente acessíveis para reconstrução. Para alcançar isso, os dados transacionais são enviados como <strong>calldata</strong> na Ethereum para garantir que os dados estejam disponíveis para reconstrução futura. Esses dados também podem ser armazenados em armazenamento descentralizado confiável, como IPFS ou Arweave, permitindo que qualquer pessoa reconstrua a camada 2 e aproveite os incentivos internos do armazenamento descentralizado.

Seria ainda melhor ter a capacidade de armazenar esses dados na cadeia, mas os dados servem apenas para reconstruir o estado/verdade da camada 2 e não são executados, tornando-se um uso ineficiente e caro da capacidade da blockchain.

Para resolver esse obstáculo, os desenvolvedores da Ethereum propuseram duas EIPs (Propostas de Melhoria da Ethereum): EIP4488 e EIP4844 (boa sorte para não confundir). O primeiro reduz o custo do gás para calldata enquanto o segundo cria um novo tipo de transação para armazenamento de dados da camada 2. Esses dados são imutáveis e somente para leitura, não podendo ser acessados pela EVM e, portanto, não podem ser executados.

Essas EIPs são exatamente onde o itinerário do ZKRollup encontra o itinerário da Execução fragmentada, ambos propondo o mesmo conceito para propósitos diferentes. A EIP4488 visa armazenar dados essenciais da camada 2, enquanto a EIP-4844, também conhecida como Proto-Danksharding, é um passo para a implementação do Danksharding e da execução fragmentada.

Danksharding:

Danksharding envolve a divisão de grandes conjuntos de dados em partes menores para separação e processamento, frequentemente em paralelo. Esse método é usado em campos de big data e AI, onde os conjuntos de treinamento podem ser muito grandes.

O proto-danksharding (EIP-4844) não implementa a fragmentação, mas oferece armazenamento de calldata mais barato que pode ser fragmentado. Esse armazenamento de calldata mais barato melhorará muito a escalabilidade da Ethereum na camada 2, potencialmente tornando a fragmentação redundante.

Proto-danksharding:

Com o Proto-danksharding, a blockchain Ethereum terá computação não-escalável e dados escaláveis. E o ZkRollups essencialmente converte esses dados escaláveis e computação não escalável, mas confiável, em computação escalável.

ZKRollups no trilema da blockchain:

O ZKRollups tem fortes benefícios de escalabilidade sem alterar as propriedades subjacentes da blockchain. Verificar a prova de conhecimento zero na cadeia é o principal requisito, enquanto a disponibilidade de dados pode ser implementada fora da cadeia. A longo prazo, pode-se esperar que as camadas 1 se tornem simples, seguras e (assim esperamos) descentralizadas, enquanto as camadas 2 fornecerão escalabilidade.

Qual é o problema?

De fato, a camada 2 pode escalar muito. No entanto, para resolver na cadeia (na camada 1), é preciso produzir uma prova de validade para o estado geral da camada 2, causando problemas de centralização. Atualmente, os projetos de camada 2 têm apenas um provador, o que significa que eles podem censurar suas transações. Não é possível congelar ativos da camada 1 até que pontes nativas sejam construídas. Pesquisas estão em andamento para enfrentar esse desafio, permitindo que outras partes possam emitir provas, mas algumas questões difíceis permanecem para a arbitragem entre essas provas. Em todos os casos, este é um problema importante a ser resolvido para o futuro.

A Starknet identificou isso como um tópico importante no itinerário, enquanto a Arbitrum divide a responsabilidade entre a caixa de entrada sequenciadora e a caixa de entrada atrasada para garantir que os fundos possam ser recuperados em caso de censura.

Considerações finais

Como examinamos, a escalabilidade pode ter um custo para a segurança e a descentralização, enquanto as soluções de camada 2 são vistas como as formas mais promissoras de aumentar a escalabilidade sem comprometer os outros aspectos do trilema da blockchain.

Rollups otimistas e de validade, usando a tecnologia ZKP, serão vitais para moldar o futuro da Ethereum, permitindo transações sem confiança, complexas e sem permissão em escala. Os rollups de validade têm uma vantagem significativa sobre os rollups otimistas: finalidade curta. O itinerário da Ethereum mudou recentemente para oferecer suporte a esses rollups a nível de blockchain.

O futuro da escalabilidade de blockchain inclui DApps complexos executados camada 2 (ou rollups recursivos), permitindo escalabilidade virtualmente infinita, com camada 1 descentralizada e segura sendo fornecida. A longo prazo, a camada 1 pode se tornar camadas de liquidação, com a complexidade dos DApps sendo transferida para camada 2.

Fique em contato

Acompanhe nosso blog para novidades. Contato de imprensa:
[email protected]

Assine nossa
newsletter

Novas moedas compatíveis, atualizações do blog e ofertas exclusivas diretamente em sua caixa de entrada