Timestamp GIT Secure your prior art without exposing code

← Todos os artigos

2026-09-28

O que é Prova de Existência para Código de Software?

O que é Prova de Existência para Código de Software?
timestamp git blockchain proof

O Que É Prova de Existência para Código de Software?

Para desenvolvedores e equipes de conformidade, “prova de existência” não se trata de provar propriedade ou autoria. Ela responde a uma única pergunta objetiva: este código exato existia neste momento específico? Em um mundo onde o histórico do Git pode ser reescrito, os carimbos de data/hora dos arquivos podem ser alterados e os logs internos são frequentemente descartados como tendenciosos, a prova de existência para código de software significa ancorar uma impressão digital criptográfica do seu trabalho em um registro público imutável.

Este artigo explica o que significa prova de existência, como ela funciona internamente e como o Timestamp GIT a transforma em um fluxo de trabalho do GitHub sem configuração.

O Que “Prova de Existência” Significa para Código?

Prova de existência para código de software é a capacidade de demonstrar que um trecho específico de código — ou, mais precisamente, um hash criptográfico desse código — existia em um momento específico.

Esse último ponto é importante. Você não precisa publicar seu código-fonte e não precisa enviá-lo a terceiros. Em vez disso, você cria uma impressão digital unidirecional do estado do repositório e registra essa impressão digital em algum lugar público e resistente a adulterações.

Para entender a diferença:

  • Prova de existência mostra que um determinado estado de código existia em uma determinada data.
  • Prova de autoria mostra quem criou ou fez commit daquele código.
  • Prova de propriedade é uma conclusão jurídica baseada em autoria, contratos de trabalho, cessões ou outras evidências.

Um carimbo de data/hora ancorado em blockchain não prova que você escreveu o código. Ele prova que o código existia naquele momento. Em muitas disputas, essa distinção é suficiente — porque se sua implementação existia antes do pedido de patente ou da alegação de outra pessoa, a linha do tempo se torna matematicamente ancorada.

Veja como a impressão digital se parece no Git:

# O Git cria uma impressão digital única para o estado exato do repositório
git rev-parse HEAD
# 6f1ed002ab5595859012f3f9b6b4c2b1e1c9a2e5

Esse hash representa o estado completo do repositório no momento do commit. Altere um byte e o hash muda completamente. O hash em si não pode ser revertido para revelar seu código-fonte.

Uma Analogia Simples: O Cartório e o Cofre

Imagine que você entra em um cartório com um envelope lacrado. O tabelião não o abre. Em vez disso, ele registra a data, coloca um carimbo na parte externa e assina um registro em livro. Anos depois, você pode abrir o envelope no tribunal e mostrar que o conteúdo existia naquela data, porque o registro do cartório é independente e à prova de adulteração.

A prova de existência para software funciona da mesma forma, exceto que o “envelope” é um hash criptográfico e o “cartório” é o blockchain do Bitcoin.

  • Você mantém o código privado. O cartório — neste caso, o serviço de carimbo de data/hora e o registro público — vê apenas a impressão digital.
  • O registro é independente. O blockchain do Bitcoin é um registro público que nenhum fornecedor controla. Uma vez que uma transação é confirmada em um bloco, alterar esse registro é computacionalmente impraticável.
  • A evidência sobrevive ao fornecedor. Como a prova está ancorada no Bitcoin, você pode verificá-la mesmo que o serviço de carimbo de data/hora desapareça.

Essa analogia ajuda partes interessadas não técnicas a entender por que um carimbo de data/hora em blockchain é diferente de um log interno do Git. Um log interno vive em infraestrutura que você controla ou aluga. Uma prova ancorada no Bitcoin é pública, imutável e independentemente verificável.

Como a Prova de Existência Funciona Internamente

O processo pode ser dividido em três etapas.

Etapa 1: Impressão Digital

