OceanAltOceanAlt
latest2026-07-208 分鐘讀完

攻防實驗室 #6:把審計指紋釘進比特幣——連我們和 GitHub 都無法抵賴

第5期我們承認 GitHub 仍是一家我們有賬號的公司。這期把審計鏈尾指紋經 OpenTimestamps 釘進比特幣:免費、無需私鑰、不花 gas。要想神不知鬼不覺改寫審計歷史,得同時重寫我們的庫、GitHub 的記錄、再重寫比特幣——最後一件沒人做得到。誠實邊界:時間戳證明的是「存在與不變」,不是「內容正確」;錨定間隔=篡改窗口。六期裡我們被自己打穿五次,全部公開。

OOceanAlt 編輯部
分享:XLinkedInFacebookTelegramWhatsApp微博🖼 海報(英文)

攻防實驗室 · 第 6 期。第 5 期結尾我們誠實交代:GitHub 仍然是一家我們有賬號的公司。要做到"連我們、連 GitHub 都無法抵賴",得把指紋釘到一條<b>誰也改不了的公鏈</b>上。這一期把它釘上去了——用 OpenTimestamps,錨到比特幣,免費、無需私鑰、不花 gas。

先看這條階梯:我們把"藏不住"一層層往外推

三期以來,我們對同一件事——審計記錄能不能被悄悄改掉——做了三級加固:

| 層 | 做法 | 要神不知鬼不覺地改歷史,你得… | |---|---|---| | ① DB hash 鏈(第 4 期) | 每條審計記錄嵌前一條的哈希 | 重寫整條尾鏈(但指紋只活在我們自己的庫裡) | | ② 外部見證(第 5 期) | GitHub 每天記錄一次鏈尾指紋 | 同時攻破我們的數據庫 GitHub 的記錄 | | ③ 公鏈錨定(本期) | 把指紋釘進比特幣 | 還要重寫比特幣——這件事沒有人做得到 |

每往外一層,"悄悄篡改"的代價就從"點一下刪除"抬高一級,直到最後一級——抬到沒有人付得起。

這一期:把指紋釘進比特幣

審計鏈的鏈尾指紋,本身就是一個 sha256(整本日誌此刻的"合影")。我們把它提交給 OpenTimestamps:它把成千上萬個這樣的指紋聚合成一棵默克爾樹,樹根寫進一筆比特幣交易。於是我們得到一份 .ots 證明,它說的是一句誰都能獨立核對的話:

"這個指紋,在比特幣的某個區塊之前就已經存在了。"

真實結果(線上):

審計鏈尾指紋: 9eb3d0a2a5d0317b1c2f025635a96366137b2cfee98562502cb6cc80363f2a33
已提交到 4 個比特幣日曆服務器(opentimestamps / eternitywall / catallaxy)
狀態: 已提交,待比特幣確認(約數小時後升級為永久證明)
證明: 隨 /api/audit-anchor 公開,任何人可獨立驗證

免費、無需私鑰、不花 gas——因為成千上萬個指紋共享同一筆比特幣交易的成本。驗證時,你不需要相信 OceanAlt,也不需要相信 GitHub,只需要相信比特幣。

現在,要想神不知鬼不覺地改寫我們的審計歷史,攻擊者得同時做到三件事:重寫我們的 Neon 數據庫、重寫 GitHub 的記錄、再重寫比特幣。前兩件難,第三件——不可能。

為什麼這是"終局"(以及它不是萬能的)

照例,把沒做到的說清楚:

  1. 時間戳證明的是"存在與不變",不是"內容正確"。 它鎖死的是:某時刻我們賬本的指紋是 X;如果之後我們把賬本改了,新指紋對不上被錨定的 X → 當場露餡。但它不保證 X 背後的記錄一開始就寫對了——它保證的是自錨定那一刻起,再改就藏不住
  2. 錨定有間隔,篡改窗口 = 間隔。 我們按天錨定,所以"能被無痕改動"的最長窗口,就是一天;縮短間隔=縮短窗口。
  3. 比特幣確認要等。 提交後約數小時才進區塊;在那之前,證明由日曆服務器的承諾兜底,可隨後升級為完整的比特幣證明。
  4. 這是時間戳,不是"把我們的數據放上鍊讓全網共識"。它讓篡改可被發現、無法抵賴,而不是讓篡改物理上不可能

我們沒有假裝它是銀彈。它是這條階梯的最後一級——而一條誠實的階梯,比一個誇大的承諾更值得信。

六期,我們打了自己五次

擋住六發 → 漏了單日累計 → 歸因地基是空的 → 日誌能抹掉 → 支付能重放 → 證據能否認。六期裡,我們被自己打穿五次,每一次都公開寫了出來。

這不是最難看的六頁,是最有說服力的六頁。因為在這個賽道,任何人都能宣稱自己安全,而且這樣說不需要任何代價;只有敢把自己打穿的過程公開的人,值得被相信。 一套標準的可信度,不來自它宣稱多完備,來自它被自己人打穿時,敢不敢把結果貼出來——連續六次。

下一期

我們會回頭審真實上鍊的結算路徑本身(鑑權檔),看它有沒有自己的重放/對賬邊界;並把公鏈錨定做成任何人都能盯著看的每日節律。

看指紋與比特幣證明:/api/audit-anchor · 親手打一次:oceanalt.com/firewall · 用你自己的 Agent 測:集成指南

(OceanAlt 攻防實驗室 · 研究筆記)

分享:XLinkedInFacebookTelegramWhatsApp微博🖼 海報(英文)

這篇內容的出處與狀態

署名
OceanAlt 編輯部
首次發佈
2026-07-20
最後更新
2026-08-14
原始資料
未標註來源

引用這篇內容

OceanAlt 編輯部(2026)。《攻防實驗室 #6:把審計指紋釘進比特幣——連我們和 GitHub 都無法抵賴》。OceanAlt。https://oceanalt.com/zh/articles/attack-lab-6-anchored-to-bitcoin(訪問日期:2026-09-16)

本文遵循 編輯準則與事實核查標準。發現錯誤請告訴我們,核實後會在此處公開更正。

先試一下 · 免費、不用註冊

付款前把收款地址粘進去,看它有沒有上過制裁名單、混幣器或詐騙標籤。

這套判斷也可以放進你自己的產品

一行代碼,不碰你的樣式和 JS。同一套結算前風險判斷可以出現在你的文章、你的錢包確認頁,或者作為接口供你的 Agent 在付款前調用。

組件不收集讀者身份。接入不代表 OceanAlt 對你的產品或頁面上的地址作安全背書。