Evidências, não afirmações

Verifique as evidências solares
por si próprio.

Um pacote de evidências é um conjunto de ficheiros de dados, um manifesto que lista o hash SHA-256 de cada ficheiro, e uma assinatura Ed25519 sobre esse manifesto. Esta página verifica os três no seu navegador. Nada é enviado.

Verificar um pacote

Arraste o pacote completo para a caixa: manifest.json, manifest.sig e os ficheiros de dados. Ou arraste um só ficheiro para obter o respetivo SHA-256. O navegador faz o trabalho com WebCrypto. O suporte a Ed25519 no WebCrypto varia entre navegadores e versões; se o verificador indicar que o Ed25519 não está disponível, use os passos com OpenSSL mais abaixo.

Arraste aqui os ficheiros do pacote ou clique para procurar
manifest.json + manifest.sig + ficheiros de dados · nada é enviado


Pacote de exemplo ILUSTRATIVO

Descarregue os quatro ficheiros e arraste-os para a caixa acima. O exemplo é um caso de armazenamento em baterias (BESS): um ativo ilustrativo, SAMPLE-BESS-CL-001. Não é uma central real, e os seus valores não são medições. Um pacote assinado específico para solar está em preparação, pelo que este exemplo mostra apenas o formato.

manifest.json ↓ manifest.sig ↓ telemetry-extract.csv ↓ asset-summary.json ↓

Ainda não foi verificado nada. O resultado aparece aqui, ficheiro a ficheiro, depois de escolher ou arrastar um pacote.

Como ler o resultado

Um pacote válido, um inválido e um alterado

O verificador responde a duas perguntas. O manifesto foi assinado pela chave publicada e mantém-se inalterado? Cada ficheiro corresponde ao SHA-256 que o manifesto indica? Leia as duas respostas em conjunto. As caixas abaixo mostram a redação que o verificador usa. São exemplos, não resultados de uma verificação real.

Um pacote válido

✓ Assinatura Ed25519 VÁLIDAO manifesto foi assinado pela chave publicada pela LIFETIMEBESS (key_id ltb-2026-10) e não foi alterado.
✓ telemetry-extract.csv

corresponde ao manifesto

✓ asset-summary.json

corresponde ao manifesto

Cada ficheiro é exatamente o que o manifesto lista, e o manifesto é exatamente o que o titular da chave assinou. Nada foi acrescentado, removido ou alterado após a assinatura.

Um pacote inválido

✗ Assinatura INVÁLIDAA assinatura não corresponde a este manifesto segundo a chave publicada. O manifesto foi alterado, ou a assinatura não é nossa.

Ou o manifesto foi alterado depois de assinado, ou foi assinado com outra chave. Considere o pacote como não verificado, mesmo quando todas as linhas de ficheiros correspondem, porque o próprio manifesto não é de confiança.

Um pacote alterado

✓ Assinatura Ed25519 VÁLIDAO manifesto foi assinado pela chave publicada pela LIFETIMEBESS (key_id ltb-2026-10) e não foi alterado.
✗ asset-summary.json

NÃO corresponde — o ficheiro foi modificado

Um byte alterado num ficheiro de dados muda o respetivo hash SHA-256, pelo que esse ficheiro falha. A assinatura pode continuar válida, porque o próprio manifesto não foi tocado. Leia a linha ✗, e não apenas o aviso geral. Se alguém também editar o manifesto para que a linha corresponda, a assinatura passa a INVÁLIDA.

Mais dois casos. Um ficheiro que o manifesto lista, mas que não arrastou, aparece como "listado no manifesto, não fornecido". Um ficheiro arrastado que o manifesto não lista aparece como "não listado no manifesto". Considere o pacote incompleto enquanto cada ficheiro listado não tiver uma linha correspondente.
Formato aberto

LTB-Evidence-Manifest/0.1, um formato aberto

