Quem Não tem Cão, Caça com Gato: Como Escalar a Ethereum?
Solucionando o dilema entre eficiência e poder computacional para confiança de redes Blockchain
Prezada Nação Bankless,
Entender a filosofia Bankless é um passo importante para a liberdade e auto-soberania. Temos alguns artigos onde exploramos a fundo esse tema, criamos modelos e abstrações para entender o impacto da descentralização no mundo.
Também é necessário entender a fundo a tecnologia que está empoderando a humanidade. Nicole Haddad explica no artigo de hoje as soluções para a escalabilidade de redes blockchain como o Bitcoin e Ethereum.
Gosto da forma que Nicole apresenta de forma objetiva as soluções de segunda camada e esclarece os termos que assustam muitas pessoas como: “Segunda Camada da Blockchain (Layer 2), Sidechains, ZK-Rollups, etc”.
Você sabe qual a solução mais segura? Quais os pontos fortes e fracos de cada Segunda Camada? Quer saber o melhor lugar para proteger seu patrimônio cripto?
Vamos subir de nível!
— BM
🙏 Patrocinador: Aave — ganhe altos rendimentos em depósitos e peça emprestado à melhor taxa possível!
Seja uma assinante, tenha acesso aos artigos exclusivos do Bankless Brasil, garanta seu acesso à DAO.
Quem não tem cão, caça com gato: como escalar a Ethereum?
Texto: originalmente publicado na Mercurius Academy.
Autora: Nicole Haddad
Blockchains escaláveis são um desafio, porque elas sacrificam eficiência de armazenagem e poder computacional por altas garantias de confiança. Os usuários podem confiar que as transações que fazem serão válidas no futuro, e desenvolvedores podem confiar que seus códigos estarão sempre disponíveis para a interação de usuários.
Isso é verdadeiro porque dados em blockchain têm níveis enormes de redundância. As transações precisam ser processadas por cada node participante que conserva a blockchain, e a expansão de dados feita por cada transação precisa ser armazenada para sempre. Esse cenário faz com que, hoje, a blockchain mais utilizada para smart contracts, a Ethereum, consiga processar apenas aproximadamente 20 transações por segundo (TPS).
O problema de escalabilidade na rede Ethereum hoje faz com que quanto mais usuários existam na rede, mais lenta e cara ela fica. Essa deterioração no UX1 fez com que novos players entrassem para a competição com novas soluções, como a Binance Smart Chain, Solana e Polkadot. Atualmente, a manutenção da dominância rede Ethereum depende da habilidade da rede de aumentar o throughput e reduzir as taxas de transação.
O domínio da Ethereum caiu 20% desde o início do ano, atualmente 64,5% do TVL em smart contracts.
A rede Ethereum suporta uma quantidade bastante alta de atividade econômica diariamente, liquidando bilhões de dólares em transações por dia executando dezenas de milhares de dApps em DeFi e NFTs. No entanto, o blockspace da Ethereum é limitado, o que significa que todas essas aplicações competem entre si pelos mesmos recursos - ou seja, em momentos de alto fluxo, a rede fica congestionada.
Enquanto isso pode ser ótimo para mineradores, que se beneficiam com as altas taxas de transação, por outro lado, para os usuários, uma transação na Uniswap por exemplo pode ultrapassar centenas de dólares, dependendo do congestionamento na rede - ou seja, pode resultar em interações proibitivamente caras.
A receita dos mineradores aumentou 50% em comparação com as altas de 2017
O debate sobre a escalabilidade da rede Ethereum tornou-se uma preocupação pela primeira vez após um evento de grave congestionamento, durante o bull market em 2017, quando os Crypto Kitties e os ICOs causaram um pico altíssimo nas taxas de gás. Atualmente, o congestionamento está ainda mais forte, causado primeiramente pela popularidade de DeFi (em 2020) e, mais recentemente, o Metaverso. Se no bull run de 2017 as taxas se aproximavam de US$5, agora estão beirando US$150.
Assim, para contornar esse problema, há alguns tipos de soluções de escalabilidade em uma segunda camada da blockchain, cada uma com suas próprias otimizações e trade-offs. Há duas formas principais de melhorar a escalabilidade de uma rede: (i) escalar a Layer 1 (com o modelo de Sharding, por exemplo); e (ii) escalar a rede ao transferir parte do trabalho a outra camada (criação de Layer 2). Este relatório tem como objetivo passar pelas soluções de segunda camada.
Uma solução de segunda camada (Layer 2) é simplesmente outra camada construída em cima da primeira camada (Layer 1), sem requerer nenhuma mudança na Layer 1 - usando apenas os elementos existentes. Além disso, a Layer 2 alavanca a segurança da Layer 1, ao ancorar seu estado na Layer 1.
Existem Diversos Tipos de Soluções:
State Channels
Permite o usuário a transacionar várias vezes off-chain (fora da rede), enquanto apenas duas transações são enviadas para a mainchain. É a forma como a Lightning Network funciona no Bitcoin. Essa solução tem potencial de processar centenas de transações por segundo, porém tem algumas desvantagens: (i) os participantes precisam ser previamente conhecidos pela rede, não tem participação aberta; (ii) os fundos dos usuários precisam ser travados durante a duração do canal; (iii) escalabilidade é application-specific, ou seja, não pode ser utilizada para o propósito de contratos inteligentes; e (iv) leva tempo para configurar um canal e monitorá-lo ativamente, para garantir que não haja agentes mal-intencionados. Essa solução serve para transações simples, mas não para aplicações complexas (como DEXs).
Projetos trabalhando com essa solução na Ethereum incluem: Raiden Network, Celer, Connext, Statechannels e Perun.
Plasma (Childchain)
É uma estrutura de cópias da blockchain Ethereum chamada childchains. Milhares de transações podem ser processadas nesses blocos da Layer 2, agrupados em um único envio para a Ethereum. É uma rede trustless e non-custodial, e em caso de erro ou exploit, os usuários podem consultar o snapshot correto mais recente da Plasma Chain para restaurar aquele estado e recuperar seus tokens. Esse tipo de solução conta com o mecanismo de segurança da Ethereum em um ambiente trustless, otimizado para pagamentos devido ao seu alto rendimento e garantia de segurança.
Vantagens: (i) pode manter mais de 1.000 TPS a um baixo custo por transação, pois o custo do gás é fixo por bloco de Plasma; (ii) pode lidar com um número flexível de usuários, não exigindo um número definido desde o início; e (iii) alto grau de segurança e recuperabilidade do fundo.
Desvantagens: (i) não tem flexibilidade para dar suporte à execução de contratos inteligentes, pois só oferece suporte a funções básicas, como transferências ou swaps; (ii) embora os usuários possam retirar seus fundos, eles também precisam verificar a Plasma chain periodicamente para detectar quaisquer erros e evitar exploits; e (iii) "torres de observação" são necessárias para manter os snapshots da rede. Por essas razões, a Plasma não é a solução ideal.
Projetos trabalhando nisso incluem Polygon (anteriormente conhecido como Matic), OMG Network, Gluon, LeapDAO e Gazelle.
Sidechains
Uma blockchain separada rodando ao lado e se comunicando com a Ethereum, mas de forma independente. Elas podem ter seu próprio mecanismo de consenso e garantias de segurança, e a interoperabilidade é possível pois usam a mesma EVM, então os deploy dos contratos pode ser feito diretamente na Sidechain.
Vantagens: (i) tecnologia estabelecida; (ii) além de suportarem Ethereum, essas Sidechains são agnósticos em blockchain e também poderiam suportar outras Layer 1, além de várias Sidechains poderem coexistir sem depender da Ethereum; (iii) elas têm seus próprios tokens, capazes de suportar contratos inteligentes (fora da mainchain) e, portanto, são otimizadas para flexibilidade e têm uma variedade de casos de uso; e (iv) essa tecnologia está relativamente estabelecida como uma solução de dimensionamento e, dependendo do projeto da sidechain, pode oferecer cerca de 10.000 TPS.
Desvantagens: (i) não é um ambiente trustless, pois os usuários precisam transferir a custódia dos fundos para a Sidechain; (ii) a segurança também é outra preocupação, pois as Sidechains são menos maduras e menos descentralizadas em comparação com a Ethereum; (iii) usa um mecanismo de consenso diferente, então não é tecnicamente uma layer 2, por não ser assegurada pela Layer 1; .e (v) um quorum de validadores da sidechain podem cometer fraude.
Projetos trabalhando nisso incluem xDAI, Polygon, POA Network, Liquid Network e Skale Network.
Rollups
É uma solução parecida com a Plasma: um único contrato na mainchain mantém todos os fundos. A grande diferença é que o estado desse contrato é mantido on-chain, o que resolve o problema de disponibilidade dos dados em soluções Plasma (mais seguro). Assim, após um lote de transações, o Rollup propõe um novo estado para a rede principal, o que permite que milhares de transações sejam agrupadas em um único Rollup block.
Rollups exigem que os "operadores" façam staking em um título no contrato de Rollup. Isso incentiva os operadores a verificar e executar as transações corretamente.
Dessa forma, os dados de resumo ainda estão protegidos na L1 sem a necessidade de computação e armazenamento completos na cadeia Ethereum - apenas a prova é fornecida à mainchain. Essa prova depende do tipo de Rollup: Optimistic ou Zero Knowledge.
Optimistic Rollups
Assume, por padrão, que as transações são válidas e só executa a computação em caso de desafio (contestação). Eles podem processar aproximadamente 300 calls de contrato inteligente por segundo ou aproximadamente 2.000 transferências básicas por segundo.
Vantagens: (i) roda uma Virtual Machine compatível com a EVM, que permite a execução dos mesmos contratos inteligentes que podem ser executados na Ethereum - ou seja, torna fácil a compossibilidade dos protocolos, algo muito relevante em DeFi; e (ii) todos os dados de transações são armazenados na layer 1, então é uma solução segura.
Desvantagens: (i) os fundos podem estar sob risco de vetores de ataque em potencial; e (ii) saques são lentos, possivelmente levando semanas, para permitir um período de contestação ou disputa.
Projetos com foco nisso incluem Optimism, Arbitrum, Fuel Network e Cartesi. A Uniswap V3 está sendo lançada no Optimism, fato que valida essa solução como a solução Layer 2 preferida no atual momento.
Zero Knowledge (ZK) Rollups
Executa toda a computação off-chain e envia uma prova de validação (validity proof) para ser armazenada na Ethereum. Zero Knowledge (ZK) é a prova criptográfica fornecida para as séries de transações a serem gravadas na blockchain Ethereum - também chamada de SNARK (succinct non-interactive argument of knowledge). Essa prova seria o mesmo que mostrar à mainchain o resultado de um cálculo sem mostrar todos os dados da transação (similar a uma merkle root). Validar um bloco é, portanto, mais rápido e barato porque menos dados estão envolvidos. Pode processar aprox. 3k TPS na ETH1 e 20k na ETH2, a 1% dos custos da mainchain.
Vantagem: (i) não há atrasos na movimentação de fundos entre a Layer 1 e a Layer 2, porque o estado é verificado imediatamente, uma vez que as provas são enviadas para a main chain. Assim, a liquidação é mais rápida do que os Optimistic Rollups em casos de saque da Layer 2 para a Layer 1; (ii) não é vulnerável a ataques econômicos que são possíveis na Optimistic Rollup; e (iii) seguro e descentralizado, já que os dados que são necessários para recuperar o estado anterior estão armazenados na Layer 1.
Desvantagens: (i) as transações da Layer 2 para a Layer 1 levam cerca de 10 a 30 minutos, pois uma geração de ZK Proof é necessária (ainda é menos pior que a Optimistic); (ii) suporte para a EVM ainda sendo desenvolvido; (iii) as provas de validação são intensas de computar, então não vale a pena para aplicações com pouca atividade on-chain.
Projetos trabalhando em ZK Rollups incluem Loopring, Zksync (Matter Labs), Aztec e Polygon (com a Polygon Hermez e Polygon Miden). A Loopring aplicou essa tecnologia na construção de ordebook de DEXEs.
Validium
Usa provas de validade (como um ZK Rollup), mas os dados não são mantidos na rede Ethereum. Os fundos no Validium estão seguros, pois cada transferência deve ser autorizada. Manter os dados fora da cadeia principal pode levar a até 20.000 TPS por Validium Chain, que podem ser executados em paralelo entre si.
Vantagens: (i) não há atraso nos saques; e (ii) não é vulnerável a ataques que os sistemas à prova de fraude enfrentam.
Desvantagens: (i) tem suporte limitado para contratos inteligentes; e (ii) requer alto poder de computação e 10 a 30 minutos para gerar ZK Proofs, o que não é efetivo em tempo nem custo para aplicativos de baixo rendimento
Starkware and Matter Labs usam Validium.
Conclusões
Dando um passo para trás, assim como o ZK e o Optimistic Rollup têm semelhanças no sentido de que os dados estão na cadeia, também há semelhanças entre o Plasma e o Optimistic Rollup por serem sistemas à prova de fraude. Assim, esses sistemas formam quatro quadrantes:
Quadrante dos tipos de solução de escalabilidade em segunda camada, apontando a forma de reprodução de dados e de validação
Em conclusão, as soluções baseadas em ZK Rollup são mais seguras, porém ainda não são compatíveis com EVM. As soluções baseadas em Optimistic Rollup não são tão seguras quanto, mas têm o benefício da compatibilidade com EVM. Já as sidechains, apesar de não serem tecnicamente Layer 2, podem cumprir esse papel caso tenham alta compatibilidade com a Layer 1.
Mas, de forma geral, embora as soluções de escalabilidade acima caiam em categorias simples, a realidade é que as tecnologias podem ser combinadas, cada uma com suas próprias compensações. Por exemplo, Matic pivotou para Polygon, lançando um agregador Layer 2. Além disso, o Celer combina State Channels e soluções SideChain.
O uso de Layer 2 na Ethereum cresceu significativamente este ano, como podemos ver no gráfico a seguir. Soluções com Rollups e Plasma têm seu destaque.
E você, já está utilizando alguma Layer 2? Se sim, qual e o que motivou sua escolha?
Biografia da Autora
Nicole Haddad é formada em Ciências Econômicas pela PUC-SP. Além de ter participado da Prometheus Asset Management Jr. da FEA-USP, já teve experiência em instituições como Aditus Consultoria Financeira, Itaú Unibanco, SulAmérica Investimentos, Pipeline Tech M&A. Atualmente atua como analista de criptoativos na Mercurius Asset Management, responsável por produzir análises fundamentalistas acerca de diversos setores e protocolos do mercado.
🙏 Agradecimentos ao nosso patrocinador
AAVE
Empreste e pegue emprestadoo com Aave! Um protocolo de código aberto e não custodiante para a criação de mercado monetário. Lançado originalmente com o Aave Market, ele agora oferece suporte aos mercados Uniswap e TokenSet e permite que usuários e desenvolvedores ganhem juros e alavanquem seus ativos. Aave também foi pioneira em Flash Loans, um bloco de construção de DeFi inovador para desenvolvedores criarem autoliquidações, trocas colaterais e muito mais. Confira aqui.
👉 Acesse o site da Aave e acesse seu primeiro empréstimo DeFi.
Se você gostar desse artigo, considere ser um assinante do Bankless Brasil. Artigos exclusivos e um NFT customizado para os assinantes. Promoção especial até o final de 2021.
Tem interesse em contribuir com o movimento Bankless no Brasil? Ficou com alguma dúvida depois de ler o artigo? Entre na DAO, e fale diretamente conosco!
Esse texto não é recomendação financeira ou fiscal. Este boletim informativo é estritamente educacional e não é um conselho de investimento ou uma solicitação para comprar ou vender quaisquer ativos ou para tomar quaisquer decisões financeiras. Este boletim informativo não é um conselho fiscal. Fale com seu contador. Faça sua própria pesquisa.
📩 Se você tem interesse em divulgar um produto, serviço ou protocolo no Bankless Brasil, mande um email para:
contato@banklessbr.com
UX é a abreviação de user experience (experiência do usuário): é o conjunto de elementos e fatores relativos à interação do usuário com um determinado produto, sistema ou serviço cujo resultado gera uma percepção positiva ou negativa.