O Danksharding é como a Ethereum se torna uma blockchain verdadeiramente escalável, mas há várias atualizações de protocolo exigidas para chegar lá. O Proto-Danksharding é uma etapa intermediária ao longo do caminho. Ambos visam tornar as transações na camada 2 (l2) o mais baratas possível para os usuários e devem escalar a Ethereum para >100.000 transações por segundo.
O que é o Proto-Danksharding?
O Proto-Danksharding, também conhecido como EIP-4844 (opens in a new tab), é uma maneira de os rollups adicionarem dados mais baratos aos blocos. O nome vem dos dois pesquisadores que propuseram a ideia: Protolambda e Dankrad Feist. Historicamente, os rollups eram limitados em quão baratas podiam tornar as transações dos usuários pelo fato de publicarem suas transações em CALLDATA.
Isso é caro porque é processado por todos os nós da Ethereum e vive onchain para sempre, mesmo que os rollups precisem dos dados apenas por um curto período. O Proto-Danksharding introduz blobs de dados que podem ser enviados e anexados aos blocos. Os dados nesses blobs não são acessíveis à EVM e são excluídos automaticamente após um período de tempo fixo (definido como 4096 épocas no momento da redação, ou cerca de 18 dias). Isso significa que os rollups podem enviar seus dados de forma muito mais barata e repassar a economia aos usuários finais na forma de transações mais baratas.
Como os dados do blob são verificados?
Os rollups publicam as transações que executam em blobs de dados. Eles também publicam um "compromisso" com os dados. Eles fazem isso ajustando uma função polinomial aos dados. Essa função pode então ser avaliada em vários pontos. Por exemplo, se definirmos uma função extremamente simples f(x) = 2x-1, então podemos avaliar essa função para x = 1, x = 2, x = 3 dando os resultados 1, 3, 5. Um provador aplica a mesma função aos dados e a avalia nos mesmos pontos. Se os dados originais forem alterados, a função não será idêntica e, portanto, os valores avaliados em cada ponto também não serão. Na realidade, o compromisso e a prova são mais complicados porque são envolvidos em funções criptográficas.
O que é KZG?
KZG significa Kate-Zaverucha-Goldberg - os nomes dos três autores originais (opens in a new tab) de um esquema que reduz um blob de dados a um pequeno "compromisso" criptográfico (opens in a new tab). O blob de dados enviado por um rollup deve ser verificado para garantir que o rollup não esteja se comportando mal. Isso envolve um provador reexecutando as transações no blob para verificar se o compromisso era válido. Isso é conceitualmente o mesmo que a maneira como os clientes de execução verificam a validade das transações da Ethereum na camada 1 (l1) usando provas de Merkle. KZG é uma prova alternativa que ajusta uma equação polinomial aos dados. O compromisso avalia o polinômio em alguns pontos de dados secretos. Um provador ajustaria o mesmo polinômio sobre os dados e o avaliaria nos mesmos valores, verificando se o resultado é o mesmo. Esta é uma maneira de verificar os dados que é compatível com técnicas de conhecimento zero usadas por alguns rollups e, eventualmente, outras partes do protocolo Ethereum.
O que foi a Cerimônia KZG?
A cerimônia KZG foi uma maneira de muitas pessoas de toda a comunidade Ethereum gerarem coletivamente uma sequência aleatória secreta de números que pode ser usada para verificar alguns dados. É muito importante que essa sequência de números não seja conhecida e não possa ser recriada por ninguém. Para garantir isso, cada pessoa que participou da cerimônia recebeu uma sequência do participante anterior. Eles então criaram alguns novos valores aleatórios (por exemplo, permitindo que seu navegador medisse o movimento do mouse) e os misturaram com o valor anterior. Eles então enviaram o valor para o próximo participante e o destruíram de sua máquina local. Contanto que uma pessoa na cerimônia tenha feito isso honestamente, o valor final será incognoscível para um invasor.
A cerimônia KZG da EIP-4844 foi aberta ao público e dezenas de milhares de pessoas participaram para adicionar sua própria entropia (aleatoriedade). No total, houve mais de 140.000 contribuições, tornando-a a maior cerimônia do gênero no mundo. Para que a cerimônia fosse comprometida, 100% desses participantes teriam que ser ativamente desonestos. Da perspectiva dos participantes, se eles sabem que foram honestos, não há necessidade de confiar em mais ninguém porque eles sabem que garantiram a cerimônia (eles satisfizeram individualmente o requisito de 1 em N participantes honestos).
O que é o Danksharding?
O Danksharding é a realização completa da escalabilidade de rollup que começou com o Proto-Danksharding. O Danksharding trará quantidades enormes de espaço na Ethereum para que os rollups descarreguem seus dados de transação compactados. Isso significa que a Ethereum será capaz de suportar centenas de rollups individuais com facilidade e tornar milhões de transações por segundo uma realidade.
A maneira como isso funciona é expandindo os blobs anexados aos blocos de seis (6) no Proto-Danksharding para 64 no Danksharding completo. O restante das alterações exigidas são todas atualizações na maneira como os clientes de consenso operam para permitir que eles lidem com os novos blobs grandes. Várias dessas alterações já estão no roteiro para outros fins independentes do Danksharding. Por exemplo, o Danksharding exige que a separação propositor-construtor (PBS) tenha sido implementada. Esta é uma atualização que separa as tarefas de construção de blocos e proposição de blocos entre diferentes validadores. Da mesma forma, a amostragem de disponibilidade de dados é exigida para o Danksharding, mas também é exigida para o desenvolvimento de clientes muito leves que não armazenam muitos dados históricos ("clientes sem estado").
Progresso atual
O Danksharding completo está a vários anos de distância. Enquanto isso, a cerimônia KZG foi concluída com mais de 140.000 contribuições, e a EIP (opens in a new tab) para o Proto-Danksharding amadureceu. Esta proposta foi totalmente implementada em todas as redes de teste e entrou no ar na Mainnet com a atualização de rede Cancun-Deneb ("Dencun") em março de 2024.
Leitura adicional
- Notas sobre o Proto-Danksharding (opens in a new tab) - Vitalik Buterin
- Notas de Dankrad sobre o Danksharding (opens in a new tab)
- Dankrad, Proto e Vitalik discutem o Danksharding (opens in a new tab)
- A cerimônia KZG (opens in a new tab)
- Palestra de Carl Beekhuizen na Devcon sobre configurações confiáveis (opens in a new tab)
- Mais sobre amostragem de disponibilidade de dados para blobs (opens in a new tab)
- Dankrad Feist sobre compromissos e provas KZG (opens in a new tab)
- Compromissos polinomiais KZG (opens in a new tab)
Última atualização da página: 20 de maio de 2026