O Git já faz a primeira etapa para você. Cada commit recebe um hash único — SHA-1 em versões mais antigas do Git, com suporte a SHA-256 em repositórios mais novos — que cobre o estado completo do repositório naquele ponto.

Esse hash não é o seu código. É um resumo matemático de tamanho fixo. Você não pode reconstruir o código-fonte a partir dele, e o mesmo estado de código sempre produz o mesmo hash.

Etapa 2: Ancoragem

A próxima etapa é ancorar o hash em um registro público. O Timestamp GIT coleta hashes de commit e os agrupa em arquivos de manifesto diários. Ele constrói uma árvore de Merkle a partir desses hashes e cria provas OpenTimestamps. A raiz de Merkle é então ancorada em uma transação do Bitcoin.

Uma vez que essa transação é confirmada em um bloco do Bitcoin, o carimbo de data/hora se torna imutável. Não há botão de excluir, nem substituição administrativa, nem banco de dados proprietário que possa ser editado posteriormente.

O fluxo se parece com isto:

hash do commit -> manifesto diário -> árvore de Merkle -> transação Bitcoin -> recibo .ots

Etapa 3: Prova

O resultado é um recibo criptográfico, normalmente um arquivo .ots. Esse recibo permite que qualquer pessoa verifique o carimbo de data/hora contra o blockchain do Bitcoin usando ferramentas padrão do OpenTimestamps.

Isso é importante: a prova depende de SHA-256 e dos dados de blocos do Bitcoin. Não há dependência do formato ou da infraestrutura de um único fornecedor. Mesmo que o provedor SaaS deixe de existir, a prova permanece verificável.

Fazer isso manualmente com ferramentas brutas do OpenTimestamps é possível, mas significa lidar com calendários, árvores de Merkle e monitoramento de confirmação do Bitcoin por conta própria. Essa complexidade manual é exatamente o que o Timestamp GIT elimina ao automatizar o pipeline por trás de um GitHub App.

Por Que a Prova de Existência Importa para Desenvolvedores e Conformidade

A prova de existência importa porque o tempo é frequentemente a questão central em disputas de propriedade intelectual.

  • Trolls de patentes: Uma defesa comum contra uma patente de software ampla é o estado da técnica. Se você puder mostrar que seu código existia antes da data de depósito, a reivindicação da patente pode ser invalidada. A prova de existência transforma seu repositório privado em um registro de estado da técnica datado e verificável. Para mais detalhes, consulte Como Provar que Seu Código Existia Antes de um Pedido de Patente.
  • Disputas com funcionários e clientes: Quando um desenvolvedor sai ou um cliente questiona quando um marco foi concluído, um hash de commit com carimbo de data/hora é mais forte do que um log de chat exportado ou um histórico do Git editado.
  • Conformidade e governança: Equipes que precisam de trilhas de auditoria para revisões de segurança, due diligence ou governança interna podem mostrar um registro regular e verificável de quando os estados de código existiam.

Também há equívocos comuns a esclarecer.

  • Não é registro de direitos autorais. Um carimbo de data/hora em blockchain não substitui o registro de direitos autorais e, por si só, não prova autoria.
  • Não prova quem escreveu o código. Prova que um determinado hash existia em um determinado momento. A autoria ainda precisa de registros de emprego, metadados de commit ou outras evidências.
  • Não é “apenas um log interno”. O histórico do Git pode ser reescrito, sofrer force-push ou ser perdido. Uma prova ancorada no Bitcoin é externa, pública e matematicamente verificável.

Como o Timestamp GIT Torna a Prova de Existência Sem Esforço

O Timestamp GIT é um SaaS gerenciado e GitHub App que automatiza todo o pipeline de prova de existência. Você não precisa executar comandos do OpenTimestamps, gerenciar calendários ou interagir diretamente com o Bitcoin.

O fluxo de trabalho principal é:

  1. Instale o GitHub App uma vez.
  2. Selecione os repositórios que deseja monitorar.
  3. Continue fazendo commits normalmente.

