UnB 2026.1 · Tópicos em Engenharia

CFTV + Bitcoin

Cadeia de custódia verificável para vídeos CFTV usando OpenTimestamps e Bitcoin.

Vídeo CFTV
Manifesto assinado
Prova temporal em Bitcoin

Problema

Armazenar vídeo não prova cadeia de custódia

  • CFTV pode ser usado como evidência em auditorias e perícias.
  • Armazenamento centralizado depende de confiar no operador.
  • O vídeo pode ser contestado por alteração, remoção ou reordenação.

Ideia central

Bitcoin como timestamp, não como banco de dados

O vídeo permanece off-chain. A blockchain recebe apenas uma prova temporal de um compromisso criptográfico do pacote.

Vídeo privado
Hash do manifesto
OpenTimestamps
Bitcoin

Arquitetura

Fluxo do pacote verificável

O pacote combina hashes, sequência temporal, assinatura digital e prova .ots.

Segmentador
Hashes SHA-256
Manifesto
Assinatura RSA
Verificador

OpenTimestamps

Prova de existência temporal

  • Gera prova .ots para o manifesto.
  • Agrega compromissos criptográficos.
  • Ancora a prova em bloco Bitcoin.
  • Permite verificação posterior por terceiro independente.

Implementação

Protótipo em Python

  • segment_video.py: divide o vídeo em segmentos.
  • create_package.py: gera manifesto e assinatura.
  • stamp_manifest.py: cria prova OpenTimestamps.
  • verify_package.py: verifica integridade e adulterações.

Mini calendar local

Merkle tree didática

O mini calendar demonstra agregação por Merkle tree e prova JSON de inclusão. Ele complementa, mas não substitui, o OpenTimestamps.

Hashes do pacote
Lote local
Merkle root
OP_RETURN no regtest

Experimentos

Pacote íntegro passa, adulterações falham

INTEGROPacote original validado.
INVÁLIDOSegmento com bytes alterados.
INVÁLIDOSegmento removido.
INVÁLIDOManifesto alterado ou reordenado.

Limitações

O que a prova não resolve

  • Não prova que a câmera estava fisicamente protegida.
  • Não prova a verdade semântica do conteúdo filmado.
  • Depende de boa gestão da chave privada do dispositivo.
  • A confirmação final em Bitcoin pode demorar.

Conclusão

Bitcoin como camada pública de confiança mínima

O projeto demonstra uma cadeia de custódia leve para vídeos CFTV, com integridade, assinatura, anterioridade temporal e verificação independente sem armazenar vídeo na blockchain.

cftv.vilarins.cloud