DR: Os planos atuais de migração PQC pressupõem que devemos verificar assinaturas pós-quânticas – seja na cadeia (kilobytes por tx) ou dentro de circuitos ZK (milhões de restrições). Apresentamos uma alternativa: provar semântica de autorização diretamente no ZK, sem nenhum objeto de assinatura. Resultado: 4.024 restrições R1CS, provas de 128 bytes, tempo de prova de 52 ms. A construção é independente do sistema de prova (Groth16, PLONK, STARKs funcionam) e pode ser implantada hoje como um módulo validador AA – sem necessidade de alterações de protocolo.


Motivação: O data wall PQC

A comunidade tem explorado ativamente os caminhos de migração do PQC (13) e a tensão central é bem conhecida:

Esquema Tamanho da assinatura Chave Pública Total por TX
ML-DSA-44 (Nível 2) 2.420 bilhões 1.312 bilhões 3.732 bilhões
ML-DSA-65 (Nível 3) 3.309 bilhões 1.952 bilhões 5.261 bilhões
ML-DSA-87 (Nível 5) 4.627 bilhões 2.592 bilhões 7.219B
SLH-DSA-128f 17.088 bilhões 32B 17.120 bilhões
FN-DSA-512 ~666B 897B 1.563 bilhões
Ed25519 (clássico) 64B 32B 96B

Isso é um 30-60x aumento nos dados de autorização por transação. Em arquiteturas rollup em que o espaço calldata/blob tem preço explícito, esse é um problema de escalabilidade de primeira ordem.

A solução “óbvia” e por que é cara

A resposta natural é: verificar as assinaturas PQ dentro dos circuitos ZK, postar apenas a prova sucinta na cadeia.

O problema: a verificação de assinatura baseada em rede requer NTTs em anéis polinomiais de grau 256 em \mathbb{Z}_q (q = 2^{23} – 2^{13} + 1), emulado em um campo de sistema de prova de aproximadamente 254 bits. Limites inferiores estruturais:

Verificação no circuito Restrições R1CS Custo dominante
Verificação ML-DSA-44 ≥ 2 milhões 4×4 NTTs + mod não nativo. arith.
Verificação ML-DSA-65 ≥ 4 milhões 6×5 NTTs + mod não nativo. arith.
Verificação FN-DSA-512 ≥ 1 milhão FFT + Gram-Schmidt + mod. arith.
Verificação SLH-DSA ≥ 5 milhões WOTS+ correntes + árvores Merkle
Verificação ECDSA (clássica) ~1,5 milhões mul escalar. + mod. inverso

Mesmo com gadgets otimizados, estamos buscando milhões de restrições apenas para provar que “esta assinatura é válida”.

Observação principal: autorização ≠ assinaturas

O problema é o seguinte: na camada de consenso, os blockchains na verdade não exigem verificação de um determinado objeto de assinatura. O que o consenso exige é a garantia de que uma transação foi autorizada pela entidade correta.

As assinaturas são um artefato de implementação para expressar autorização – não a autorização em si. Estamos confundindo os dois.

ZK-ACE: autorização centrada na identidade

Nós apresentamos ZK-ACE (Autorização de Conhecimento Zero para Entidades Criptográficas), que leva esta observação à sua conclusão lógica:

Não verifique assinaturas em ZK. Não comprima assinaturas. Elimine totalmente os objetos de assinatura do caminho de autorização.

Em vez disso, a rede armazena um pacote compacto compromisso de identidade (32 bytes):

$$ID_{com} = H(REV | salt | domínio)$$

onde REV. é uma raiz de identidade de 256 bits derivada de uma primitiva determinística de derivação de identidade (DIDP). Cada transação traz uma prova ZK atestando:

  1. (C1) Consistência do compromisso: Prover conhece uma pré-imagem de ID_{com}
  2. (C2) Correção de derivação: Um hash de ligação ao alvo é consistente com a derivação de chave determinística sob a raiz de identidade
  3. (C3) Vinculação de autorização: a raiz da identidade autorizou este específico TxHash
  4. (C4) Anti-repetição: O compromisso Nonce ou anulador é derivado corretamente
  5. (C5) Separação de domínio: todas as vinculações usam a tag de cadeia/domínio declarada

Todo o circuito é 5 invocações de hash Poseidon + restrições de igualdade. Sem aritmética de rede. Nenhuma lógica de verificação de assinatura. Nenhuma emulação de campo não nativo.

Benchmarks (implementação de referência)

Implementação: arkworks + Groth16 sobre BN254, Poseidon (t=3, \alfa=178 rodadas completas + 57 rodadas parciais).

Tamanho do circuito:

Restrição Entradas Chamadas hash R1CS
(C1) Consistência do compromisso 3 1 805
(C2) Correção de derivação 4+1 2 1.200
(C3) Vinculação de autorização 7 1 1.615
(C4) Prevenção de repetição 2 1 400
(C5) Domínio set. + impor_equal 4
Total 5 4.024

Ambos os modos de reprodução (registro sem uso e conjunto de anulador) produzem contagens de restrições idênticas.

Desempenho (threaded único, Apple M3 Pro, Criterion.rs, 100 amostras):