Toda noite, o Timestamp GIT agrupa automaticamente os hashes de commit pendentes, constrói uma árvore de Merkle, cria provas OpenTimestamps e ancora a raiz de Merkle no blockchain do Bitcoin. Após a confirmação do Bitcoin — normalmente em torno de três horas — os arquivos de manifesto e o recibo .ots são enviados de volta para um branch de timestamps dedicado ou repositório sombra.

Características principais:

  • Zero conhecimento por design. O Timestamp GIT nunca vê, copia ou armazena seu código-fonte. Ele processa apenas hashes de commit.
  • Sem etapas manuais. Não há ferramentas de CLI para instalar nas máquinas dos desenvolvedores e nem transações brutas de Bitcoin para criar.
  • Implantação flexível. O Modo Padrão usa o GitHub App e requer acesso de leitura ao repositório de origem e acesso de leitura e gravação ao repositório de destino. O Modo Enterprise ZK usa um GitHub Action em sua infraestrutura para enviar apenas o hash do commit para a API do Timestamp GIT, de modo que o serviço não precisa de acesso de leitura ao repositório de origem.
  • Verificação pública. Você pode incorporar selos de status no seu README, inspecionar a página de status pública, baixar CSVs de auditoria ou gerar certificados em PDF.
  • Independência de fornecedor. O recibo .ots pode ser verificado offline com ferramentas padrão do OpenTimestamps, mesmo que o Timestamp GIT deixe de operar.

Para ambientes auto-hospedados ou isolados, uma imagem Docker está disponível:

services:
  timestampgit:
    image: rue1401/timestampgit:prod
    ports:
      - "8080:8080"
    volumes:
      - ./data:/app/data
    restart: unless-stopped
  valkey:
    image: valkey/valkey:8
    restart: unless-stopped

Você também pode consultar endpoints públicos de status diretamente, por exemplo:

curl https://timestampgit.dev/api/statusLast/your-org/your-repo

Esse endpoint retorna informações sobre o último bloco do Bitcoin ancorado para um repositório monitorado.

Perguntas Frequentes

A prova de existência é legalmente reconhecida?

Carimbos de data/hora criptográficos são cada vez mais aceitos em tribunais como evidência de estado da técnica. Eles fornecem um registro forte e à prova de adulteração que pode ser verificado de forma independente. No entanto, o reconhecimento legal varia conforme a jurisdição, e é aconselhável consultar um advogado para casos específicos.

A prova de existência revela meu código-fonte?

Não. A prova de existência usa hashes criptográficos, que são funções unidirecionais. O código-fonte real nunca é transmitido ou armazenado. Apenas o hash é ancorado ao blockchain, então seu código permanece privado.

Quanto custa para carimbar meu código com data/hora?

O Timestamp GIT oferece um plano gratuito para repositórios públicos. Os planos pagos começam em US$ 49/mês para repositórios privados, com um plano Enterprise ZK a US$ 199/mês. Licenças Docker auto-hospedadas também estão disponíveis.

Posso verificar o carimbo de data/hora sem depender do Timestamp GIT?

Sim. As provas são baseadas no protocolo OpenTimestamps e no blockchain do Bitcoin. Você pode baixar o recibo .ots e verificá-lo usando ferramentas padrão do OpenTimestamps, mesmo que o Timestamp GIT deixe de existir.

Conclusão

A prova de existência para código de software é uma das poucas ferramentas de desenvolvedor que é simultaneamente barata, matematicamente rigorosa e útil tanto em contextos jurídicos quanto de conformidade. Ela não prova autoria ou propriedade, mas cria um ponto fixo no tempo que é extremamente difícil de contestar.

O caminho difícil é executar o protocolo OpenTimestamps manualmente. O caminho prático é instalar o Timestamp GIT GitHub App, conectar seus repositórios e deixar o pipeline de ancoragem noturno fazer o resto. Comece a carimbar seus commits no Timestamp GIT.

Posts relacionados

EU label: AI-generated content