所有宣稱共用一個信封
操作、驗證、隱私、信用與 Release 結果原本各自形成不可互通的 JSON。v1.0 停止增加證書種類,先把容器統一。
為什麼先統一再擴充
證書必須同時可被機器驗證、保留來源、可被摘要、可形成鏈、可承載不同領域的 claim、可被舊版資料遷移,並可被放行閘門引用。十五種證書類型現在共用一個信封,而且類型不是裝飾:每一種都帶有最低必要 claims。commit 必須包含 authorized 與 committed;privacy 必須包含 epsilon、delta 與 budget_valid。
鏈結
- action
- verification
- boundary
- commit
每個證書引用前一證書的摘要,因此一條合法的提交路徑就是一條鏈。修改任何一個 claim,該證書自身的摘要就對不上,後續每一個 previous_digest 也跟著失效。竄改在第一個被改動的環節就被偵測到,而不是拖到最後。
正規形式與摘要
證書以固定 key 排序與緊湊分隔符序列化,因此摘要是內容的函數,而不是排版的函數。簽章與外部 digest 欄位不進入被雜湊的 payload —— 否則摘要就必須包含它自己。
摘要鏈不能證明什麼
這是最常被略過的部分。摘要鏈證明的是鏈內一致性 —— 這些紀錄彼此之間沒有被改動。它完全沒有說明是誰簽發的。要證明簽發者身分,還需要簽章、信任金鑰登錄、nonce、有效期限,以及最終的外部 CA、硬體信任根或制度信任。
v1.0 的 Release Attestation 使用本機臨時 Ed25519 金鑰。它證明的是單次封裝流程內的一致性。它不是、也沒有被呈現為外部背書。
十五種類型
- action
- boundary
- verification
- commit
- rollback
- replay
- privacy
- credit
- drift
- tool-effect
- attestation
- budget
- migration
- compatibility
- release
以引用方式綁定證據
證書不內嵌大型證據,而是綁定它:一筆證據引用帶有 id、kind、摘要、URI 與 media type。13,600 筆已遷移的 v0.9 紀錄以摘要而非複製的方式保留原始帳本 —— 來源帳本仍然是可追溯的原件。