Todos os posts

11 min de leitura

Proof of Existence vs. OpenTimestamps: qual carimbo de tempo serve para o seu trabalho?

O OpenTimestamps é excelente para carimbos de tempo enxutos, ancorados no Bitcoin. O Label 309 acrescenta um registro de prova nativo da Cardano com assinaturas, selamento, destinatários e agrupamento Merkle — veja como escolher.

Se você só precisa de um carimbo de tempo compacto e portátil que qualquer pessoa possa verificar contra uma blockchain pública, o OpenTimestamps é uma escolha excelente e bem focada. Se você precisa de um registro de prova na cadeia mais rico — capaz de carregar também assinaturas, cargas seladas (cifradas), entrega a destinatários, ponteiros para armazenamento endereçado por conteúdo e agrupamento Merkle — o Label 309 foi feito para isso. Os dois coincidem na afirmação central ("estes bytes existiam até o instante T") e divergem em tudo o que está ao redor dela.

Ambos provam a existência por um determinado momento sem pedir que você confie no servidor de uma empresa. A diferença está na forma: o OpenTimestamps produz um pequeno arquivo de prova externo; o Label 309 publica um registro estruturado na Cardano. Este artigo mostra onde cada um se encaixa.

O que é o OpenTimestamps?

O OpenTimestamps é um protocolo e um conjunto de ferramentas para carimbo de tempo em blockchain, ancorado mais comumente no Bitcoin. A ideia é simples: você calcula o hash dos seus dados, monta uma prova de carimbo de tempo e o compromisso acaba parando em uma transação Bitcoin. A partir daí, qualquer pessoa pode conferir que os dados existiam antes do horário daquele bloco.

Para manter os custos baixos, o OpenTimestamps usa servidores de calendário que agregam os hashes de muitos usuários em uma única transação Bitcoin, de modo que você não precisa de uma transação por arquivo. O cliente produz um arquivo de prova .ots portátil que viaja ao lado dos seus dados.

A verificação é onde o modelo de confiança aparece: você verifica a prova .ots contra o arquivo original e uma visão da cadeia Bitcoin, sem nenhum servidor confiável no caminho. O cliente oficial observa que a verificação local exige um nó Bitcoin Core — um nó podado (pruned) já basta.

É um design elegante e maduro para carimbos de tempo mínimos e verificáveis de forma independente.

O que é o Label 309?

O Label 309 é um padrão aberto e neutro quanto ao fornecedor para registros de Proof of Existence (prova de existência) na Cardano. O registro vive dentro dos metadados de uma transação Cardano, sob o rótulo de metadados 309, e o horário do bloco dessa transação é a testemunha de que os bytes comprometidos existiam até aquele momento, no máximo. O padrão é o artefato durável; o aplicativo web, a ferramenta de linha de comando e os SDKs da CardanoWall são implementações de referência derivadas dele.

O padrão foi submetido ao processo de CIP da Cardano e está em análise pelos editores de CIP como uma proposta da categoria Metadata (o pull request aberto aparece atualmente sob um número provisório). Vale notar que o identificador na cadeia — o rótulo de metadados 309 — é separado de qualquer número de CIP que venha a ser atribuído a ele.

Para verificar uma prova Label 309, qualquer pessoa busca a transação Cardano em um explorador público, remonta o registro canônico, valida sua estrutura, verifica a profundidade de confirmação, confere quaisquer assinaturas e recalcula os hashes do conteúdo comprometido ou as provas de inclusão Merkle. No nível mais simples, ele responde à mesma pergunta que o OpenTimestamps. Mas não é um único arquivo de prova — é um formato de registro na cadeia projetado para carregar várias camadas de prova ao mesmo tempo. Para um passo a passo mais completo, veja como o Label 309 funciona e o que realmente vai para a blockchain.

Qual é a diferença real entre eles?

O OpenTimestamps foi feito sob medida para carimbo de tempo. O Label 309 foi feito para um registro completo de Proof of Existence.

O OpenTimestamps é a melhor opção quando a pergunta é:

  • este arquivo existia antes deste horário atestado pelo Bitcoin?
  • posso guardar um pequeno arquivo de prova e verificá-lo depois?
  • posso carimbar no tempo sem revelar o conteúdo do arquivo?
  • os servidores de calendário podem agrupar muitas solicitações para que eu não pague por arquivo?

O Label 309 é a melhor opção quando a pergunta é:

  • este arquivo, manifesto ou raiz Merkle existia até este horário de bloco da Cardano?
  • uma chave de identidade específica assinou o registro?
  • o próprio arquivo pode ser selado (cifrado) e recuperado depois?
  • o registro pode ser cifrado para destinatários específicos?
  • um único registro pode comprometer milhares ou milhões de folhas de uma só vez?
  • o público pode verificá-lo sem uma conta CardanoWall e sem acesso aos nossos servidores?

