무결성
이 아카이브를 직접 검증해 보세요.
이 아카이브에 포함된 모든 파일은 SHA-256 해시가 공개되어 있습니다. 이 페이지는 브라우저에 이미 내장된 Web Crypto API를 사용하여 해당 해시를 브라우저에서 다시 계산하고 매니페스트와 비교합니다. 이 과정에서 kakao.io 서버 엔드포인트는 신뢰 사슬에 포함되지 않습니다. 소스 저장소에서 화면에 도달하기까지 어느 지점에서든 변조가 있었다면 검사는 눈에 띄게 실패합니다.
cacao-origins.json 검사
모든 소스 파일 검사
특정 원산지 레코드 검사
명령줄에서 데이터셋 해시 검증하기
브라우저 코드를 전혀 신뢰하고 싶지 않다면, 표준 유닉스 도구만으로도 같은 검사를 손쉽게 수행할 수 있습니다.
# 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"]'
OpenTimestamps 증명을 로컬에서 검증하기
각 원산지 레코드는 OpenTimestamps로도 스탬프됩니다 — 무료이며 Bitcoin에 앵커링되는 타임스탬핑 프로토콜입니다. 이 증명은 레코드의 SHA-256을 공개된 Bitcoin 블록 헤더에 접어 넣으므로, 해당 블록의 타임스탬프 시점에 레코드가 존재했음을 우리든 어떤 타임스탬핑 기관이든 신뢰하지 않고도 암호학적으로 입증할 수 있습니다.
# 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
동작 방식
SHA-256은 window.crypto.subtle.digest를 통해 브라우저에서 계산됩니다 — TLS와 HTTPS에서 사용하는 것과 동일한 기본 함수로, 폴리필 없이 모든 최신 브라우저에서 제공됩니다. 매니페스트는 출시된 각 파일의 예상 해시를 나열한 작은 JSON 파일입니다. OpenTimestamps 증명은 공개 캘린더 서버에 제출되어 Bitcoin 블록체인에 집계됩니다 — 계정도, 수수료도, 신뢰해야 할 중앙 기관도 없습니다. 위의 세 가지 검사는 모두 순수한 클라이언트 사이드 계산입니다.