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