先说清楚:背景换成新闻首页截图,并不能防篡改。截图可以 PS,系统时间可以回拨, 一张“今天的新浪首页 + 我的收益”完全可以事后合成。它只是“这一天”的仪式感。
每期卡片页脚都有两个值:当日 hash(当日数据 JSON 的 SHA256 前 16 位)与
prev(上一期的 hash)。两者串成一条链,改任何一期的数据,后面所有 hash 都对不上。
python - <<'PY'
import json, hashlib
rec = json.loads(open("chain.jsonl").read().splitlines()[-1])
print(rec["date"], rec["hash"], rec["prev"])
PY
把 data/agent/state.json 当日切片按同样的键序序列化后求 SHA256,结果应与页面上的
hash 一致;再检查每条的 prev 是否等于上一条的 hash,链条连贯即未被事后改写。
1)每日把 chain.jsonl 的最后一行 hash 提交到公开 Git 仓库(commit 时间由平台给出,
不可回填);2)用 RFC 3161 可信时间戳服务(如 freetsa.org)对当日 JSON 做 TSA 签名,
产物 YYYYMMDD.tsr 一起归档。这两样都不是我能单方面改的。