O EIP-4844, conhecido informalmente como proto-danksharding, é uma atualização da Ethereum que permite aos rollups publicar dados de transações comprimidos como "blobs" temporários, em vez de calldata permanente. Lançado em março de 2024, criou um mercado de taxas separado e mais barato para o espaço de blobs, e foi o primeiro passo rumo ao danksharding completo, a próxima grande atualização de escalabilidade da Ethereum.
Pontos-chave
- O EIP-4844 adicionou um novo tipo de transação que transporta "blobs" de dados, separados da calldata normal da Ethereum, para que os rollups possam publicar dados de forma económica.
- Os blobs vivem num mercado de taxas separado, razão pela qual as taxas dos rollups em Arbitrum, Optimism e Polygon desceram acentuadamente após a atualização Dencun.
- Os blobs são removidos após cerca de 18 dias, pelo que são dados temporários, não armazenamento permanente, e não podem ser utilizados diretamente por contratos inteligentes.
- O EIP-4844 é um passo intermédio. O danksharding completo e o PeerDAS vão expandir a capacidade de blobs, mas exigem mais hardware de validadores e investigação que ainda está em curso.
Porque é que a Ethereum precisava de uma nova forma de publicar dados de rollups
Durante anos, a mainnet da Ethereum foi o gargalo para cada rollup construído sobre ela. Um rollup é uma rede de camada 2, frequentemente chamada de L2, que agrupa milhares de transações de utilizadores, comprime-as e publica o resultado de volta na Ethereum para que qualquer pessoa o possa verificar. O custo dessa publicação era, de longe, a maior rubrica na estrutura de taxas de um L2.
Antes de março de 2024, os rollups publicavam os seus dados comprimidos como calldata. Calldata é o campo de dados dentro de uma transação normal da Ethereum, a parte que indica a um contrato inteligente o que fazer. Cada nó da rede Ethereum tinha de descarregar a calldata, guardá-la para sempre e processá-la. Isso criava dois problemas em simultâneo. Primeiro, a calldata competia com transferências regulares de ETH e com transações de DeFi pelo mesmo espaço limitado de bloco, pelo que o seu preço era empurrado para cima por procura não relacionada. Segundo, os dados dos rollups ficavam armazenados em disco para sempre, mesmo que o rollup só precisasse deles durante alguns dias, enquanto as disputas eram possíveis.
Para os utilizadores, o sintoma eram taxas elevadas em Arbitrum, Optimism, Base e outros rollups. Para os programadores, o limite era claro: a Ethereum não conseguia escalar para milhares de transações por segundo comprimindo tudo no mesmo mercado on-chain. Algo tinha de mudar na forma como os dados eram publicados, não apenas na forma como eram executados.
O que o EIP-4844 mudou na prática
O proto-danksharding, o nome informal do EIP-4844, foi lançado com a atualização Dencun a 13 de março de 2024. Não aumentou a capacidade de transações da Ethereum e não reduziu os custos de gas para os utilizadores que transacionam diretamente na mainnet. O que fez foi introduzir um novo tipo de transação, chamada type-3 ou transação com blob, que anexa um bloco de dados separado chamado blob.
Um blob é um conjunto de dados binários, com até cerca de 125 kilobytes, que viaja junto de uma transação da Ethereum, mas que vive num local diferente. A Ethereum Virtual Machine, a EVM, não consegue ler o conteúdo dos blobs, e essa é a escolha de design central. Os contratos inteligentes na Ethereum podem verificar que um blob existe e validar os seus compromissos, mas não conseguem aceder ao seu conteúdo. Isto é intencional: mantém os dados dos blobs fora do caminho de execução da EVM, o que significa que a mainnet não tem de realizar computação extra para os utilizar.
O efeito prático é que os rollups podem agora publicar os dados das suas batches comprimidas como um blob, pagar uma taxa num mercado separado, e deixar que os validadores da Ethereum guardem esses dados durante cerca de 18 dias antes de os descartar. Essa janela é tempo suficiente para que os sistemas de fraud-proof e validity-proof façam o seu trabalho, e suficientemente curta para que os validadores não se afoguem em dados armazenados ao longo do tempo.
Blobs vs calldata: qual é a diferença prática
Calldata e blobs parecem semelhantes para um observador casual, uma vez que ambos são apenas bytes anexados a uma transação, mas comportam-se de forma muito diferente dentro da maquinaria da Ethereum.
A calldata faz parte da camada de execução. Cada nó tem de a descarregar, armazená-la permanentemente no histórico da cadeia e disponibilizá-la aos smart contracts através da EVM. Os blobs fazem parte da camada de consenso. São armazenados em separado, acedidos apenas através de compromissos criptográficos, e removidos após cerca de 4.096 epochs, o que corresponde a aproximadamente 18 dias.
É esta separação que torna os blobs mais baratos. Antes do EIP-4844, os rollups tinham de pagar o mesmo preço de gás que uma swap na Uniswap ou uma mint de NFT pagavam, porque competiam todos no mercado de calldata. Depois do EIP-4844, os rollups pagam um preço de blob gas separado, e o limite é de cerca de seis blobs por slot, ou aproximadamente 0,75 megabytes de dados blob por bloco. A oferta de espaço blob é o seu próprio valor, e a procura por blobs vem sobretudo dos rollups, não dos traders de DeFi, pelo que os dois mercados raramente disparam ao mesmo tempo.
O mercado de taxas separado: como funciona o preço dos blobs
O EIP-4844 introduziu um novo mecanismo, semelhante ao EIP-1559, para fixar o preço do espaço blob. Existe um número-alvo de blobs por bloco, atualmente 3, e um máximo de 6. Se forem publicados mais de 3 blobs, a taxa base de blob sobe. Se forem publicados menos, desce. Trata-se de um preço flutuante, concebido para manter a utilização de blobs próxima do alvo ao longo do tempo, em vez de permitir que um dia ocupado faça disparar o custo durante semanas.
É possível observar este mercado em ação em dashboards como o ultrasound.money, que acompanha a taxa base de blob em gwei. Nos meses que se seguiram ao Dencun, o espaço blob estava frequentemente subutilizado e a taxa pairava perto de zero. Em períodos de maior movimento, quando uma mint popular ou uma app viral empurrava vários rollups a publicar em simultâneo, a taxa blob subia, mas raramente para os valores em dólares que a calldata cobrava antes.
Para os utilizadores de rollup, a vantagem foi a possibilidade de os L2 manterem os seus custos de publicação previsíveis na maior parte do tempo, e de repassarem as poupanças. A vantagem não foi uniforme. Se um rollup decidisse ficar com parte das poupanças como margem, o utilizador via uma descida mais pequena. A vantagem foi também condicional. Uma vez que os blobs têm um limite de seis por slot, picos de procura podem ainda causar aumentos temporários de taxas, e esse limite é a restrição que o danksharding completo se propõe eliminar.
Como os rollups utilizam blobs na prática
Do ponto de vista do utilizador, nada mudou na forma como envia uma transação. Continua a assinar uma mensagem na sua wallet, um sequencer (o serviço de ordenação de transações do rollup) recolhe-a, e o rollup agrupa milhares de transações num batch. A mudança está no terceiro passo, quando o batch é publicado na Ethereum.
Antes do EIP-4844, o rollup chamava um contrato na mainnet e passava o batch comprimido como calldata, pagando o preço total do gás de calldata. Depois do EIP-4844, o rollup submete uma transação de tipo 3 que inclui os dados comprimidos como blob e apenas um pequeno compromisso desse blob na calldata. O contrato on-chain verifica o compromisso, e o blob em si é mantido pelos nós da camada de consenso.
É por esta razão que a experiência do utilizador mudou tão rapidamente. Arbitrum, Optimism, Base e Polygon zkEVM integraram blobs nas semanas que se seguiram ao Dencun. Os rollups ZK como zkSync e Starknet seguiram o exemplo. A descida de taxas foi real, mas a dimensão da descida variou consoante o rollup, porque os L2 tinham outras componentes de custo para além da publicação de dados, incluindo taxas de sequencer, verificação de provas e o próprio overhead do L2.
O que os blobs não conseguem fazer, e os riscos reais
Os blobs resolvem um problema específico: a publicação barata de dados. Não resolvem vários outros, e compreender os limites faz parte de perceber o upgrade de forma honesta.
Primeiro, os blobs são temporários. Após cerca de 18 dias, os dados desaparecem dos nós da Ethereum. Os rollups, ou serviços de terceiros como camadas de DA ou block explorers, são responsáveis por armazenar quaisquer dados que os utilizadores ou aplicações necessitem a longo prazo. Se um rollup encerrar e ninguém tiver arquivado os seus dados, o histórico pode perder-se. Este é um modo de falha real que ainda não foi totalmente resolvido em todo o ecossistema.
Segundo, o espaço blob continua limitado a seis blobs por slot. Quando vários rollups estão ocupados, competem por esse limite e a taxa blob sobe. O limite é a principal razão pela qual as taxas nos L2 disparam durante mints populares, mesmo depois do Dencun. A solução, mais capacidade de blobs, é para isso que serve o danksharding completo.
Terceiro, o EIP-4844 não tornou magicamente todos os L2 baratos. As conceções dos sequencers, a frequência de publicação de batches, a eficiência de compressão e os custos de prova continuam a ser relevantes. Um rollup que publica um batch por hora paga mais por batch do que um que publica a cada poucos minutos, e um rollup ZK tem de verificar uma prova de validade na mainnet, o que ainda custa gás de calldata. O EIP-1153, que introduziu opcodes de armazenamento transitório, também reduziu os custos dos L2, e foi incluído na mesma atualização Dencun. A descida de taxas é o efeito combinado de várias alterações, e não de um único interruptor.
Do proto-danksharding ao danksharding completo e ao PeerDAS
A EIP-4844 chama-se proto-danksharding porque implementa a maior parte da lógica do danksharding, mas apenas uma pequena parte da capacidade. O danksharding completo expandiria a capacidade de blobs de 6 blobs por slot para 64, combinando-a com uma técnica chamada data availability sampling, para que os validadores não tenham de descarregar todos os blobs para verificar a cadeia.
O PeerDAS, abreviatura de Peer Data Availability Sampling, é o passo de investigação intermédio. A ideia é que os validadores descarreguem apenas uma amostra aleatória dos dados de cada blob, usem criptografia para confirmar que o resto está disponível na rede, e nunca precisem de ver tudo. É isto que tornaria 64 blobs por slot viáveis sem exigir que cada staker armazene gigabytes de dados.
Nada disto foi ainda lançado. O roadmap até 2025 indica que o PeerDAS está em fase ativa de investigação e poderá surgir numa testnet, com o danksharding completo ainda mais distante. A EIP-4844 dá à Ethereum a estrutura base, o novo tipo de transação, o mercado de taxas e as regras de consenso, para que atualizações posteriores possam ser aditivas em vez de disruptivas. A parte interessante, bastante mais capacidade, ainda está para vir.
O que isto significa para utilizadores e developers hoje
Se é utilizador, a conclusão prática é que as taxas dos rollups na Arbitrum, Optimism, Base e outras L2s principais são significativamente mais baixas do que no início de 2024, e a componente de data availability dessas taxas é agora precificada num mercado que se comporta mais como uma commodity do que como um recurso escasso. Em períodos calmos, essa parte da fee aproxima-se de zero.
Se é developer e está a escolher onde implementar, a EIP-4844 não altera o facto de cada rollup ter a sua própria arquitetura, sequenciador e pressupostos de confiança. Significa, isso sim, que a data availability, que era o custo dominante, deixou de ser a principal razão para escolher uma L2 em vez de outra. Os sistemas de provas, a liquidez do ecossistema e as ferramentas importam agora mais do que em 2023.
A forma honesta de enquadrar isto é que o proto-danksharding tornou os rollups mais baratos, mas não concluiu o trabalho de escalabilidade. O roadmap tem margem para crescer, e o próximo passo depende da investigação sobre o PeerDAS, do hardware dos validadores e de upgrades da camada de consenso que ainda não foram ativados.
Acompanhe a história das taxas dos rollups da forma inteligente
A economia dos rollups muda depressa. As taxas de blobs, alterações de sequenciadores e upgrades da mainnet deslocam os custos das L2 de formas que os dashboards só capturam depois do evento. O Zippfeed destaca notícias sobre ETH, ARB, OP e POL com classificação de sentimento e um nível de importância, para que consiga identificar os momentos em que os mercados de taxas apertam, quando chega uma nova proposta de blob-cap, ou quando um rollup importante altera a sua estratégia de posting, sem ter de acompanhar uma dezena de canais de Discord e fóruns de governance.