Verificando TEE Onchain com RiscZero zkVM
À medida que a tecnologia blockchain evolui, a necessidade de maior privacidade, segurança e verificabilidade se torna cada vez mais…
Verificando TEE Onchain com RiscZero zkVM

À medida que a tecnologia blockchain evolui, a necessidade de maior privacidade, segurança e verificabilidade se torna cada vez mais crucial. Os Trusted Execution Environments (TEEs) oferecem uma solução promissora para esses desafios, proporcionando um enclave seguro para o processamento de dados sensíveis. Já vimos muitas combinações de TEEs e outros elementos criptográficos, como:
- Block Builder Descentralizado e Cadeia de Suprimento MEV: Projetos como o Flashbots SUAVE buscam utilizar TEE para garantir que a construção de blocos seja tanto descentralizada quanto segura, colocando o construtor de blocos dentro de um TEE.
- TEE como Defesa em Profundidade para zkRollups e MPC/FHE: Projetos como ZAMA, Taiko, Scroll e IoTeX W3bstream estão explorando o uso de TEEs para melhorar a segurança de suas operações criptográficas, usando um TEE como uma camada extra de proteção (tipo uma segunda etapa de verificação, ou 2FA).
- IA Descentralizada: Colocando um modelo de IA dentro de um TEE, podemos garantir que o processo de treinamento e inferência do modelo permaneça verificável e preservando a confidencialidade. Um sistema de IA descentralizado baseado em TEE pode permitir que partes não confiáveis colaborem, contribuam e monetizem modelos de IA de código aberto.
Atestado Remoto Permite Computação Verificável
TEEs são projetados para garantir a confidencialidade e integridade do software executado dentro deles, proibindo o acesso do sistema operacional host ou até mesmo do proprietário físico. Quando implementado corretamente, o hardware assegura a correção e a confidencialidade do programa em execução.
O TEE convence os usuários de que seu aplicativo está realmente rodando dentro de um TEE genuíno por meio de um protocolo chamado Remote Attestation. Ele garante que:
- O hardware é um TEE genuíno;
- O software implantado no TEE não foi modificado;
- É possível estabelecer um canal de comunicação seguro entre o usuário e o software.
Com o Remote Attestation, tarefas complexas de computação podem ser transferidas para o TEE, mas verificadas onchain (na blockchain).
Fluxo de Trabalho do Remote Attestation
O atestado é implementado assinando uma mensagem com a medição do programa e do ambiente, usando uma chave especial conhecida apenas pelo hardware. O atestado é verificado quando a assinatura da mensagem é criptograficamente verificada.
Os protocolos de atestado variam de acordo com os diferentes fornecedores de processadores. Neste artigo, vamos falar sobre o DCAP, o protocolo usado pelo Intel SGX, o TEE mais popular. Vamos detalhar o fluxo de trabalho do atestado remoto passo a passo.

- Geração do Relatório
- Quando um usuário envia uma solicitação de atestado remoto para o Intel SGX, um relatório é gerado dentro do enclave, medindo o hash do programa e as informações do hardware.
- O relatório é então assinado pelo TEE com a chave privada de atestado.
- O relatório é enviado ao verificador para verificação.
- Preparação de Colateral
- Antes de verificar o relatório, o verificador precisa buscar o colateral de verificação (as informações necessárias para verificar o relatório) da Intel.
- O colateral inclui a chave pública para verificar o relatório, bem como outras informações como a versão do hardware e se o TEE está atualizado.
- O colateral é assinado pela Intel. A assinatura é verificada para garantir a integridade do colateral.
- Verificação
- O verificador então compara o relatório com o colateral de verificação para determinar se o relatório é válido e se o hardware está livre de bugs.
- Quando se usa TEE onchain, a verificação deve acontecer onchain.
Como Utilizamos o RiscZero zkVM para Tornar o Atestado Confiável
Verificar o Remote Attestation é um desafio, especialmente no Ethereum:
- Falta de Primitivas Criptográficas: O EVM (Ethereum Virtual Machine) não tem suporte para algumas primitivas criptográficas nativas necessárias para a verificação de quotes, especialmente a verificação de assinaturas P256.
- Altos Custos de Gas: Verificar quotes de atestado no Ethereum é extremamente caro porque requer cálculos complexos, como o parsing de certificados X.509 e a iteração através de dados de colateral.
O Papel do RiscZero zkVM
Em vez de verificar o quote diretamente no Ethereum, podemos usar o zkVM do RiscZero para lidar com a verificação do quote offchain (fora da blockchain) e apenas submeter a prova onchain. Veja como funciona:
- Verificação de Quote Off-Chain:
- O zkVM do RiscZero pode executar o processo de verificação do quote usando bibliotecas completas de Rust. Isso inclui acesso fácil a bibliotecas de certificados JSON, WebPKI e bibliotecas criptográficas.
- Ao executar a verificação do quote com DCAP no zkVM do RiscZero, garantimos que o processo seja seguro e eficiente. O zkVM atua como parte do código convidado, lidando com as complexidades da verificação.
- Gerando Prova com STARK e SNARK:
- Nos bastidores, o zkVM do RiscZero usa um provador STARK para validar o programa de verificação. Isso é então convertido em uma prova SNARK, especificamente uma prova zk Groth16, que é muito barata de verificar onchain.
- Essa abordagem reduz significativamente o fardo computacional e os custos de gas associados à verificação onchain, consumindo apenas cerca de 30 mil de gas para a verificação da prova.
- Verificação Onchain por Smart Contracts:
- Uma vez gerada a prova SNARK, ela pode ser submetida a um verificador groth16 implantado pelo RiscZero no Ethereum para verificação.

Benefícios Após Mover a Verificação de TEE para Onchain
- Menor Dependência da Intel: Embora ainda dependamos do Intel Provisioning Certification Service (PCS) para fornecer cache de colateral de certificação, isso não introduz nenhuma suposição de confiança para a Intel. O PCS pode ser executado em qualquer lugar, inclusive onchain, garantindo que o processo de certificação permaneça descentralizado e sem confiança.
- Verificação Sem Confiança: Usando o zkVM do RiscZero e gerando provas SNARK, as fases de verificação são conduzidas de maneira que não dependa de nenhuma autoridade centralizada. Isso garante que a integridade do atestado TEE seja mantida sem dependências externas.
Trabalhos Futuros
- Atualmente, a prova é gerada localmente. Vamos oferecer uma opção para os workers gerarem a prova através do RiscZero Bonsai, o que reduzirá o tempo de geração da prova.
- Suporte para Remote Attestation V4 com suporte ao Intel TDX.
Este artigo é uma tradução de: https://phala.network/posts/verifying_tee_onchain_with_risczero_zkvm
메타데이터
- post_id
- 83f1654b2df4
- slug
- verificando-tee-onchain-com-risczero-zkvm-83f1654b2df4
- url
- https://medium.com/@phalaportugues/verificando-tee-onchain-com-risczero-zkvm-83f1654b2df4
- canonical_url
- https://medium.com/@phalaportugues/verificando-tee-onchain-com-risczero-zkvm-83f1654b2df4
- author_url
- https://medium.com/@phalaportugues
- status
- ok
- fetched_at
- 2026-06-20 20:29:01