Explicado · Ethereum
O que é Proto-Danksharding, a etapa que trouxe blobs de dados ao Ethereum
EIP-4844 adicionou blobs temporários aos blocos, cortando o custo de rollups postarem dados na camada base; os blobs expiram em cerca de 18 dias e usam compromissos KZG para verificação.
O Proto-Danksharding, formalizado como EIP-4844, entrou em vigor na atualização Dencun de março de 2024. A mudança introduziu blobs de dados que rollups podem anexar aos blocos da Ethereum como alternativa ao uso de CALLDATA, que é processada por todos os nós e permanece na cadeia para sempre. Um blob comporta até 128 KiB e cada bloco aceita no máximo seis blobs, totalizando 768 KiB por bloco. Diferente da CALLDATA, o conteúdo dos blobs não é acessível à EVM e é automaticamente deletado pelos clientes de consenso após 4.096 épocas, ou aproximadamente 18 dias.
A motivação é econômica: rollups precisam publicar dados de transação por tempo suficiente para que provadores possam verificar a execução, mas não precisam que esses dados fiquem disponíveis indefinidamente. Ao mover os dados para blobs que expiram, a Ethereum reduz o custo de publicação em ordens de grandeza e repassa a economia aos usuários na forma de taxas menores nas camadas 2. A verificação da integridade dos blobs usa compromissos polinomiais KZG (Kate-Zaverucha-Goldberg). O sequenciador do rollup ajusta um polinômio aos dados do blob e publica o compromisso resultante na cadeia. Provedores reexecutam o mesmo processo e conferem se o compromisso bate; se os dados forem alterados, o polinômio muda e a verificação falha.
Os parâmetros secretos do esquema KZG foram gerados na cerimônia KZG de 2023, que reuniu mais de 140 mil participantes. Cada participante adicionou entropia própria — por exemplo, movimentos do mouse — e destruiu sua parte após passá-la adiante. A segurança do esquema depende de que ao menos um participante tenha agido honestamente; se todos fossem maliciosos, seria possível forjar compromissos válidos para dados falsos. A cerimônia é, até hoje, a maior do tipo já realizada.
O Proto-Danksharding é a primeira fase de um roteiro que culminará no Danksharding completo, quando o número de blobs por bloco saltará de seis para 64. Essa expansão exige mudanças adicionais no protocolo, como a separação entre construtores e propositores de blocos (PBS) e a implementação de amostragem de disponibilidade de dados (DAS), para que validadores comuns possam verificar blobs grandes sem hardware especializado. Enquanto o Danksharding completo ainda está a anos de distância, o Proto-Danksharding já está ativo na Mainnet e serve de base para o escalonamento das rollups atuais.