Integridade
Verifique este arquivo você mesmo.
Cada arquivo distribuído com este acervo possui um hash SHA-256 publicado. Esta página recomputa esses hashes no seu navegador — usando a Web Crypto API que o próprio navegador já oferece — e os compara com o manifesto. Nenhum endpoint do servidor kakao.io é confiado no processo. Se algo tiver sido adulterado entre o repositório de origem e a sua tela, a verificação falha de forma visível.
Verificar cacao-origins.json
Verificar todos os arquivos-fonte
Verificar um registro de origem específico
Verifique o hash do conjunto de dados pela linha de comando
Se preferir não depender de código de navegador, a mesma verificação é trivial com ferramentas Unix padrão.
# Verify the dataset hash matches:
curl -s https://kakao.io/data/cacao-origins.json | shasum -a 256
# Compare against the hash in:
curl -s https://kakao.io/.well-known/source-manifest.json \
| jq '.files["data/cacao-origins.json"]'
Verifique provas OpenTimestamps localmente
Cada registro de origem também é carimbado com OpenTimestamps — um protocolo gratuito de carimbo de tempo ancorado no Bitcoin. A prova incorpora o SHA-256 do registro em um cabeçalho de bloco Bitcoin publicado, de modo que a existência do registro no instante daquele bloco é criptograficamente atestável sem precisar confiar em nós ou em qualquer autoridade de carimbo de tempo.
# Install the OpenTimestamps client:
pip3 install opentimestamps-client
# Download an origin record and its proof:
curl -O https://kakao.io/data/ots/records/ve-chuao.json
curl -O https://kakao.io/data/ots/records/ve-chuao.json.ots
# Verify — folds the Bitcoin block hash into a verification chain:
ots verify ve-chuao.json.ots
Como isto funciona
O SHA-256 é calculado no seu navegador por window.crypto.subtle.digest — a mesma primitiva utilizada por TLS e HTTPS, disponível em todos os navegadores modernos sem polyfill. O manifesto é um pequeno arquivo JSON que lista o hash esperado para cada arquivo distribuído. As provas OpenTimestamps são submetidas a servidores de calendário públicos e agregadas na blockchain Bitcoin — não há conta, não há taxa, não há autoridade central em quem confiar. Todas as três verificações acima são computação puramente do lado do cliente.