← Back to list

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…

PHALA NETWORK PORTUGUÊS · 2024-08-23 19:36 · 0 claps · 4.3 min read
#tees #zks #zkevm #dcap #sgx
Open on Medium ↗
Wiki topics: CRY · Crypto & Web3

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.

  1. 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.
  1. 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.
  1. 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