O formato usa JSON, SHA-256 e Ed25519. Não requer blockchain nem visualizador proprietário. Qualquer pessoa o pode implementar, e qualquer pessoa pode verificar um pacote sem esta página.

O que contém um manifesto

specLTB-Evidence-Manifest/0.1
files[]caminho, SHA-256 e tamanho em bytes de cada ficheiro do pacote
asseto ativo que a evidência abrange. O exemplo usa um identificador de armazenamento em baterias (BESS), SAMPLE-BESS-CL-001
engine / seedquando um modelo produziu um valor: a versão do modelo e a semente aleatória, para que o valor possa ser reproduzido
key_ida chave publicada que o signatário usou (ltb-2026-10)
createdquando o signatário produziu o pacote. Quem assina escreve esta data, que ainda não tem carimbo temporal independente
manifest.sigassinatura Ed25519 destacada sobre os bytes exatos de manifest.json, guardada como texto base64

Verificar com OpenSSL, se preferir

Não precisa desta página. Precisa do OpenSSL 3.x e da chave pública publicada. Execute estes três passos na pasta que contém o pacote:

base64 -d < manifest.sig > manifest.sig.bin printf '%s\n' '-----BEGIN PUBLIC KEY-----' \ 'MCowBQYDK2VwAyEAggCg4K6ADrzNTxsERRHNZP8S3B0dPmo8GrxBMjdrqhQ=' \ '-----END PUBLIC KEY-----' > ltb-pub.pem openssl pkeyutl -verify -pubin -inkey ltb-pub.pem -rawin -in manifest.json -sigfile manifest.sig.bin

O resultado é "Signature Verified Successfully" ou "Signature Verification Failure". O segundo passo escreve a chave publicada como chave pública PEM. A linha base64 é a codificação SubjectPublicKeyInfo padrão da mesma chave de 32 bytes: um cabeçalho Ed25519 fixo de 12 bytes seguido da chave em bruto. A própria chave não muda.

Chave pública publicada (Ed25519, em bruto, base64), key_id ltb-2026-10:

ggCg4K6ADrzNTxsERRHNZP8S3B0dPmo8GrxBMjdrqhQ=

Chave pública publicada (Ed25519, em bruto, base64), key_id ltb-2026-08:

DxjoM0/6xTb0EhP4UYrutsJ1qspmCREvYnMrelVWMdE=

Estão publicadas duas chaves. A ltb-2026-10 assina os pacotes desde outubro de 2026, incluindo esta amostra. A ltb-2026-08 continua válida para os pacotes assinados antes dessa data.

Ainda não implementado: carimbos RFC 3161. Os pacotes incluem apenas uma assinatura Ed25519. Ainda não incluem um carimbo temporal fiável de uma autoridade de carimbo temporal independente, pelo que a data no manifesto é uma afirmação do próprio signatário.
Limites

O que um resultado válido não prova

Um pacote válido prova integridade e origem. Estes ficheiros, tal como listados, foram assinados com a chave publicada pela LIFETIMEBESS e não foram alterados desde a assinatura. Um pacote válido não prova:

  • que as leituras estão corretas, nem que os contadores e registadores que as produziram foram calibrados;
  • que a central existe tal como descrita, nem que se encontra no estado que o seu resumo indica;
  • que um valor é uma medição. Verifique a etiqueta de cada valor: VERIFICADO significa publicado pela fonte, ESTIMADO significa cálculo nosso com os respetivos pressupostos, e ILUSTRATIVO significa um exemplo.
O exemplo é ilustrativo. O pacote de exemplo existe para mostrar o formato. É um caso de armazenamento em baterias (BESS), não uma central real nem uma medição de qualquer ativo real. Um pacote assinado específico para solar está em preparação.

Comece pelo PV Health Score grátis.

Verifique primeiro os dados de monitorização de um sistema. Para um pacote de evidências assinado relativo a um ativo, escreva-nos.

Obtenha o PV Health Score grátis Escreva-nos sobre um pacote