Integralność
Zweryfikuj to archiwum samodzielnie.
Każdy plik dostarczany z tym archiwum ma opublikowany skrót SHA-256. Ta strona ponownie oblicza te skróty w Twojej przeglądarce — korzystając z Web Crypto API, które Twoja przeglądarka już udostępnia — i porównuje je z manifestem. Żaden punkt końcowy serwera kakao.io nie jest zaufany w tym łańcuchu. Jeśli cokolwiek zostało zmienione między repozytorium źródłowym a Twoim ekranem, kontrola kończy się widocznym niepowodzeniem.
Sprawdź cacao-origins.json
Sprawdź wszystkie pliki źródłowe
Sprawdź konkretny rekord pochodzenia
Zweryfikuj skrót zbioru danych z wiersza poleceń
Jeśli wolisz w ogóle nie polegać na kodzie przeglądarki, tę samą kontrolę można w prosty sposób przeprowadzić za pomocą standardowych narzędzi 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"]'
Zweryfikuj dowody OpenTimestamps lokalnie
Każdy rekord pochodzenia jest również ostemplowany za pomocą OpenTimestamps — bezpłatnego protokołu znakowania czasem zakotwiczonego w Bitcoinie. Dowód włącza skrót SHA-256 rekordu do opublikowanego nagłówka bloku Bitcoin, dzięki czemu istnienie rekordu w czasie tego bloku jest kryptograficznie potwierdzalne bez konieczności zaufania nam ani żadnemu organowi znakowania czasem.
# 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
Jak to działa
SHA-256 jest obliczany w Twojej przeglądarce za pomocą window.crypto.subtle.digest — tej samej prymitywnej operacji używanej przez TLS i HTTPS, dostępnej w każdej nowoczesnej przeglądarce bez polyfilla. Manifest to mały plik JSON zawierający listę oczekiwanego skrótu dla każdego dostarczonego pliku. Dowody OpenTimestamps są przesyłane do publicznych serwerów kalendarzowych i agregowane w łańcuchu bloków Bitcoin — nie ma konta, nie ma opłaty, nie ma centralnego organu, któremu trzeba ufać. Wszystkie trzy powyższe kontrole to czyste obliczenia po stronie klienta.