PLONK: como a computação na blockchain pode ser “verificável” e não “reproduzível”
Nos últimos dias, tenho observado o sistema de provas do PLONK; quanto mais vejo, mais sinto que a validação na blockchain reescreveu completamente a lógica.
Primeiro, um problema simples: como confirmar, na cadeia, se um cálculo está correto?
A forma mais direta é “refazer o cálculo” — cada nó executa o mesmo cálculo, e se os resultados forem iguais, então vale. Esse método é burro, mas funciona. O problema é que o custo cresce de forma linear com a quantidade de cálculo: quanto mais complexo o cálculo, maior o ônus para a validação repetida em toda a rede.
O que o PLONK faz é trocar “refazer o cálculo” por “provar algo com tamanho constante”. Não importa quão complexo seja o cálculo, o tamanho da prova que o verificador precisa checar é basicamente constante; a sobrecarga quase não aumenta com o tamanho do cálculo. Isso não é apenas uma otimização: é uma mudança na estrutura de custos desde a base.
━━━━━━━━━━━━━━
Por trás disso está o compromisso polinomial KZG
O PLONK codifica as condições de um circuito inteiro em alguns polinômios. O provador não precisa mostrar os detalhes do cálculo; basta provar que “os valores desses polinômios estão corretos em alguns pontos”. O verificador recebe apenas algumas operações de grupo, que são muito leves de calcular. Uma grande quantidade de rastros de execução é comprimida em algumas validações algébricas concisas.
Há também um projeto-chave: processamento prévio (preprocessing)
A parte do circuito que é pública e fixa pode ser calculada offline com antecedência; não precisa ser refeita a cada verificação. Na validação on-chain, basta lidar apenas com a parte leve relacionada a essa prova específica. É por isso que o PLONK consegue ser “universal e atualizável”: a mesma estrutura pode atender a circuitos de tamanhos diferentes, sem precisar reexecutar a configuração confiável a cada mudança de circuito.
━━━━━━━━━━━━━━
Aplicando ao lado da Dusk: este sistema de provas é chamado diretamente pelo CVM
Depois que a execução do smart contract de privacidade termina, não é como se o resultado fosse jogado para que todos refizessem a validação; em vez disso, ele emite diretamente uma prova — a própria execução é o processo de geração da prova.
Esta é a diferença mais essencial entre “verificável” e “reproduzível”: uma depende de todo mundo se dispor a refazer o cálculo; a outra depende da matemática para que você não precise calcular para confiar.
@Dusk_Foundation $DUSK #dusk
Nos últimos dias, tenho observado o sistema de provas do PLONK; quanto mais vejo, mais sinto que a validação na blockchain reescreveu completamente a lógica.
Primeiro, um problema simples: como confirmar, na cadeia, se um cálculo está correto?
A forma mais direta é “refazer o cálculo” — cada nó executa o mesmo cálculo, e se os resultados forem iguais, então vale. Esse método é burro, mas funciona. O problema é que o custo cresce de forma linear com a quantidade de cálculo: quanto mais complexo o cálculo, maior o ônus para a validação repetida em toda a rede.
O que o PLONK faz é trocar “refazer o cálculo” por “provar algo com tamanho constante”. Não importa quão complexo seja o cálculo, o tamanho da prova que o verificador precisa checar é basicamente constante; a sobrecarga quase não aumenta com o tamanho do cálculo. Isso não é apenas uma otimização: é uma mudança na estrutura de custos desde a base.
━━━━━━━━━━━━━━
Por trás disso está o compromisso polinomial KZG
O PLONK codifica as condições de um circuito inteiro em alguns polinômios. O provador não precisa mostrar os detalhes do cálculo; basta provar que “os valores desses polinômios estão corretos em alguns pontos”. O verificador recebe apenas algumas operações de grupo, que são muito leves de calcular. Uma grande quantidade de rastros de execução é comprimida em algumas validações algébricas concisas.
Há também um projeto-chave: processamento prévio (preprocessing)
A parte do circuito que é pública e fixa pode ser calculada offline com antecedência; não precisa ser refeita a cada verificação. Na validação on-chain, basta lidar apenas com a parte leve relacionada a essa prova específica. É por isso que o PLONK consegue ser “universal e atualizável”: a mesma estrutura pode atender a circuitos de tamanhos diferentes, sem precisar reexecutar a configuração confiável a cada mudança de circuito.
━━━━━━━━━━━━━━
Aplicando ao lado da Dusk: este sistema de provas é chamado diretamente pelo CVM
Depois que a execução do smart contract de privacidade termina, não é como se o resultado fosse jogado para que todos refizessem a validação; em vez disso, ele emite diretamente uma prova — a própria execução é o processo de geração da prova.
Esta é a diferença mais essencial entre “verificável” e “reproduzível”: uma depende de todo mundo se dispor a refazer o cálculo; a outra depende da matemática para que você não precise calcular para confiar.
@Dusk_Foundation $DUSK #dusk
