Timestamp GIT Secure your prior art without exposing code

← Todos os artigos

2026-08-23

Prova de Existência em Software: Um Guia para Iniciantes

Prova de Existência em Software: Um Guia para Iniciantes
timestamp git blockchain proof

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:

  1. Impressão digital — O Git gera um hash unidirecional do estado exato do repositório. Esse hash é o compromisso.
  2. Â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.
  3. Prova — Assim que o bloco Bitcoin é confirmado, você recebe um arquivo de recibo .ots imutá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:

  1. Instale o GitHub App Timestamp GIT no seu repositório. Esta é uma configuração única.
  2. Continue fazendo commits normalmente. O GitHub App detecta novos commits automaticamente via webhooks.
  3. 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.
  4. 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

EU label: AI-generated content