比特幣研究快照驗證器
讓伺服器重新讀取一筆不可變的研究快照,將 JSON 規範化後重新計算 SHA-256,並與發布時儲存的雜湊比對。在引用、轉載或把快照收進報告之前使用,可確認公開紀錄沒有被改動。
這個研究實驗室的互動介面目前以簡體中文提供;下方說明涵蓋所有輸入、方法與限制。
輸入項目
- 快照 ID(格式 bir_…,前綴後為 18–32 個英數字、- 或 _),或包含該 ID 的快照連結
輸出結果
- VERIFIED 或 FAILED 判定,以及快照標題與 ID
- 伺服器依規範化 JSON 重新計算的 SHA-256
- 8 項檢查清單:JSON 可解析、規範化雜湊相符、不可變 ID 有效、研究類型有效、有資料版本、有方法版本、建立時間有效、schemaVersion ≥ 1
- 驗證收據 JSON(儲存雜湊、重算雜湊、資料與方法版本、建立與驗證時間、快照連結),以及開啟原始快照的按鈕
使用步驟
- 在輸入框貼上 bir_… ID 或快照連結;工具會自動從連結中擷取 ID。
- 按「Recompute and verify」,由伺服器讀取紀錄並重新計算雜湊。
- 查看判定結果與每一項檢查;每一列都應顯示 ✓。
- 下載驗證收據 JSON,與你的文章或報告一起保存。
- 需要核對內容、資料版本或引用時,開啟原始快照。
計算公式
規範化 JSON = 將 payload 每個物件的鍵依字母排序、移除未定義的值、把非有限數值轉為 null。重算雜湊 = SHA-256(規範化 JSON) 的十六進位字串。只有在重算雜湊 = 儲存雜湊且 8 項檢查全部為真時才會顯示 VERIFIED。
計算範例
你貼上一筆冪律回測的連結 https://cryptorebatehub.com/tools/bitcoin-research-snapshots?id=bir_…。若 8 項中有 7 項通過、但 canonicalHashMatches 失敗,判定仍是 FAILED,因為必須 8 項全過。8 項全部通過時,下載 <ID>-verification.json 並附在報告中。
如何解讀
- canonicalHashMatches 是核心檢查:代表目前的 payload 與發布時記錄的雜湊一致。
- 其餘各項檢查中繼資料:ID 格式、研究類型(允許 5 種)、資料版本、方法版本、建立時間與 schemaVersion。
- 把收據中的 SHA-256 與報告引用的雜湊比對,兩者必須逐字元相同。
注意事項
- 雜湊相符只證明紀錄未被改寫,不證明模型、輸入資料或研究結論正確。
- 工具不會重新執行快照內的回測或計算,只檢查已儲存紀錄的完整性。
- ID 格式錯誤會回傳 invalid_snapshot_id,不存在則回傳 snapshot_not_found;公開 API 另有每個 IP 每分鐘 120 次的合理使用限制。
常見問題
驗證器會重新跑回測嗎?
不會。它只重新規範化已儲存的 JSON、重算 SHA-256 並檢查中繼資料,研究結果不會重新計算。
什麼是規範化 JSON?
一種固定的 JSON 寫法:每一層的鍵都依字母排序,因此相同內容一定得到相同字串與相同雜湊,即使原本的鍵順序不同。
可以不開網頁、直接用 API 驗證嗎?
可以。呼叫 GET /api/bitcoin-research-verify?id=bir_…(不需要 API 金鑰),回應中就是與頁面相同的驗證收據。