Prova de Existência para Código: O Que É e Por Que Importa
A maioria dos desenvolvedores confia no histórico do Git para mostrar quando uma funcionalidade foi implementada. Mas, em uma disputa legal, as datas de commit do Git são apenas metadados. Uma pessoa com acesso ao repositório pode reescrever o histórico, forçar push de novas datas ou editar o banco de dados do servidor. É por isso que a prova de existência para código deixou de ser uma curiosidade criptográfica e se tornou uma ferramenta prática de conformidade.
A prova de existência oferece algo mais forte do que uma mensagem de commit ou uma captura de tela com carimbo de data: um registro matemático, público e à prova de adulteração de que um determinado estado do repositório existiu em um determinado momento. Este artigo explica o que isso significa, como funciona sem expor seu código-fonte e como um GitHub App gerenciado como o Timestamp GIT transforma isso em um fluxo de trabalho sem configuração.
O Que É Prova de Existência para Código?
Prova de existência é uma evidência criptográfica de que um trecho específico de código existiu em um ponto específico no tempo. Ela não armazena seu código, não prova que você o escreveu e não substitui o registro de direitos autorais. Ela prova um fato restrito, mas poderoso: esta impressão digital exata existiu antes deste carimbo de data.
A impressão digital é um hash de commit do Git. Quando você faz um commit, o Git gera um identificador unidirecional a partir do estado do repositório:
git rev-parse HEAD
# 1a4f28c3e8f1d95b4e2a3cfe06cb0d5b9a4d1e7c
Esse hash é sensível. Altere um único caractere em qualquer arquivo rastreado, ou altere os metadados do commit, e você obterá um hash completamente diferente. Mas o hash em si não revela nada sobre nomes, caminhos ou código-fonte.
Para tornar esse hash significativo ao longo do tempo, a prova de existência o ancora em um livro-razão público e imutável: o blockchain do Bitcoin. O bloco do Bitcoin atua como um relógio universal. Uma vez que a âncora é confirmada, não há maneira prática de alterar o carimbo de data sem reescrever o histórico do Bitcoin.
As alternativas tradicionais são mais fracas:
- Logs internos do Git podem ser editados, excluídos ou hospedados em servidores fora do seu controle.
- Reconhecimento de firma prova que uma pessoa assinou um documento, mas é mais lento e geralmente exige confiança em terceiros.
- Patentes são caras e lentas; também exigem divulgação pública.
Uma impressão digital ancorada em blockchain é barata, automatizada e matematicamente verificável. Mesmo que o serviço de carimbo de data desapareça, a prova pode ser verificada diretamente contra o Bitcoin.
Uma Analogia Simples: O Envelope Lacrado
Imagine que você envia a si mesmo um envelope lacrado contendo a descrição de uma invenção. Quando o envelope chega, o carimbo postal prova que a descrição existia naquela data. Você mantém o envelope lacrado até que uma disputa exija que você o abra.
A prova de existência é a versão digital desse truque:
- O hash do seu código é o envelope lacrado. Ele oculta o conteúdo.
- O blockchain do Bitcoin é o carimbo postal. Ele registra o momento em que a impressão digital foi registrada no registro público.
- O recibo
.otsé o próprio envelope — a prova criptográfica que você guarda.
Mas um envelope físico tem uma fraqueza: alguém poderia, teoricamente, forjar um carimbo postal ou antedatar uma carta. Um carimbo de data do Bitcoin não tem essa fraqueza. O blockchain é público, somente de acréscimo e protegido por prova de trabalho. Uma vez que a âncora está enterrada sob blocos suficientes, a antedatação é computacionalmente inviável.
Como Funciona nos Bastidores (Resumidamente)
O fluxo completo é surpreendentemente simples:
Commit detectado
↓
Hash do commit do Git extraído
↓
Lote noturno de hashes
↓
Árvore de Merkle construída
↓
Raiz de Merkle ancorada no Bitcoin
↓
Recibo .ots retornado
Passo 1: Impressão digital. O Git já cria o hash único do commit quando um commit é feito. O Timestamp GIT extrai apenas esse hash, não o conteúdo por trás dele.
Passo 2: Âncora. Todas as noites, o serviço agrupa os hashes de commit pendentes em um manifesto. Ele constrói uma árvore de Merkle a partir dos hashes e ancora a raiz de Merkle em uma transação do Bitcoin usando o protocolo OpenTimestamps. Isso agrupa muitos commits em uma única âncora on-chain. A confirmação do Bitcoin normalmente leva cerca de três horas, então os arquivos de prova aparecem após a âncora ser confirmada.
Passo 3: Prova. O resultado é um arquivo de recibo .ots. O recibo contém o caminho criptográfico do hash do seu commit até o cabeçalho do bloco do Bitcoin. Qualquer pessoa pode verificar a prova localmente contra o blockchain posteriormente.
Existe uma maneira bruta de fazer isso você mesmo usando ferramentas OpenTimestamps e interações manuais com o Bitcoin. Funciona, mas significa manter seus próprios calendários, recibos e fluxo de trabalho de verificação. O Timestamp GIT existe justamente para remover esse fardo operacional. O GitHub App observa seus repositórios, agrupa hashes todas as noites e envia os arquivos de prova de volta para um branch de timestamps ou repositório sombra. Sem ferramentas de CLI, sem passos manuais de protocolo, sem comandos OpenTimestamps.
Por Que a Prova de Existência Importa para Desenvolvedores
Proteção Contra Trolls de Patentes
Trolls de patentes frequentemente registram patentes amplas sobre tecnologia comum. Se você implementou a mesma ideia meses antes, um carimbo de data imutável pode invalidar a reivindicação. Você não precisa explicar sua implementação publicamente — só precisa mostrar que o código existia antes da data de depósito.
Resolver Disputas de Autoria
Quando um desenvolvedor líder sai, ou um contratado alega que construiu uma funcionalidade primeiro, um hash de commit do Git ancorado no Bitcoin resolve o problema do “disse-me-disse”. Você pode provar que o estado existia em uma data específica, sem depender de logs de acesso internos que um tribunal pode descartar como interessados.
Defesa Contra Acusações de “Sala Limpa”
Um concorrente pode alegar que desenvolveu independentemente uma funcionalidade semelhante depois que você a lançou. Se seu código existia 18 meses antes, o carimbo de data cria uma parede matemática. A acusação desmorona diante do registro público.
Fortalecer Evidências Legais
Logs internos são frequentemente vistos como manipuláveis. Provas ancoradas em blockchain são à prova de adulteração. Elas dependem de SHA-256 e dados de blocos do Bitcoin, padrões que podem ser verificados por especialistas independentes. Isso as torna muito mais fortes em auditorias, negociações de acordos ou litígios.
Equívocos Comuns
- Não é registro de direitos autorais. Direitos autorais protegem a expressão e surgem automaticamente, mas a prova de existência não substitui o registro. Ela apoia sua alegação sobre o momento.
- Não é uma patente. Um carimbo de data não concede direitos exclusivos. Ele fornece evidência de estado da técnica contra reivindicações concorrentes posteriores.
- Não prova propriedade. Ela prova existência em um ponto no tempo. Propriedade é uma questão legal separada, normalmente apoiada por registros adicionais.
Entender esse escopo é importante. A prova de existência é uma peça poderosa do quebra-cabeça, não um escudo legal mágico.
Como o Timestamp GIT Torna Isso Sem Esforço
O Timestamp GIT é um SaaS gerenciado mais GitHub App que automatiza todo o pipeline de carimbo de data. Você o instala uma vez, seleciona os repositórios que deseja monitorar, e cada novo commit é ancorado no Bitcoin durante o próximo lote noturno.
O detalhe arquitetural principal é o tratamento de conhecimento zero do seu código-fonte:
- Modo Padrão usa o GitHub App para ler apenas o hash do commit HEAD de um repositório monitorado. O Timestamp GIT nunca vê, copia ou armazena seu código-fonte real. Ele recebe apenas o hash do commit.
- Modo Enterprise ZK usa uma GitHub Action curta que roda no seu próprio ambiente. A action envia apenas o hash do commit para a API do Timestamp GIT, então seu código-fonte nunca sai da sua infraestrutura.
Após a ancoragem, a verificação é projetada para ser amigável ao desenvolvedor:
- Selos incorporáveis para seu README mostram o status público de verificação.
- Páginas públicas de status exibem a data de ancoragem mais antiga, dados do bloco e da transação do Bitcoin e um mapa de calor de calendário.
- Certificados em PDF são baixáveis para uma data específica.
- Verificação baseada em navegador roda localmente no seu navegador, então a prova pode ser verificada sem confiar em nenhum serviço de terceiros.
- Endpoints públicos de API como
/api/statusLast/{user}/{repo}e/api/audit/{user}/{repo}permitem integrações e relatórios personalizados.
O Timestamp GIT também oferece suporte a uma licença Docker auto-hospedada para ambientes isolados ou altamente regulamentados. O início rápido é assim:
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
O preço começa com um plano gratuito para repositórios públicos. Repositórios privados e casos de uso empresariais passam para planos pagos. O objetivo é que obter um carimbo de data criptográfico pareça tão normal quanto habilitar a proteção de branch.
Se você quiser mais detalhes sobre o fluxo de configuração, consulte Automatize o Carimbo de Data de Commits do Git com um GitHub App.
FAQ
O que exatamente é prova de existência para código?
Prova de existência é uma evidência criptográfica de que um trecho específico de código existiu em um ponto específico no tempo. Ela funciona fazendo hash do código, ou de um commit do Git, e ancorando esse hash no blockchain do Bitcoin. A imutabilidade do blockchain garante que o carimbo de data não pode ser alterado ou antedatado, e a prova pode ser verificada independentemente por qualquer pessoa.
Como a prova de existência difere de direitos autorais ou patentes?
Direitos autorais protegem a expressão de uma ideia e surgem automaticamente, mas provar a data de criação pode ser difícil. Patentes protegem invenções, mas são caras, lentas e exigem divulgação pública. A prova de existência fornece um carimbo de data à prova de adulteração que pode apoiar tanto reivindicações de direitos autorais quanto de patentes, mas não concede direitos exclusivos por si só.
Posso provar existência sem revelar meu código-fonte?
Sim. A prova de existência usa um hash criptográfico do código, não o código em si. Um hash é uma função unidirecional: é computacionalmente inviável derivar o código original a partir do hash. A arquitetura de conhecimento zero do Timestamp GIT garante que apenas o hash do commit seja enviado ao serviço, nunca o código-fonte. No modo Enterprise ZK, até mesmo o hash é enviado do seu próprio ambiente.
O carimbo de data do Bitcoin é legalmente reconhecido?
Embora as leis variem por jurisdição, carimbos de data baseados em blockchain são cada vez mais aceitos como evidência em tribunais devido à sua integridade criptográfica e imutabilidade. O protocolo OpenTimestamps usado pelo Timestamp GIT é baseado em padrões amplamente aceitos, como SHA-256 e o blockchain do Bitcoin. A prova pode ser verificada independentemente, tornando-a uma evidência forte de existência em um determinado momento.
Como começo a usar o Timestamp GIT?
Comece instalando o GitHub App Timestamp GIT nos seus repositórios. O app detecta automaticamente novos commits e os ancora no Bitcoin todas as noites. Você pode monitorar o status por meio de selos ou do painel público e baixar relatórios de verificação. Para repositórios privados, você pode escolher um plano pago ou auto-hospedar com Docker.
Conclusão
A prova de existência para código muda a pergunta de “você confia no meu histórico do Git?” para “você pode verificar este hash contra o Bitcoin?” Essa é uma posição muito mais forte.
Não é um substituto para o registro de direitos autorais ou uma estratégia de patentes. É a camada que falta, que diz ao mundo, com certeza matemática, quando um estado do repositório existiu. Para desenvolvedores, startups, agências e equipes de conformidade, essa camada está se tornando prática padrão.
Se você deseja implementar prova de existência sem gerenciar recibos criptográficos manualmente, o Timestamp GIT é a rota gerenciada. Instale o GitHub App uma vez, conecte seus repositórios e deixe a ancoragem noturna no Bitcoin acontecer automaticamente. Você pode explorar o serviço em https://timestampgit.dev/.
Posts relacionados
- Automatize o Carimbo de Data de Commits do Git com um GitHub App
- Alternativa ao OpenTimestamps: Carimbo de Data Gerenciado para Git
- Proteção de Código para Freelancers: Uma Solução de Carimbo de Data