O que contém um certificado temporal
Por BlockchainSignPublicado a

Um certificado temporal é um ficheiro pequeno, e cada campo nele existente tem uma razão de ser. Compreender o que cada um faz é o que transforma a confiança cega em algo que pode ser verificado.
Os campos
Um certificado da BlockchainSign é um ficheiro YAML com os seguintes campos:
| Campo | O que é |
|---|---|
version |
A versão do formato do certificado |
provider |
Quem o emitiu |
timestamp |
A hora do bloco da transação — a data que está a ser provada |
blockchain |
Em qual cadeia o registo está |
algorithm |
A função hash utilizada, SHA-256 |
payload_hash |
O hash do bloco de dados, e o que aparece na cadeia |
tx_hash |
O identificador da transação |
tx_url |
Um link para essa transação num explorador de blocos público |
payload |
Três linhas: o email de entrega, o SHA-256 do ficheiro e quaisquer metadados fornecidos |
A estrutura é deliberadamente simples. Não há nada proprietário, nada encriptado e nada que necessite do nosso software para ser interpretado.
Por que razão o payload é hashed separadamente
Esta é a parte que vale a pena compreender, porque explica o design.
O payload contém três coisas: um endereço de email, o hash do seu ficheiro e metadados de texto livre, como um nome de autor ou referência de projeto. Não é escrito diretamente na cadeia — o seu próprio hash SHA-256 é.
Duas razões. Primeiro, manter os dados na cadeia com um tamanho fixo de 64 caracteres mantém o custo da transação previsível, independentemente da quantidade de metadados adicionados. Segundo, o payload contém um endereço de email, e não há razão para publicar isso permanentemente num registo distribuído público.
O efeito é uma cadeia de evidências em dois passos: o ficheiro faz hash para um valor dentro do payload, e o payload faz hash para o valor na cadeia. Ambos os passos são reproduzíveis por qualquer pessoa com o certificado.
Verificar por si mesmo, passo a passo
Não precisa de nós para nada disto.
1. Verifique se a transação existe. Abra tx_url. Resolve-se numa transação real num explorador público, com um número de bloco e um timestamp.
2. Leia o que está na cadeia. Encontre os dados de entrada na página da transação e selecione "View as UTF-8". Vê o hash do payload como texto legível.
3. Compare com o certificado. Essa string deve corresponder exatamente a payload_hash.
4. Volte a fazer hash ao payload. Pegue nas três linhas do payload exatamente como aparecem e faça hash com SHA-256. O resultado deve ser igual a payload_hash. Uma ressalva: a indentação YAML adiciona espaços à esquerda que não fazem parte do payload — remova-os antes de fazer hash, caso contrário o valor não corresponderá.
5. Volte a fazer hash ao seu ficheiro. shasum -a 256 yourfile.pdf no macOS ou Linux, certutil -hashfile yourfile.pdf SHA256 no Windows, ou utilize a ferramenta de hash gratuita no seu navegador. Compare com a linha File SHA-256 no payload.
Se todos os cinco pontos estiverem corretos, estabeleceu que este ficheiro exato foi comprometido num registo distribuído público nesse momento do bloco, e que nada mudou desde então.
O que o certificado não lhe diz
Ser claro sobre os limites é o que torna o resto credível:
- Quem criou o ficheiro. O certificado regista que alguém o detinha. Veja prova de existência vs prova de autoria.
- O que o ficheiro contém. Apenas o seu hash é registado. Qualquer pessoa que verifique a cobertura precisa do ficheiro em si, o que é a propriedade que torna isto utilizável para documentos confidenciais.
- Que os metadados são verdadeiros. O campo de texto livre diz o que digitou. Está fixo naquele momento e inalterável depois, o que é útil — mas o registo distribuído não o verifica.
- Qualquer estatuto legal. É uma evidência, não um registo ou um direito.
Guarde o ficheiro, byte a byte
A forma mais comum de as pessoas perderem o valor de um certificado é perdendo o ficheiro exato.
Um hash cobre uma sequência exata de bytes. Re-gravar um documento, exportá-lo novamente ou deixar que uma aplicação reescreva os metadados produz um ficheiro diferente com um hash diferente — e o certificado já não corresponderá. Arquive a versão certificada separadamente e trabalhe numa cópia.
O próprio certificado também vale a pena guardar, embora menos criticamente: o hash do payload está na cadeia, pelo que um certificado pode ser reconstruído a partir de dados públicos enquanto souber qual foi a respetiva transação.