Em seu quinto post sobre os próximos passos para a evolução do Ethereum (ETH), Vitalik Buterin detalhou o plano “The Purge”, que irá reduzir a sobrecarga de dados, eliminando elementos redundantes do protocolo e simplificando as operações, com o objetivo de tornar a execução de um node ETH mais acessível e eficiente.
Atualmente, cada node completo da rede Ethereum precisa de mais de 1,1 terabyte de armazenamento apenas para o client de execução. Esse aumento vem do acúmulo de transações históricas e contas.
Para resolver essa sobrecarga, Buterin propõe o “expurgo” dos dados históricos mais antigos, permitindo que cada node armazene apenas informações recentes, enquanto dados antigos são mantidos de forma distribuída.
Inspirado em sistemas peer-to-peer, o programador sugere que a blockchain Ethereum funcione como uma rede de torrent, onde os nodes compartilham pedaços de dados entre si, garantindo a disponibilidade sem a necessidade de armazenamento total em cada node.
Esse novo modelo já encontra respaldo na proposta EIP-4444, que limita a retenção de blocos históricos a um ano. Isso não comprometerá a segurança, pois técnicas de codificação de apagamento e Merkle proofs garantirão a integridade dos dados armazenados em partes menores e distribuídas.
Estratégia para dados de contas
Além do histórico, o Ethereum precisa lidar com o armazenamento do “estado” da rede, ou seja, dados de saldos de contas e informações de contratos inteligentes.
Esses dados são mais difíceis de expirar, pois continuam acessíveis enquanto houver atividades associadas. Como solução, Buterin aponta a implementação de uma expiração parcial de estado, na qual dados inativos sejam “podados”, mantendo apenas um resumo (ou “stub”) para provar sua existência.
Outra ideia é o uso de “períodos de endereço”, onde dados de contas seriam segmentados temporalmente. Com isso, apenas dados das duas últimas fases seriam mantidos, e informações mais antigas poderiam ser reativadas com Merkle proofs, assegurando a permanência sem sobrecarregar a rede.
Simplificação do protocolo
A complexidade do protocolo Ethereum também contribui para sua lentidão. Recursos pouco utilizados, como o opcode SELFDESTRUCT, criam risco de ataques de negação de serviço e dificultam a manutenção da rede.
Em resposta, Buterin está revisando o uso de operações obsoletas, além de propor uma transição dos formatos de dados RLP para SSZ, o que simplificaria as regras de gas e agilizaria o uso dos recursos de blocos.
Além disso, o rosto por trás do ETH menciona a possibilidade de um Ethereum “sem estado”, onde os nodes não precisariam manter dados locais completos. Essa medida, ao lado de propostas como o EIP-7736, que usa Verkle tree para dividir o armazenamento de dados, poderia abrir caminho para um modelo de execução leve e eficiente, permitindo ao Ethereum acompanhar o crescimento do mercado de criptomoedas.