Ambos são sistemas de prova enraizados em consenso público. A forma deles — e, portanto, os fluxos de trabalho que viabilizam — é diferente.

O que o OpenTimestamps faz especialmente bem?

O OpenTimestamps brilha no carimbo de tempo mínimo e público, construído em torno de um objeto de prova externo. Você carimba um arquivo no tempo, guarda a prova .ots ao lado dele e, mais tarde, atualiza a prova assim que o compromisso é confirmado no Bitcoin. O modelo de calendário permite que muitos usuários dividam o custo da ancoragem.

Ele também tem uma estreiteza saudável. Não tenta ser um sistema de entrega confidencial, um padrão de proveniência de mídia, um ecossistema de assinatura de software nem um cartório legal. Ele carimba no tempo, e faz esse único trabalho com clareza. Para quem quer carimbos de tempo lastreados no Bitcoin a partir de uma ferramenta testada em batalha, esse foco é uma vantagem.

O que o Label 309 acrescenta por cima do carimbo de tempo?

O Label 309 envolve estrutura em torno da afirmação de carimbo de tempo. Um único registro pode incluir:

  • um ou mais hashes de conteúdo por item;
  • ponteiros para armazenamento endereçado por conteúdo (ar:// para Arweave, ipfs:// para IPFS);
  • assinaturas opcionais no nível do registro sobre o registro inteiro;
  • um envelope de cifragem para um item selado, com o texto cifrado mantido fora da cadeia;
  • compartimentos de chave por destinatário que envolvem a chave de conteúdo para os destinatários escolhidos;
  • compromissos Merkle que vinculam uma raiz na cadeia a uma lista de folhas fora da cadeia arbitrariamente grande;
  • um ponteiro de substituição para um registro anterior (somente de acréscimo — ele nunca revoga o registro anterior);
  • chaves de extensão com namespace reservadas para futuras especificações complementares.

Isso importa assim que um fluxo de trabalho precisa de mais do que "tenho um arquivo de prova de carimbo de tempo". Por exemplo, um remetente pode selar um arquivo, endereçá-lo a um destinatário, publicar o texto cifrado em uma URI endereçada por conteúdo e ainda manter o registro público verificável de forma independente — veja calcular o hash, assinar, selar, compartilhar. Um serviço de IA de alto volume pode publicar uma única raiz Merkle que representa muitas saídas geradas, e um pipeline de CI/CD pode assinar um registro de evidências de lançamento que cobre todo um conjunto de manifestos — veja um registro para milhares de arquivos. Esses fluxos de trabalho precisam de um registro mais rico do que uma prova .ots nua carrega.

Qual deles é mais descentralizado?

Este não é lugar para slogans, então vamos ser precisos sobre o que cada modelo pede que você confie.

O OpenTimestamps ancora no Bitcoin, cujo histórico de proof-of-work é uma base muito sólida para carimbo de tempo. A prova se verifica de forma independente assim que os dados de que ela precisa estão disponíveis — uma prova .ots completa se verifica totalmente contra um nó Bitcoin local, enquanto uma incompleta ainda precisa de um servidor de calendário para fornecer o caminho até o cabeçalho do bloco.

O Label 309 ancora na Cardano. Sua verificação confia na cadeia pública Cardano, nos bytes do registro e no hash do conteúdo — e em nada mais. Ela não exige confiar na CardanoWall nem em nenhum servidor operado por quem publica para a prova central; um verificador precisa apenas da referência da transação, opcionalmente dos bytes do conteúdo e de um explorador público que ele mesmo escolhe.

Nenhum dos dois é "mais descentralizado" em abstrato. A pergunta prática é qual cadeia, ferramental, forma de prova, modelo de custo e ecossistema se encaixam no seu fluxo de trabalho.

E quanto à privacidade — algum deles vaza o arquivo?

Ambos conseguem carimbar no tempo sem publicar o arquivo privado, e ambos têm limites honestos.

Os servidores de calendário do OpenTimestamps recebem compromissos, não arquivos em texto claro. Mas o projeto é franco ao dizer que o carimbo de tempo vaza metadados: criar vários carimbos de tempo em rápida sucessão permite que um adversário os correlacione, agrupar arquivos em um único comando produz operações de compromisso quase idênticas que sugerem um autor comum, e a API REST do calendário não tenta, no momento, oferecer privacidade. Os nonces impedem que o calendário descubra o que foi carimbado, mas os metadados ao redor não ficam ocultos.

O Label 309 mantém o texto claro fora da cadeia para provas somente de hash e, para provas seladas, cifra o texto claro e armazena apenas o texto cifrado em uma URI endereçada por conteúdo. Por design, a cadeia não revela nenhuma chave pública de destinatário — um destinatário reconhece uma mensagem apenas ao conseguir decifrar um compartimento por tentativa, então não há campo de endereçado para ler. O que ele ainda não consegue ocultar é o momento (timing), o pagamento da taxa, o acesso ao gateway, o comportamento da conta e os erros operacionais comuns. Um registro selado mantém o texto claro legível apenas pelos detentores da chave; ele não garante anonimato, e um destinatário sempre pode vazar o texto claro depois de decifrá-lo.

Em ambos os sistemas, a privacidade é uma propriedade do fluxo de trabalho como um todo, não apenas do formato da prova.

Dá para usar os dois juntos?

Sim — e, para registros de alto risco, pode valer a pena. Para obter dois caminhos públicos e independentes de carimbo de tempo, ancore o mesmo manifesto com os dois:

  1. Crie seu manifesto de lançamento, conjunto de dados, mídia ou evidências.
  2. Calcule o hash do manifesto.
  3. Crie uma prova OpenTimestamps para o hash ou para o arquivo.
  4. Publique uma prova Label 309 para o mesmo manifesto, ou para uma raiz Merkle que o contenha.
  5. Guarde as duas referências de prova junto com a evidência original.

Isso lhe dá um caminho orientado ao Bitcoin e um caminho nativo da Cardano, estruturado pelo Label 309. Use os dois quando a redundância extra compensar a sobrecarga operacional; para a maioria dos trabalhos, um deles já basta.

Quando você deve escolher o OpenTimestamps?

Escolha o OpenTimestamps quando o trabalho for carimbo de tempo puro e uma prova ancorada no Bitcoin for exatamente o que você quer. Ele se encaixa bem para:

  • carimbos de tempo simples de arquivos;
  • fluxos de trabalho de carimbo de tempo com Git ou PGP;
  • equipes que já executam e confiam na verificação Bitcoin;
  • fluxos de trabalho que preferem carregar um arquivo de prova .ots externo;
  • compromissos mínimos que não precisam de um registro mais rico na cadeia.

Ele é intencionalmente focado, e esse foco é justamente o ponto.

Quando você deve escolher o Label 309?

Escolha o Label 309 quando o próprio registro de prova precisar de mais do que um carimbo de tempo. Ele se encaixa bem para:

  • Proof of Existence nativa da Cardano;
  • registros assinados que vinculam a autoria à prova;
  • arquivos selados (cifrados) comprometidos na cadeia;
  • entrega confidencial a destinatários específicos;
  • agrupamento Merkle para conjuntos grandes ou recorrentes;
  • ponteiros para armazenamento endereçado por conteúdo;
  • os caminhos web, API, CLI, SDK ou gateway auto-hospedado da CardanoWall;
  • protocolos de aplicação que querem um formato de prova compartilhado sob o rótulo de metadados 309.

Tudo isso é código aberto em github.com/cardanowall, então você nunca fica preso ao ferramental de um único fornecedor para ler ou escrever um registro. Veja o Label 309 é código aberto e como verificar um registro você mesmo.

O que nenhum dos sistemas prova?

Nenhum dos dois prova, por si só, verdade, propriedade, autoria, legalidade ou qualidade. O OpenTimestamps prova um compromisso com carimbo de tempo. O Label 309 prova um compromisso com carimbo de tempo mais quaisquer camadas opcionais que um registro carregue. De um jeito ou de outro, uma prova mostra que bytes exatos existiam até um horário público — não quem está certo, quem é dono do quê, nem se o conteúdo é lícito. As afirmações ao redor ainda precisam de assinaturas, contexto de identidade, evidências de processo, análise jurídica e julgamento humano. Detalhamos isso em o que uma prova não prova.

A versão curta

O OpenTimestamps é um sistema de carimbo de tempo forte, focado e ancorado no Bitcoin. O Label 309 é um formato de registro de Proof of Existence nativo da Cardano, com espaço para assinaturas, preservação selada, entrega a destinatários, armazenamento endereçado por conteúdo, agrupamento Merkle e extensões futuras. Escolha aquele cuja forma de prova corresponde à pergunta que você de fato precisa responder — ou use os dois quando a redundância valer a pena.

Se você quer o conjunto de comparações mais amplo, veja Proof of Existence vs. uma Autoridade de Carimbo de Tempo e o fundamental o que é Proof of Existence.

Leituras adicionais

proof-of-existenceopentimestampstimestamping