A história da Ethereum 2.0 começou, acredite se quiser, há oito anos, antes do próprio lançamento oficial da primeira versão da Ethereum, quando em Janeiro de 2014, Vitalik Buterin publicou um artigo propondo o mecanismo de Proof-of-Stake chamado “Slasher”, literalmente, o “Cortador”.
Naquela época ainda não existia um jeito de “punir” validadores de uma blockchain proof-of-stake que se comportassem mal ou que tentassem fraudar a rede, um problema que era conhecido como o “Nothing-At-Stake”, ou “Nada a Perder”.
Foi justamente a partir da proposta do consenso “Slasher” que o termo “slashing” (corte) ganhou sua atribuição moderna em cripto: o ato de se aplicar uma punição a operadores de um consenso que não se comportem adequadamente.
Entretanto, em sua primeira versão, o “Slasher” apenas previa cancelar a distribuição de novas recompensas como punição. Com o tempo, essa medida se mostrou não ser suficientemente severa para garantir a segurança do consenso, o que levou Vitalik a co-criação de um novo mecanismo PoS chamado “Casper”, concebido em 2015 e atualizado em 2017.
A proposta do “Casper”, por sua vez, introduziu os conceitos de “bond staking”, no qual o validador é obrigado a travar capital em um contrato inteligente para poder operar na rede, e de “bond slashing”, onde o capital travado pode ser sequestrado como multa por mal comportamento, resolvendo de vez o problema do “Nothing-At-Stake”.
E cerca de 1 ano após a criação do “Casper”, em 20 de Setembro de 2018, um dos desenvolvedores da Ethereum chamado Hsiao-Wei, publicou no GitHub a primeira especificação oficial da Ethereum 2.0.
Essa publicação marca o nascimento de um grande projeto concebido para revolucionar a rede Ethereum, que consistia inicialmente em duas grandes modificações: mudar o mecanismo de consenso da Ethereum de Proof-of-Work (PoW) para o novo algoritmo Casper (PoS); e quebrar a blockchain da Ethereum em várias blockchains menores e paralelas, que passariam a ser chamadas de fragmentos “shards”, pegando emprestada a nomenclatura da técnica de “Sharding”, que já é utilizada para escalar sistemas de bancos de dados no universo de TI.
O objetivo destas duas modificações, em particular, eram as soluções de três problemas principais que a rede vinha enfrentando desde 2017:
-
Congestão da rede - Muitas solicitações de transações simultâneas deixam a rede mais lenta e mais cara, com taxas tão proibitivas que as pessoas comuns simplesmente não conseguem operar diretamente na Ethereum;
-
Tamanho da blockchain - Enquanto o tempo passa e o tamanho da blockchain aumenta, junto com o seu histórico, fica cada vez mais difícil para os nós da rede trabalharem sem ser necessário investir em hardware mais potente, o que compromete o fator da descentralização;
-
Consumo de energia - O consenso baseado em mineração consome grandes quantidades de energia elétrica. Muito embora os possíveis impactos, sejam positivos e/ou negativos, deste fato ainda estejam em discussão, a Ethereum decidiu se tornar eficiente neste quesito.
Na visão da Ethereum, enquanto a migração para PoS resolve o problema do consumo de energia e deixa a rede ainda mais confiável, os “Shardings” resolvem o problema da congestão da rede e do tamanho da blockchain. A proposta de atualização original era muito ambiciosa e logo os desenvolvedores perceberam que seria impossível entregar as duas coisas ao mesmo tempo.
Assim, em novembro de 2018, o plano original foi dividido em duas fases separadas: A “Phase 0” para cobrir a migração de PoW para PoS, agora rebatizada como “Beacon-Chain”; e a “Phase 1” para cobrir a implementação dos shardings.
Essa estratégia faseada foi então debatida e refinada ao longo de quatro meses, culminando na publicação do primeiro roadmap oficial da Ethereum 2.0 em maio de 2019, sob o codinome “Serenity”.
Na “Phase 0”, a Beacon-Chain seria criada como uma blockchain independente da rede Ethereum. Enquanto a rede Ethereum continuaria funcionando com um grupo de mineradores, em modo PoW, a nova rede Beacon-Chain passaria a funcionar com um grupo de validadores, em modo PoS.
A estratégia das redes existirem em paralelo e de forma independente se daria para possibilitar que a Beacon-Chain fosse desenvolvida, testada e evoluída sem que fosse necessário interromper o funcionamento da rede principal da Ethereum. Além disso, ela também poderia ir sendo adotada aos poucos, aumentando o seu número de validadores até ter segurança econômica suficiente para se tornar a rede principal, e aposentar a rede PoW.
Uma vez que a Beacon-Chain estivesse madura o suficiente, o próximo passo do plano consistiria em “aposentar” a rede Ethereum PoW como a conhecemos hoje, deixando apenas o consenso PoS funcionando.
O grande dilema da Ethereum é que eles desejavam fazer esta troca de PoW para PoS sem desligar a rede e sem perder o histórico de transações, ou seja, o velho conceito de “trocar o pneu com o carro em movimento”.
E é aí que entra a “Phase 1” e os “shardings”. Nessa fase a Ethereum seria dividida em 64 “shards”, todos eles funcionando com o mecanismo de consenso “Casper”, em PoS. A Beacon-Chain, por sua vez, ficaria como responsável por coordenar a validação desses 64 shards e garantir a integridade da rede como um todo.
Um destes shards, excepcionalmente, seria ocupado pela “Ethereum 1.0” que já existe hoje. Este plano permitiria a existência temporária da Ethereum em PoW como um “shard” dentro de um ecossistema PoS. Eventualmente, a Ethereum 1.0 poderia ser desligada no futuro, o que marcaria de uma vez por todas o final da transição do mecanismo de consenso.
Essa etapa intermediária ganhou a alcunha de “Phase 1.5”, pois viria logo após a implementação do Sharding na Phase 1, e pouco antes da Phase 2. Além disso, o processo de inclusão da “Ethereum 1.0” como um dos 64 shards ficou conhecido popularmente como “The Docking” (A Ancoragem) ou alternativamente como “The Merge” (A Fusão).
E caso você ainda esteja se perguntando por qual motivo todo esse roadmap foi descrito no odioso futuro do pretérito, a resposta é pouco surpreendente: O roadmap não deu certo!
A implementação dos “Shardings” estava prevista inicialmente para 2020, sendo depois postergada para 2021, e até mesmo 2022. Porém, mesmo no meio de 2021 os desenvolvedores ainda não haviam sequer concordado em um modelo final de como os “shards” deveriam funcionar, e muito menos haviam começado a sua implementação concreta.
Para piorar, quanto mais a comunidade da Ethereum se debruçava sobre o assunto, mais problemas e consequências inesperadas surgiam.
Após um vídeo que fizemos em dezembro de 2021, detalhando estas questões e indicando que o modelo de “shards” daquela época precisava ser modificado ou a Ethereum 2.0 não teria como funcionar adequadamente, em janeiro de 2022, a Ethereum anunciou oficialmente que o modelo original de “Shardings” seria descontinuado e que o roadmap seria modificado.
A migração para o modelo de PoS agora seria feita sem a introdução dos “shards“, fundindo-se diretamente a antiga “Ethereum 1.0” com a nova “Beacon-Chain”, e deixando os “Shardings” para um futuro próximo. Em outras palavras, a Ethereum havia efetivamente invertido a ordem do seu roadmap original.
Esta mudança foi tornada possível pelos significativos avanços em soluções de segunda camada, que já estavam se mostrando capazes de escalar o ecossistema da Ethereum, mesmo sem a existência dos “Shardings”.
A partir daí, sem a previsão de múltiplos shards, o termo “The Docking” simplesmente parou de fazer sentido. E com a intenção do novo roadmap de fundir ambas as redes PoW e PoS em uma única nova Ethereum, o termo “The Merge” emergiu vitorioso, tornando-se a alcunha oficial da próxima fase de atualização da Ethereum e aposentando o antigo codinome “Serenity”.
Junto com anúncio do novo roadmap, outra mudança significativa foi a descontinuação da nomenclatura Ethereum 2.0, que vinha causando muita confusão na comunidade. Hoje, a Ethereum Foundation não considera mais que existe um roadmap para uma Ethereum 2.0, mas sim uma série de atualizações da mesma e única Ethereum.