Operação Mediana IC 95%
Configuração confiável (única) 45,6ms (45,4, 45,8) ms
Provar (por transação) 52,3ms (51,5, 53,4) ms
Verificar (por transação) 604 μs (600, 608) μs

Tamanho da prova:

Codificação Prova Contribuições públicas Dados totais de autenticação
Groth Comprimido16 128B 160 V (5 × 32 V) 288B

Compressão vs. assinaturas PQ:

Esquema PQ sig+pk ZK-ACE Redução
ML-DSA-44 (Nível 2) 3.732 bilhões 288B 13x (92,3%)
ML-DSA-65 (Nível 3) 5.261 bilhões 288B 18x (94,5%)
ML-DSA-87 (Nível 5) 7.219B 288B 25x (96,0%)
SLH-DSA-128f 17.120 bilhões 288B 59x (98,3%)

Comparação de restrições (o resultado principal):

Abordagem Restrições R1CS
ZK-ACE (este trabalho) 4.024
Verificação ML-DSA-44 no circuito ≥ 2.000.000
Verificação ECDSA no circuito ~1.500.000

Isso é um ~500x redução de restrições – não da otimização da verificação de assinaturas, mas de não fazendo nada.

Implantação: módulo validador AA

ZK-ACE foi projetado como um Módulo validador ERC-4337. Em uma carteira AA:

  • A lógica de validação da conta invoca a verificação ZK-ACE em vez de verificar uma assinatura clássica ou PQ
  • A geração de prova acontece no lado do cliente (~52 ms)
  • O empacotador transporta provas + entradas públicas (não confiável, não aprende nada)
  • A verificação on-chain custa aproximadamente 604 μs por prova

Isso significa nenhuma alteração no nível do protocolo é necessária. O ZK-ACE pode ser implantado na infraestrutura existente.

Sistema de prova agnóstico por design

Uma importante propriedade de design: ZK-ACE é um modelo de autorização em nível de protocolo, não uma construção específica de sistema de prova. As cinco restrições (C1)–(C5) são declaradas em avaliações abstratas de hash e verificações de igualdade. Eles podem ser instanciados com:

Sistema de prova Configurar Tamanho da prova Troca
Groth16 (referência impl.) Confiável (por circuito) 128B Menor prova, verificação mais rápida
Taxa de câmbio PLONK Universal (único) ~400–600B Nenhuma configuração por circuito
STARKs / SEX Transparente (nenhum) ~40–100KB Nenhuma configuração confiável, plausivelmente segura para PQ
À prova de balas / IPA Transparente ~700 bilhões Sem configuração, maior custo de verificação

Os benchmarks acima usam Groth16 porque fornece os números mais restritos, mas o protocolo não depende disso. Em particular, uma instanciação STARK tornaria todo o pipeline de autorização plausivelmente pós-quântico também na camada de prova — sem configuração confiável, sem suposições de emparelhamento, apenas solidez baseada em hash. Os compromissos de identidade são independentes do sistema de prova (são apenas saídas de hash), então a migração de um sistema de prova para outro não requer rotação de identidade ou novo registro.

As reduções de segurança no artigo são declaradas genericamente em termos de vantagem em termos de solidez do conhecimento \text{Adv}^{ks} e são compatíveis com qualquer back-end que satisfaça integridade, solidez do conhecimento, conhecimento zero e vinculação de entrada pública.

Primitivo assumido: DIDP

ZK-ACE assume um Primitiva de Derivação de Identidade Determinística (DIDP) como uma caixa negra — qualquer quadro que forneça:

  • Derivação de chave determinística de uma raiz de alta entropia
  • Isolamento de contexto entre caminhos de derivação
  • Dureza de recuperação de raiz de identidade

Isso é não vinculado a qualquer construção específica. Um simples HKDF(root, context) satisfaz a interface. Fornecemos ACE-GF como uma instanciação; qualquer KDF com separação de domínio funciona.

Segurança

Quatro definições de segurança baseadas em jogos com provas baseadas em redução sob suposições padrão:

  • Solidez da autorização → reduz a solidez do conhecimento + resistência à colisão + dureza de recuperação DIDP
  • Resistência à repetição → reduz a solidez da autorização + aplicação do verificador
  • Resistência à substituição → reduz a vinculação de entrada pública do sistema de prova
  • Separação entre domínios → reduz a resistência à colisão + ligação de entrada pública

Provas completas no papel.

O que isso NÃO é

Para ser explícito:

  • Não Verificação ZK de assinaturas PQ (não verificamos nenhuma assinatura dentro do circuito)
  • Não compactação de assinatura (eliminamos assinaturas, não as reduzimos)
  • Não um novo esquema de assinatura
  • Não dependente de qualquer estrutura de identidade específica

É um mudança no que provamos: de “esta assinatura é válida” para “esta identidade autorizou esta transação”.

Relação com discussões existentes

Este trabalho se conecta ao discurso contínuo da migração do PQC:

Todas essas abordagens preservam o modelo centrado na assinatura. ZK-ACE pergunta: e se não o fizermos?


Papel: ZK-ACE: Autorização de Conhecimento Zero Centrada em Identidade para Sistemas Blockchain Pós-Quantum

Implementação de referência: github.com/ya-xyz/zk-ace

Fontesethresear

By victor

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *