Prova de Existência em Software: Um Guia para Iniciantes
O que realmente significa provar que um software existiu em um momento específico? Se você já precisou demonstrar “eu construí isso antes de você” sem revelar seu código-fonte, a resposta está em um conceito chamado prova de existência. Este guia explica a ideia, esclarece equívocos comuns e mostra como o Timestamp GIT a transforma em um GitHub App de configuração zero.
O Que É Prova de Existência em Software?
Prova de existência é uma evidência criptográfica de que um dado digital específico existiu em um ponto específico no tempo. Em software, esse dado geralmente é um hash de commit do Git. O processo funciona assim:
- Criando um hash unidirecional dos dados — uma impressão digital criptográfica.
- Ancorando essa impressão digital em um livro-razão público imutável, a blockchain do Bitcoin.
- Armazenando um recibo que permite a qualquer pessoa verificar a âncora de forma independente.
Diferentemente de logs internos, e-mails ou timestamps comuns de controle de versão, a prova criptográfica não depende de uma pessoa ou servidor ser honesto. A evidência vive na blockchain pública do Bitcoin, onde a matemática pode ser verificada por qualquer pessoa.
A prova de existência também é uma ferramenta fundamental para estabelecer estado da técnica em disputas de propriedade intelectual. Se um troll de patentes alegar que sua técnica é dele, um timestamp ancorado no Bitcoin pode mostrar que você já tinha a implementação meses ou anos antes.
Uma Analogia Simples: O Cartório para o Seu Código
Pense em um cartório tradicional. Você assina um documento, o tabelião observa e então o carimba com um selo oficial e uma data. Mais tarde, qualquer pessoa pode olhar o carimbo e saber que o documento existia naquela data.
A prova de existência faz o mesmo para dados digitais:
- Impressão digital — O hash do seu commit Git é uma impressão digital única do estado exato do seu repositório naquele momento.
- Âncora — A impressão digital é registrada na blockchain do Bitcoin, como o registro oficial de um cartório.
- Prova — Você recebe um arquivo de recibo
.ots, como um certificado notarial que qualquer pessoa pode verificar.
A diferença fundamental: ninguém precisa confiar no servidor ou banco de dados do cartório. O livro-razão público do Bitcoin torna o registro imutável.
Como Funciona nos Bastidores (Resumidamente)
Nos bastidores, a prova de existência para software segue três etapas:
- Impressão digital — O Git gera um hash unidirecional do estado exato do repositório. Esse hash é o compromisso.
- Âncora — O Timestamp GIT extrai apenas os hashes dos commits, agrupa-os diariamente e cria uma árvore de Merkle. A raiz de Merkle é então ancorada em uma transação Bitcoin usando o protocolo OpenTimestamps.
- Prova — Assim que o bloco Bitcoin é confirmado, você recebe um arquivo de recibo
.otsimutável. Qualquer pessoa pode verificá-lo usando ferramentas padrão de verificação OpenTimestamps contra a blockchain do Bitcoin.
Veja como um hash de commit aparece localmente:
# O hash do seu commit Git é uma impressão digital unidirecional do estado completo do repositório
git rev-parse HEAD
# Exemplo de saída: 7c2f0a9b3e8d4f1c6a5b9c0d1e2f3a4b5c6d7e8f
O Timestamp GIT automatiza todo esse pipeline. Você instala o GitHub App uma vez, e cada commit em um repositório monitorado recebe sua impressão digital e é ancorado automaticamente todas as noites. Não há ferramentas de CLI, nem comandos manuais do OpenTimestamps, nem configuração de carteira Bitcoin. O produto é um serviço gerenciado que oculta o protocolo por trás de uma integração com o GitHub.
O conhecimento zero é incorporado: o Timestamp GIT nunca vê, copia ou armazena seu código-fonte. Ele processa apenas hashes de commit. No modo Enterprise ZK, até mesmo o hash do commit é enviado da sua própria infraestrutura por um GitHub Action, de modo que nenhum acesso de leitura ao repositório de origem é necessário.
A verificação é independente. Você pode baixar o recibo .ots e verificá-lo contra a blockchain do Bitcoin por conta própria, mesmo que o Timestamp GIT desapareça.
Por Que a Prova de Existência Importa: Equívocos Comuns
Equívoco 1: “Meu histórico do Git é suficiente.”
O histórico do Git é útil para o desenvolvimento, mas vive em servidores que você não controla totalmente. Commits do Git podem ser reescritos, datas podem ser alteradas e logs internos são frequentemente descartados em auditorias legais como autointeressados ou manipuláveis. A prova de existência ancora um hash em uma blockchain pública, tornando a linha do tempo matematicamente verificável.
Equívoco 2: “Preciso publicar meu código para provar estado da técnica.”
Não. A impressão digital é um hash unidirecional. O Timestamp GIT nunca vê seu código-fonte, e a prova não o revela. Você pode estabelecer estado da técnica sem publicar seu código ou protocolar documentos públicos.
Equívoco 3: “Timestamps em blockchain são apenas para criptomoedas.”
O valor principal do Bitcoin para desenvolvedores de software não é a moeda. É um livro-razão público e imutável. As mesmas propriedades que impedem o gasto duplo também tornam o Bitcoin ideal para datar qualquer dado digital. Sua prova é incorporada aos dados de bloco do Bitcoin, tornando-a globalmente verificável e permanente.
Cenários do mundo real em que a prova de existência importa:
- Defender-se contra trolls de patentes mostrando que você implementou uma técnica antes do depósito de uma patente
- Provar quando um recurso foi concebido em uma disputa entre funcionários
- Estabelecer cronogramas de desenvolvimento em sala limpa quando um concorrente alega invenção independente
- Proteger segredos comerciais sem publicá-los
Como Obter Prova de Existência para o Seu Código com o Timestamp GIT
Este é o fluxo de trabalho principal:
- Instale o GitHub App Timestamp GIT no seu repositório. Esta é uma configuração única.
- Continue fazendo commits normalmente. O GitHub App detecta novos commits automaticamente via webhooks.
- Todas as noites, o Timestamp GIT agrupa os hashes dos seus commits, cria uma árvore de Merkle e ancora a raiz de Merkle na blockchain do Bitcoin.
- As provas são entregues em uma branch dedicada ou repositório sombra. Você pode exibir um selo de verificação no seu README para mostrar que seus commits estão ancorados.
# Após instalar o GitHub App, seu fluxo de trabalho normal permanece inalterado
git add .
git commit -m "Adicionar exemplo de prova de existência"
git push origin main
Se você precisar de isolamento máximo, o modo Enterprise ZK executa um GitHub Action na sua infraestrutura que envia apenas o hash do commit para a API do Timestamp GIT. Acesso zero ao código significa que seu código-fonte nunca sai do seu ambiente.
Para ambientes isolados ou regulamentados, o Timestamp GIT também está disponível como uma imagem Docker auto-hospedada. Isso permite executar a mesma automação dentro da sua própria infraestrutura.
Perguntas Frequentes
Qual é a diferença entre prova de existência e prova de autoria?
A prova de existência estabelece que um artefato digital específico, como um hash de commit Git, existiu em um determinado momento. A prova de autoria vincula adicionalmente esse artefato a uma pessoa ou entidade específica. O Timestamp GIT fornece prova de existência; a autoria pode ser inferida a partir do repositório e dos metadados do commit.
A prova de existência pode ser verificada sem confiar no Timestamp GIT?
Sim. A prova é baseada no protocolo OpenTimestamps e na blockchain do Bitcoin. Você pode baixar o recibo .ots e verificá-lo de forma independente usando ferramentas padrão de verificação OpenTimestamps contra a blockchain do Bitcoin. O Timestamp GIT não precisa estar envolvido na verificação.
A prova de existência exige revelar meu código-fonte?
Não. O Timestamp GIT processa apenas hashes de commit do Git, que são impressões digitais unidirecionais. Seu código-fonte nunca sai do seu repositório. No modo Enterprise ZK, até mesmo o hash do commit é enviado da sua infraestrutura, garantindo acesso zero ao código.
Quanto tempo leva para obter uma prova após um commit?
O Timestamp GIT agrupa commits diariamente e os ancora na blockchain do Bitcoin. A confirmação normalmente leva algumas horas após o lote diário. Você recebe o recibo .ots assim que a âncora é confirmada.
Quanto custa o Timestamp GIT?
O Timestamp GIT oferece um plano Open Source para repositórios públicos, um plano Pro Agency para repositórios privados e um plano Enterprise ZK para o modo de conhecimento zero baseado em GitHub Actions. Uma licença Docker auto-hospedada também está disponível para equipes que precisam executar o serviço em sua própria infraestrutura.
E se eu quiser verificar o timestamp de um commit específico?
O Timestamp GIT fornece um painel público para cada repositório monitorado, incluindo longevidade, datas de ancoragem, dados de bloco do Bitcoin e certificados CSV e PDF de auditoria para download. Você também pode usar os endpoints da API para status, verificação e relatórios. Para um passo a passo mais aprofundado, consulte o artigo relacionado sobre como verificar timestamps de commits do Git.
Conclusão
A prova de existência em software não é mágica. É a combinação de uma impressão digital unidirecional, um livro-razão público imutável e um recibo verificável de forma independente. As alternativas tradicionais — logs do Git, timestamps de servidor e trilhas de e-mail — são frágeis em um contexto legal. Uma prova ancorada no Bitcoin é matematicamente muito mais forte.
O Timestamp GIT transforma esse conceito em um produto que você pode instalar uma vez e esquecer. O GitHub App monitora seu repositório, agrupa hashes de commits à noite e devolve recibos .ots sem nunca ler seu código-fonte. Se você quer provar quando seu código existiu, instale o Timestamp GIT e conecte seu repositório.
Posts relacionados
- Como Verificar os Timestamps dos Seus Commits Git
- Defenda Seu Software Contra Trolls de Patentes com Timestamps
- OpenTimestamps vs Timestamp GIT: Qual É o Ideal para o Seu Código?