← Últimos artigos
💻 computer science

A Rust-to-Lean Verification Pipeline with AI Provers: An Experience Report

Este artigo apresenta um pipeline de verificação sólido e verificado pelo kernel que integra ferramentas de extração de Rust para Lean, bibliotecas criptográficas formais e provadores de IA para gerar com sucesso provas de correção verificadas por máquina para código criptográfico de produção em Rust no projeto zkEVM da Ethereum Foundation.

Autores originais: Natalia Klaus, Palina Tolmach, Juan Conejero

Publicado 2026-05-29
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Natalia Klaus, Palina Tolmach, Juan Conejero

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem uma fábrica de alto risco que constrói as chaves digitais para um cofre massivo e invisível (uma Máquina Virtual de Conhecimento Zero). Se até mesmo uma engrenagem minúscula nesta fábrica estiver levemente torta, a segurança de todo o cofre fica comprometida, e ninguém saberá até que seja tarde demais.

Durante anos, verificar essas engrenagens foi como contratar uma equipe de mecânicos especialistas para inspecionar cada parafuso individualmente à mão. É lento, caro e depende de os mecânicos não deixarem passar nada.

Este artigo descreve uma nova linha de montagem automatizada que faz três coisas:

  1. Traduz os projetos da fábrica (escritos em uma linguagem complexa chamada Rust) para uma linguagem matemática universal (Lean 4) que um computador pode entender perfeitamente.
  2. Fornece um "padrão ouro" perfeito e pré-escrito de como a máquina deveria funcionar (usando bibliotecas chamadas ArkLib e CompPoly).
  3. Contrata um assistente de IA superinteligente (chamado Aleph e Aristotle) para comparar os projetos traduzidos com o padrão ouro e escrever a prova de que eles correspondem.

Veja como o processo funciona, usando analogias simples:

1. O Tradutor (Rust para Lean)

Os projetos da fábrica são escritos em Rust, uma linguagem que os engenheiros adoram para construir software rápido e seguro. No entanto, os "juízes matemáticos" (o sistema Lean 4) não falam Rust; eles só falam matemática pura.

O artigo usa ferramentas chamadas Aeneas e Hax como tradutores. Elas pegam o código Rust e o convertem em matemática "funcional pura".

  • A Analogia: Imagine pegar uma receita escrita na gíria de um chef (Rust) e traduzi-la para uma fórmula química estrita, passo a passo (Lean). O tradutor também adiciona "etiquetas de segurança" a cada etapa. Se uma etapa puder falhar (como dividir por zero ou ficar sem ingredientes), a tradução marca isso claramente para que a matemática possa verificar.

2. O Padrão Ouro (As Especificações)

Você não pode provar que uma máquina funciona a menos que tenha uma definição de "funcionar".

  • A Analogia: Pense em ArkLib e CompPoly como o "Manual Oficial" para criptografia. Eles contêm definições perfeitas e abstratas de como coisas como "dobrar um papel" (dobramento FRI) ou "verificar uma árvore Merkle" devem se comportar matematicamente.
  • O objetivo é provar que o código Rust traduzido (a máquina da fábrica) faz exatamente o que o Manual diz que deve fazer, nem mais nem menos.

3. O Escritor de Provas por IA (O "Cérebro")

Esta é a parte mais emocionante. Uma vez que o código é traduzido e o manual está pronto, você precisa escrever uma prova de que eles correspondem. Tradicionalmente, um matemático humano tinha que escrever essa prova, o que é como resolver um quebra-cabeça massivo e complexo.

O artigo introduz Provers por IA (Aleph e Aristotle) para fazer o trabalho pesado.

  • A Analogia: Imagine a IA como um detetive incansável e super-rápido. Você lhe dá o projeto traduzido e o manual, e ela diz: "Vejo a conexão! Aqui está a prova."
  • Verificação de Segurança Crucial: A IA não apenas diz que está certa; ela escreve a prova em uma linguagem que o Kernel Lean (o juiz supremo) pode ler. O Kernel verifica cada passo da lógica da IA. Se a IA chutar errado, o Kernel a rejeita. Portanto, a IA pode ser criativa, mas não pode trapacear.

O Que Eles Realmente Fizeram

A equipe aplicou esse pipeline a código criptográfico do mundo real usado em projetos da Fundação Ethereum (especificamente Plonky3 e RISC Zero).

  • O Sucesso: Eles provaram com sucesso que partes específicas do código (como calcular como dobrar dados ou verificar se uma árvore está incluída corretamente) eram matematicamente perfeitas.
  • O Papel da IA: Em um exemplo específico envolvendo uma função chamada compute_log_arity_for_round, a IA (Aleph) escreveu automaticamente duas provas complexas que anteriormente estavam travadas (marcadas como "sorry", significando "sabemos que é verdade, mas ainda não provamos").
  • O Papel Humano: A IA foi ótima em lidar com quebra-cabeças lógicos, cenários "se-então" e matemática básica. No entanto, ainda precisava de humanos para:
    • Projetar a estratégia geral (o "Manual").
    • Lidar com loops complexos (como encontrar o padrão certo em uma sequência repetitiva).
    • Corrigir erros de tradução onde o código Rust era muito complicado para o tradutor lidar.

Os Tropiços (Lacunas de Engenharia)

O artigo admite que a linha de montagem ainda não é perfeita.

  • Incompatibilidade de Versão: Os tradutores, os manuais e a IA falam ligeiramente diferentes "dialetos" da linguagem matemática. A equipe teve que coordenar para colocar todos na mesma versão.
  • Limites de Tradução: Alguns recursos complexos do Rust (como tipos genéricos ou bibliotecas externas) são difíceis para os tradutores converterem. A equipe teve que reescrever algum código em um "modelo" mais simples apenas para que o tradutor pudesse entendê-lo.

A Conclusão

Este artigo não afirma que a IA substituiu os engenheiros humanos. Em vez disso, mostra um pipeline onde:

  1. Humanos traduzem o código e definem os objetivos.
  2. A IA atua como um assistente poderoso para escrever as provas lógicas tediosas.
  3. Um juiz estrito de computador (o Kernel) verifica tudo para garantir a segurança.

O resultado é um sistema funcional que transforma código criptográfico de nível de produção em provas verificadas por máquina e garantidas matematicamente, tornando o "cofre invisível" significativamente mais seguro.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →