Além do “beacon chain”: o que o futuro reserva para a Ethereum 2.0?
Em 1492, Cristóvão Colombo achou que havia chegado às Índias. Na verdade, ele havia chegado a um mundo completamente novo. Às vezes, quando chegamos após uma árdua jornada, é bom avaliar a situação e se planejar para obter vantagens das novas oportunidades que vierem pela frente.
É mais ou menos parecido com a situação em que estamos com a Ethereum 2.0 neste início de 2021. No início de dezembro, o “beacon chain” foi apresentado. Parece o fim de uma jornada longa e difícil.
Mas também é apenas o começo. Chegamos até aqui e, agora, podemos ver além. Conforme analisamos a paisagem à frente, estamos começando a apreciar as novas oportunidades que estão surgindo.
Neste artigo, falaremos do roteiro de desenvolvimento (“roadmap”) triplo para 2021: a “fusão” entre ETH 1.0 e ETH 2.0, sharding e “light clients”. São três caminhos separados que irão avançar paralelamente. Mas, primeiro, vamos celebrar um pouco de sucesso.
O fim do começo
O beacon chain é o alicerce do futuro da Ethereum.
Implementa o algoritmo proof-of-stake (PoS) — baseado na participação dos usuários — em vez do proof-of-work (PoW) — baseado na mineração de criptomoedas — como seu mecanismo de governança e fornece suporte à escalabilidade e segurança para sustentar a Ethereum nos próximos anos.
Escalabilidade é a capacidade de um sistema ou rede se ampliar e fazer a gestão da crescente demanda.
Isso foi ao ar em 1º de dezembro: “a prova do Proof-of-Stake”. É a demonstração de alto valor que assegurar uma rede amplamente distribuída, global e apermissionada, dessa forma, é algo prático e eficaz.
O beacon chain ainda não faz muito além de se autoexecutar — e chegaremos nisso — mas, sem dúvidas, é o resultado tangível mais desafiador do projeto Ethereum 2.0.
Faz seis semanas desde o “gênese” e tudo está maravilhoso. O beacon chain já é superior a qualquer outro sistema PoS.
Mais de dois milhões de ETH, equivalentes a US$ 2,6 bilhões, foram depositados no contrato. Isso totaliza mais de 46 mil validadores on-line, em que outros 20 mil irão entrar na próxima semana. A taxa de depósitos não irá diminuir.
Daqui a alguns dias, 2% do fornecimento total de ETH estará bloqueado nesse contrato de depósito. Isso é um imenso voto de confiança de 4 mil depositantes únicos e milhares de outros que realizaram depósitos via serviços de staking.
Até agora, a confiança dos “stakers” (aqueles que aplicam dinheiro à plataforma) está bem robusta.
Ainda são os primeiros dias, mas o beacon chain funcionou ininterruptamente até agora, com 99% de participação — uma métrica fundamental sobre a saúde da rede — e não houve nenhum problema ou incidente.
Centenas de pessoas estavam envolvidas no design e desenvolvimento do beacon chain nos últimos dois anos e meio.
Foi um projeto de comunidade amplamente aberto, liderado pela Ethereum Foundation, implementada por equipes de desenvolvimento de light clients (como a da ConsenSys) e apoiada por uma grande variedade de contribuidores.
Foi uma jornada incrível, mas ainda é a primeira etapa.
Ligando os pontos
E agora?
Um ano atrás, a Ethereum 2.0 tinha um roteiro certinho e linear. A Fase Zero (o beacon chain) seria seguida da Fase Um (“sharding” para a escalabilidade), que seria seguida da Fase Dois (mecanismos abstratos de execução) e, por fim, a ETH 1.0 seria fundida na ETH 2.0 sobre sua superestrutura.
Em seguida, o design da Fase Dois parece que ia demorar mais do que o esperado e, ao mesmo tempo, a pressão começou a crescer para fundir a ETH 1.0 com a ETH 2.0 o mais cedo possível.
Então, inserimos a Fase 1.5, em que um “lift and shift” (estratégia de “levantar e deslocar”) da ETH 1.0 para uma repartição (“shard”) da ETH 2.0 pudesse ser realizada diretamente.
Junto com isso, um paradigma completamente novo de escalabilidade surgiu — um que não precisa de “sharding”: “rollups”. Em outubro de 2020, Vitalik Buterin, cofundador da rede, propôs um novo roteiro de desenvolvimento para a Ethereum focado em “rollups”.
“Rollups” são uma tecnologia chamada de “segunda camada”, que elimina grande parte do fardo computacional e de armazenamento do blockchain e o utiliza apenas para se beneficiar de suas garantias de segurança.
Essas soluções têm diferentes formas — “zk-rollups” e “optimistic rollups” — com diferentes compensações e a tecnologia é nova.
Zk-rollups unem centenas de transferências em uma única transação, reduzindo o armazenamento de dados e as taxas de gás — pagas por usuários — para a validação de transações.
Usam uma técnica criptográfica chamada “provas de conhecimento zero” (ZKPs) que executam computações fora do blockchain e enviam uma prova de validação à Ethereum.
Já Optimistic Rollups assumem que transação são válidas por padrão (abordagem otimista) e só executam computações caso houver algum “desafio” ou problema.
Mas é bem provável que rollups forneçam grande parte da escalabilidade necessária da Ethereum, mesmo antes de a versão ETH 2.0 ser completamente apresentada.
Nesse meio, também existem novas e promissoras técnicas “sem estado” e criptográficas — apesar de rollups poderem aliviar parte da pressão de congestionamento da Ethereum — como “autorizações de Kate” (do inglês “Kate commitments”) que sugerem caminhos novos e empolgantes.
Esse esquema permite que um “provador” compute uma “autorização” a um polinômio, que não pode ser alterado, com as propriedades de que essa autorização realmente contenha o valor apresentado.
Aquele roteiro certinho de três fases agora se transformou em uma teia de aranha, segundo a atualização mais recente de Buterin.
The roadmap I made back in March updated with (very rough and approximate!) progress bars showing what has been done and some of the recent tweaks to the roadmap itself.
A lot has been accomplished, but still a lot remains to be done! pic.twitter.com/4zIK4aTNTh
— vitalik.eth (@VitalikButerin) December 1, 2020
Poderemos ligar todos esses pontos para apresentar algo coerente? Acreditamos que, se existe uma comunidade que possa fazer isso, essa comunidade é a da Ethereum.
No livro “Quando os gênios falham”, por Roger Lowenstein, que fala sobre o economista Robert Cox Merton: “ele tinha uma doença da crença perfeita, o que torna impossível o comprometimento”.
Foi essa rigidez que fez com que seu fundo de hedge implodisse. A Ethereum sofre, com frequência, a crítica inversa: estão constantemente reescrevendo o roteiro de desenvolvimento; talvez pareça que estão inventando as coisas ao longo do caminho.
Mas esse é um dos direcionadores do sucesso da Ethereum. Diferente de Merton, é uma comunidade de pragmatistas que fazem o que for necessário.
Quando os fatos mudam, também mudam; quando oportunidades se apresentam; eles a agarram. Adoram explorar novas e selvagens fronteiras, adaptando-se e mudando ao longo do caminho.
Escalabilidade ao quadrado
Felizmente, com o lançamento do beacon chain, é possível ter um bom panorama do que vem por aí e sobre como será o progresso em 2021. Tornar “rollups” no foco central para a escalabilidade permite que os desenvolvedores dissociem suas tarefas e se concentrem nos próximos estágios de forma paralela.
Além disso, 2021 será um ataque triplo: “a fusão” entre ETH 1.0 e ETH 2.0, “sharding” e “light clients”. No novo modelo, são tarefas independentes que irão avançar juntas. A ordem em que serão apresentadas não importa muito.
A fusão é o ponto em que a ETH 1.0 deixará de ser PoW e passará para PoS. A melhor forma de atingir esse objetivo é desenvolver ETH 1.0 diretamente no beacon chain que já temos.
ETH 1.0 não será um ambiente de execução — como anteriormente previsto — nem uma repartição. Isso facilitará bastante o trabalho de desenvolvedores e fornecedores de aplicações: tudo vai continuar como está atualmente, mas a mineração não será mais utilizada.
No roteiro antigo e linear, abandonar o consenso PoW era uma perspectiva distante, que aconteceria após a Fase Dois. No novo plano, estamos buscando implementar uma rede de testes nas próximas semanas.
Por que a migração para a Ethereum 2.0 é necessária?
O próximo vetor, “sharding” (também conhecido como Fase Um), já está bem-definido e está se aproximando de uma possível implementação em clientes. A abordagem de sharding foi alterada no novo roteiro.
Anteriormente, essas repartições seriam responsáveis tanto pela ordenação como pela execução de dados. Isso trouxe complexidades como transações entre repartições (“cross-shard transactions”).
Agora que o foco está nos rollups, shards só precisam tomar conta da ordenação de dados. Rollups são famintos por dados: quanto mais dados houver, mais rápido irão operar.
Vamos pensar em um carro com motor turbo. É divertido, mas também serve para ilustrar como rollups e sharding, combinados, melhoram a máquina virtual da Ethereum (EVM).
EVM se provou poderosa e flexível, mas precisava do oxigênio necessário para acelerar ainda mais: dados.
Rollups impulsionam drasticamente o poder disponível ao comprimir os dados em uma mistura de ar e combustível e forçando-a no motor sob pressão, como um turbocompressor de um carro ou um compressor de um avião a jato.
Isso pode ser, e está sendo implementado no atual blockchain da Ethereum.
Quando acrescentarmos sharding, será como se prendêssemos mais 64 compressores no nosso motor já com turbo: um turbo de multietapas. As vantagens da composição de rollups com sharding apresentam uma grande escalabilidade.
O terceiro vetor, independente e relativamente menor, é apresentar uma infraestrutura para light clients — softwares que interagem com nós completos a fim de interagir com o blockchain. Isso torna o sistema utilizável por aplicações que não desejam executar todo o programa.
Light clients irão permitir que usuários testem recursos existentes na Ethereum 2.0 sem terem que executar um nó da ETH 2.0. O objetivo do sharding é que nem todo mundo precise executar cada repartição.
Considerando que o beacon chain continue a operar ininterruptamente, a tarefa para o início de 2021 é concretizar esses três vetores em planos de apresentação.
Escalabilidade ou morte!
A primeira referência de Buterin à Ethereum 2.0 que pôde ser encontrada é de quase sete anos atrás.
De forma profética, ele começa com: “mudamos bastante nossos planos nos últimos meses”. Aparentemente, sempre foi assim! Ele encerrou com: “ou iremos solucionar os problemas de escalabilidade ou morreremos tentando”.
O beacon chain soluciona os problemas de consenso. Até o fim de 2021, saberemos se os desenvolvedores terão solucionado a escalabilidade ou não. É melhor você acreditar que irão solucioná-la ou morrerão tentando — essa é a única constante neste mundo em constante evolução.