O criador do Ethereum Vitalik Buterin, anunciou o próximo passo da rede, que é eliminar o peso extra. Ele chama isso de “O Expurgo”.
Na quinta postagem de sua série, Vitalik apresentou um plano implacável para eliminar o inchaço do blockchain, eliminar recursos redundantes e simplificar o protocolo. A rede Ethereum está obstruída com transações desatualizadas e recursos legados complicados.
A solução? Vitalik deseja que os dados históricos e de estado sejam coletados, os recursos do protocolo sejam simplificados e os nós sejam mais fáceis de executar. Esta decisão agressiva é uma resposta ao rápido crescimento dos dados da Ethereum .
No momento, um nó Ethereum completo requer mais de 1,1 terabytes de armazenamento apenas para o cliente de execução, com mais para dados de consenso.
À medida que as transações e as contas se acumulam, o armazenamento precisa de crescer, criando estrangulamentos. Sem mudanças, Ethereum corre o risco de ficar lento, com novos clientes enfrentando tempos de sincronização dolorosamente longos apenas para se atualizarem com a cadeia.
Em vez de cada nó conter todas as transações já registradas, Vitalik sugere que os nós retenham apenas dados recentes. Blocos históricos, transações mais antigas e recibos são distribuídos pelos nós em pequenas porções.
Para Vitalik, os dados históricos devem funcionar como uma rede torrent – os nós armazenam bits de dados, garantindo a disponibilidade dos dados sem que um nó contenha tudo. “Estamos falando de centenas de gigabytes de blocos antigos que se acumulam a cada ano”, disse ele.
O modelo atual, com nós contendo todos os dados, já foi ajustado. Os blocos de consenso, vitais para a prova de aposta, são armazenados por seis meses, enquanto os blobs – blocos maiores de dados de transação – desaparecem após 18 dias.
A nova proposta de Vitalik, EIP-4444, impõe um limite de armazenamento de um ano para blocos históricos e recibos. Seu objetivo final? Uma rede distribuída onde cada nó armazena apenas uma fração do histórico, usando provas Merkle e codificação de eliminação para garantir a precisão.
Este armazenamento distribuído de histórico não reduzirá a confiabilidade dos dados Ethereum . Vitalik afirma que, ao aumentar a contagem de nós, as cópias de dados se multiplicarão pela rede, tornando cada fragmento do histórico bem respaldado.
A codificação de eliminação adicionará resiliência, semelhante à tecnologia que ajuda os blobs a permanecerem disponíveis para amostragem de dados. Vitalik também aponta a Rede de Portal e os métodos peer-to-peer como possíveis soluções, permitindo que Ethereum gerencie sua propagação de dados sem depender de armazenamento centralizado.
Além da história, o expurgo de Vitalik inclui uma fera mais complicada: “expiração do estado”. Ao contrário da história, os dados de estado (coisas como saldos de contas, nonces e armazenamento de trac inteligentes) são mais difíceis de expirar. Uma vez criado, um objeto de estado (como uma conta com ETH ou um slot de armazenamento de trac ) permanece acessível a qualquer transação.
E com cada objeto, os dados do Ethereum crescem. Para conter isso, Vitalik propõe a expiração matic , eliminando dados que não foram tocados recentemente. O truque é equilibrar a expiração do estado com a permanência do Ethereum .
Ele acredita que os usuários deveriam poder “desaparecer por cinco anos, voltar e ainda acessar seus fundos”. Este sistema precisa de eficiência – sem cálculos extras ou modelos complexos para desenvolvedores.
Ethereum tentou várias ideias como “aluguel de blockchain”, que cobrava dos usuários para manter seus dados vivos, e “regênese”, que tentava redefinir o blockchain para reduzir os dados. Nenhum dos dois decolou.
Duas novas propostas visam o inchaço do Estado. Primeiro, há “expiração parcial do estado”. A rede dividiria os dados em pedaços, armazenando apenas pedaços recentes enquanto preservava “stubs” (pequenos pedaços de dados inativos) para provar a existência.
Se um pedaço for excluído, os usuários poderão revivê-lo com provas de dados anteriores. A proposta de design de Vitalik, EIP-7736, usa árvores Verkle e um modelo “caule e folha” para agrupar dados. Todos os dados intocados por seis meses são removidos, deixando apenas um stub para ser restaurado quando necessário.
A segunda ideia é a expiração baseada no período de endereço, que divide os objetos de estado por tempo. Cada conta possui um “período de endereço” e apenas os dados dos dois períodos mais recentes são armazenados.
Se alguém quiser dados antigos, enviará uma prova Merkle para restabelecê-los. Essa configuração baseada em período exigirá a alteração dos formatos de endereço, expandindo o formato atual de 20 bytes para incluir números de versão e pontos.
Vitalik também sugere a trac do espaço de endereço para manter a compatibilidade. O desafio será então garantir que os usuários entendam e confiem neste sistema de período sem sacrificar a promessa central de disponibilidade do Ethereum .
A fase final da eliminação atinge a complexidade do protocolo. Vitalik diz: “Cada novo recurso torna Ethereum mais difícil de usar, mas remover qualquer coisa é um pesadelo”. O exemplo mais famoso é o SELFDESTRUCT, um opcode que permite aos usuários excluir o armazenamento do trac .
Originalmente, permitia a compensação estatal voluntária, mas a maior parte não é utilizada e corre o risco de ataques de negação de serviço. O hard fork Dencun do Ethereum enfraqueceu o opcode e Vitalik planeja removê-lo totalmente em breve.
Outros recursos inchados incluem tipos de transação antigos, formatos de dados redundantes e uma configuração de protocolo misto. Essas peculiaridades tornam o desenvolvimento confuso e Ethereum mais difícil de atualizar.
A lista de limpeza de Vitalik também inclui a transição de formatos de dados de RLP para SSZ, simplificação de regras de gás para gerenciar melhor os recursos de bloco e remoção de pré-compilações não utilizadas como RIPEMD160, MODEXP e BLAKE. Ele também apoia a mudança Ethereum para um modelo de cliente sem estado, o que eliminaria a carga de armazenamento para a maioria dos nós.
Algumas dessas mudanças exigirão trac de conta, permitindo que os usuários administrem tipos de transações herdadas por meio de “código EVM de conta padrão”. Isso, diz Vitalik, simplificará a Máquina Virtual Ethereum (EVM) e reduzirá o tamanho do código. A longo prazo, o próprio EVM poderá receber uma atualização.
Ele explica que os desenvolvedores Ethereum estão considerando um novo modelo de execução como RISC-V ou Cairo, ou possivelmente usando um formato de objeto EVM (EOF) para padronizar regras de código.
EOF altera as regras do gás e proíbe certas instruções para permitir atualizações modulares, aumentando a escalabilidade do Ethereum . Este formato permitirá que os desenvolvedores façam melhorias incrementais, ajudando Ethereum a permanecer enxuto.
Mas Vitalik deu outra opção. Ele diz : “Uma estratégia de simplificação mais radical Ethereum é manter o protocolo como está, mas mover grande parte dele de recursos de protocolo para código de trac ”.