Integridad

I-verify mo mismo ang arkibong ito.

Bawat file na kasama sa arkibong ito ay may nakapublisang SHA-256 hash. Muling kinakalkula ng pahinang ito ang mga hash na iyon sa iyong browser — gamit ang Web Crypto API na nakapaloob na sa iyong browser — at inihahambing ang mga ito sa manifest. Walang server endpoint ng kakao.io na pinagkakatiwalaan sa proseso. Kung may binago sa pagitan ng pinagmulang repository at ng iyong screen, kitang-kita ang pagkabigo ng pagsusuri.

Zero trust na pananaw — ang verifier ay simpleng JavaScript lamang na nakapaloob sa pahinang ito. Mababasa mo ito sa pamamagitan ng View Source. Kinukuha nito ang dataset, ini-hash ito nang lokal, kinukuha ang manifest, at inihahambing. Ang resulta ay nakalkula sa iyong makina.

Suriin ang cacao-origins.json

Suriin ang lahat ng source file

Suriin ang isang partikular na rekord ng pinagmulan

I-verify ang hash ng dataset mula sa command line

Kung mas gugustuhin mong hindi umasa sa code ng browser, madali ring gawin ang parehong pagsusuri gamit ang karaniwang mga kasangkapan ng Unix.

# 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"]'

I-verify ang mga patunay ng OpenTimestamps nang lokal

Bawat rekord ng pinagmulan ay tinatatakan din ng OpenTimestamps — isang libre, Bitcoin-anchored timestamping protocol. Itinatupi ng patunay ang SHA-256 ng rekord sa isang nakapublisang Bitcoin block header, kaya ang pag-iral ng rekord sa timestamp ng block na iyon ay kriptograpikong mapapatotohanan nang hindi kami o anumang awtoridad sa timestamping ay pinagkakatiwalaan.

# 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

Paano ito gumagana

Kinakalkula ang SHA-256 sa iyong browser sa pamamagitan ng window.crypto.subtle.digest — ang parehong primitive na ginagamit ng TLS at HTTPS, na makukuha sa bawat modernong browser nang walang polyfill. Ang manifest ay isang maliit na JSON file na naglilista ng inaasahang hash para sa bawat ipinadalang file. Isinusumite ang mga patunay ng OpenTimestamps sa mga pampublikong calendar server at pinagsasama-sama sa Bitcoin blockchain — walang account, walang bayad, walang sentral na awtoridad na dapat pagkatiwalaan. Ang lahat ng tatlong pagsusuri sa itaas ay puro client-side na pagkalkula.