閃電小費

2026年8月2日 星期日

你無法審計的那一層 (The Layer You Cannot Audit)

The Bitcoin Intelligence Essays · 特別隨筆 · TRUST

你無法審計的那一層
(The Layer You Cannot Audit)

我遵循了比特幣自主託管的所有規則,卻依然遭受了重大損失。到底哪裡出了問題?而我現在正在做出什麼改變。

作者:Oliver L. Velez  |  發布時間:2026 年 7 月

7 月 30 日晚上,我的錢包顯示著一筆已經不屬於我的比特幣。

餘額看起來正常,地址看起來正常,我的硬體錢包也照常簽署了交易。

但網路拒絕了這筆交易。

那些幣早已被轉走了。

我參與比特幣領域已有多年,一直以來都在教授資產所有權、自主託管(Self-custody),以及「真正擁有資產」與「僅擁有他人承諾」之間的本質區別。我沒有將助記詞輸入過電腦,沒有將它備份在雲端,也沒有把它輸入到手機、網站或密碼管理器中。助記詞是在完全離線(氣隙Air-gapped)的簽署設備上生成的,經過了妥善備份與驗證。我的 Sparrow 錢包設定為唯讀模式(Watch-only),並連接到我自己的全節點。

我嚴格遵守了所有的規則。

但我依然失去了數額重大的比特幣。

最讓人難以接受的,並不是比特幣失敗了——比特幣並沒有失敗。最難接受的是,我遵守了每一條被公認的自主託管法則,但這依然不夠。

我不會公開損失的具體金額。因為數字會模糊焦點,而數字並不是這件事的核心教訓。真正重要的是:這並不是因為我點擊了釣魚連結、洩漏了復原助記詞,或是把資產控制權交給了任何人。

這場失敗,從助記詞產生的那一刻就已經注定了。

只是我當時渾然不知。

我是本週浮出水面的 COLDCARD 隨機數生成器(RNG)事件的受害者之一。目前的調查報告顯示,數百個單簽(Single-signature)地址在短短數分鐘內、跨越連續數個區塊被清空。Coinkite 事後已直接承認了這項缺陷:設備的隨機數生成功能存在漏洞,導致產生的助記詞熵值(Entropy)遠低於設計標準;任何理解該漏洞的人,都能藉此重構私鑰。Coinkite 目前表示 Mk3 是受影響最嚴重的型號,較新的設備雖亦受影響,但程度較輕。根據官方估計,Mk3 的有效搜尋空間被降至僅約 40 位元(bits),Mk4、Mk5 和 Q 則約為 72 位元,而原本應有的安全標準是 128 位元。

Coinkite 已發布了關於熵值失效的技術背景說明;完整的技術審查仍在進行中,因此部分細節仍屬初步結論。

然而,這件事所揭示的結構性教訓,並不取決於最終的數位鑑識結果。

私鑰的安全強度,完全取決於創建它時的隨機性。

而使用者在事後,是完全無法審計這種隨機性的。

這正是幾乎沒有人討論過的那一層。

不再真實的餘額

我並不是因為親眼看著比特幣被轉走才發現偷竊事件的。

我是因為嘗試進行一筆無關的交易,結果網路返回了錯誤訊息——提示該筆輸入(Inputs)已經被花費掉了,我才赫然發現。

當時我自己的全節點暫時無法連線,Sparrow 錢包無法查詢最新的區塊鏈狀態,因此它只顯示了上一次成功記錄到的餘額。雖然該餘額已是一天前的數據,但在螢幕上看起來依然像是當前狀態。

我的簽署設備隨後執行了它該做的事:完成交易簽署。

那道簽名證明了我擁有相應的私鑰,但它無法證明那些私鑰曾經控制的比特幣是否依舊未被花費。

只有區塊鏈網路才能確認這一點。

錢包裡的餘額並非資產本身,它只是對帳本當前狀態的一份報告。當報告背後的資料來源過期時,螢幕上的數字只是一幅已經不存在的過去景象。

這項差異在當前極為關鍵,因為受此事件影響的人,自然會打開錢包軟體,看到非零的餘額,便以為自己倖免於難。

千萬不要抱持這種假設。

請務必根據當前的區塊鏈狀態,親自檢查實際地址。盡可能使用您自己同步完成的節點;否則,請交叉使用多家聲譽良好的區塊瀏覽器,逐一驗證各個地址。根據回報,部分受害者似乎遭受了「部分清空(Partial sweep)」,這意味著剩餘的餘額並不能證明底層的助記詞是安全的。

  • 餘額可能是過期的。
  • 剩餘的部分餘額可能會造成誤導。
  • 只有區塊鏈上的記錄才是唯一的真相。

究竟發生了什麼事

目前被報導的資產轉移模式呈現出異常高度集中。

迄今確認被掃空的輸出(Outputs)均為單簽地址(Single-signature)。在當前鑑識報告中描述的受影響地址中,並未出現多重簽名(Multisignature)。這些地址主要為原生 SegWit(Native SegWit),亦有極少數較舊的地址格式。有些錢包被完全清空,有些則似乎僅被部分轉走。

隨著調查深入,這些細節可能會有所調整。

但核心的事實極不可能改變:

如果攻擊者能夠重構控制單簽錢包的那唯一一把私鑰,該錢包就徹底淪陷了。

攻擊者不需要實體接觸設備,惡意軟體不需要穿透離線環境(Air gap),助記詞也不需要被拍照、複製或輸入到任何地方。如果私鑰是從不足的隨機性中生成的,那麼在第一筆存款進來之前,漏洞就已經存在了。

硬體錢包可以完好無損地放在保險箱深處。

而攻擊者可以在地球的另一端進行計算。

這正是這類失效如此危險的原因:它在使用者最缺乏透明度的地方擊敗了使用者——也就是「密鑰本身被創造的瞬間」。

你無法審計的那一層

比特幣給了我們極其強大的驗證工具:

  • 你可以在簽署設備的螢幕上驗證接收地址。
  • 你可以在簽署前驗證交易內容。
  • 你可以驗證韌體簽名。
  • 你可以驗證衍生路徑(Derivation path)。
  • 你可以驗證備份。
  • 你可以驗證多簽的法定人數。
  • 你可以運行自己的全節點並驗證整個區塊鏈。

但是,絕大多數使用者無法獨立驗證:當他們的助記詞生成時,隨機數生成器是否提供了足夠的熵。

復原助記詞看起來可能完全隨機,設備可能會正常運作好幾年,錢包可以毫無問題地接收和發送交易。這一切都無法證明最初的隨機性在密碼學上是健全的。

如果熵值過弱,復原助記詞就無法獲得人們通常與比特幣私鑰聯繫在一起的那種龐大理論搜尋空間的保護。它所受到的保護,僅限於那個有缺陷的生成器所能產生的極小型輸出集合。

一旦攻擊者掌握了該生成器的模式,看似堅不可摧的安全性就會瞬間崩塌。

這並非弱隨機性第一次危害加密貨幣使用者。過去的 Milk Sad 漏洞揭露了 Libbitcoin Explorer 因極度不足的熵所生成的錢包,攻擊者在網路上瘋狂利用了這些私鑰。近期,研究人員又披露了 Ill Bloom 類型的錢包資金抽離事件,原因同樣出自弱隨機數生成器創建的復原助記詞。雖然軟體與情境不同,但結構性的失敗如出一轍:一個秘密看起來隨機,卻是由可預測的過程所產生的。

這種事將來還會再次發生。

不一定會發生在同一家製造商,不一定會發生在同一款設備。但總有一天,在某個地方,另一個實作版本會出錯。

唯一持久的應對之道,是構建一種託管架構:讓單一隱蔽的實作失敗,無法演變成毀滅性的徹底損失。

哪裡出了問題

有些人會利用這次事件聲稱「自主託管已經失敗了」。

它沒有失敗。

自主託管並非只有一種架構。

由一台設備生成、控制單一錢包的單一助記詞,是自主託管。

使用來自不同製造商的獨立設備建立「三取二(2-of-3)」多重簽名,也是自主託管。

這兩者所承擔的風險完全不可同日而語。

這次事件證明的不是「個人沒有能力持有比特幣」,而是證明了:將重大財富集中在單一秘密背後,會創造出一個最終的單點故障(Single point of failure)——即使持有者嚴格遵循了所有被認可的規則。

底層協定沒有失敗。比特幣沒有撤銷任何有效的交易。區塊鏈網路沒有搞錯所有權。

有效的私鑰完成了簽名,而網路完全按照設計執行了該簽名。

失敗的是圍繞著所有權所建立的架構。

單簽託管假設了:單一密鑰是健全的、單一軟硬體實作是健全的、且生成秘密的過程是健全的。只要其中任何一個假設失效,在缺陷與資產之間,就没有任何第二重批准防線。

一個設計合理的多重簽名(Multisig)架構能改變這一點:光是知道一把被破解的私鑰是不夠的;光是破解一台設備是不夠的;光是單一製造商出錯也是不夠的。

這不是對自主託管的否定。這才是真正嚴肅看待自主託管。

交易所託管並未因此獲得洗白

目前有另一種觀點正在抬頭,而它同樣危險:「這證明了人們應該把比特幣留在交易所。」

這根本無法證明這一點。

平心而論,如果有人把這筆資產放在一個始終保持財務健全且誠實的合格託管商那裡,他今天確實依然擁有這些幣。求真求實的態度要求我們明確承認這一點。

但這絕不意味著交易所託管是安全的。

這只不過是用一種風險類型去交換另一種風險類型罷了。

歷史並非虛構。Mt. Gox、FTX、Celsius、Voyager、BlockFi 等無數歷史教訓,各自展示了同一個真理的不同版本:由中間人持有的加密貨幣,始終暴露在中間人的償債能力、內部控制、利益動機、治理水平及法律處境之中。

倖存下來的託管商在事後看來總是理所當然地安全。而在倒閉之前,那些失敗者往往看起來也同樣聲譽卓著。

交易所託管並沒有消除信任,它只是把信任轉移到了一家機構身上——而存款人對該機構內部狀況的審計能力,甚至可能比對一個硬體錢包還要低。

當加密貨幣放在交易所時,持有者在失去存取權的那一刻之前,可能根本無法知道這些資產是被完全儲備、被抵押、被借出、被混用、被凍結,還是面臨著比自己優先級更高的債權要求。

所以,不:這次事件絕不能成為將改變人生的重大金額留在交易所的藉口。

它也不該被用來當作恐嚇人們遠離自主託管的工具。

正確且更加成熟的結論是:

無論是託管機構還是簽署設備,都不配獲得無條件的信任。

我們的任務不是去尋找一個「風險完全消失」的神聖之地。

我們的任務是識別風險存在於何處,限制任何單一失敗所能造成的破壞程度,並建立一個能夠在單一元件失效後依然存活的結構。

只要設計得當,自主託管依然是長期持有重大比特幣資產的最佳歸宿。

但單簽集中託管並非自主託管的最高形式。它只是最簡單的形式。這兩者絕不能混為一談。

現在誰應該採取行動

根據目前回報的曝險情況,任何助記詞是在受影響的 COLDCARD 韌體關注點上記錄生成的人——尤其是上述的 Mk3 版本——都應該嚴肅看待此事件,特別是在該錢包為單簽且使用強大、獨特的 BIP-39 密語(Passphrase)的情況下。

技術調查仍在積極進行中,因此受影響的使用者應依賴製造商最新的官方指引與可靠的安全研究,而非僅憑社交媒體上的摘要。

但任何有合理理由懷疑助記詞可能洩露的人,都不該在資金仍冒風險時等待完美的確定性

在更新後的韌體(Mk3 4.2.0 或更高、Mk4/Mk5 5.6.0 或更高、Q 1.5.0Q 或更高)或您信任的其他設備上,生成一個全新的助記詞。

根據 Coinkite 的說明,更新至 4.2.0 後,空的 Mk3 可以透過手動輸入至少 99 次公正、獨立、私密的擲骰子結果來構建替代助記詞,從而完全繞過設備內部的隨機數生成器。

不要將舊的助記詞還原到新設備上並稱之為遷移。還原舊助記詞只會完整複製舊有的漏洞。

直接在目標簽署設備上驗證新的接收地址。轉移全部的曝險餘額,切勿在您認為可能受損的金鑰上故意留下零頭(Change)。

然後,識別並重新定向每一個可能繼續向舊錢包發送比特幣的系統:

  • 交易所提款地址
  • 定額定投(Recurring purchases)
  • 礦池收益發送
  • 客戶發票
  • 儲存的地址簿
  • 自動轉帳與固定指令

否則,受損地址在原始餘額轉走後仍會繼續接收資金,讓一場已經結束的災難變成持續性的「捐款」。

使用 BIP-39 密語(Passphrase)的使用者可能會獲得額外的保護,具體取決於該密語是如何創建與使用的。然而在精確的攻擊機制調查清楚之前,不要把潛在保護誤認為絕對的安全。Coinkite 聲稱,使用至少 50 次公正、獨立、私密的擲骰子生成的助記詞,單就此漏洞而言不被視為處於風險中。

當潛在損失金額重大時,請直接進行遷移。

如果不幸檢查時資金已被轉走,在做任何事之前請先記錄一切:受影響的地址、清空資金的交易 ID(TxID)以及時間戳記。這些記錄是未來進行分析、報案及任何可能追討的依據。隨後,將剩餘資金從該助記詞派生的每一個地址中移走(包括目前仍顯示有資金的地址)。

此類事件往往會吸引冒充者。任何製造商、錢包提供商或交易所絕不會向您索取助記詞,不會主動透過私訊聯繫您,也不會要您將資金發送到他們提供的地址。遷移過程僅發生在您已經控制的軟體內部、進入您自己掌握密鑰的錢包中。任何主動聯繫並聲稱協助您轉移加密貨幣的人,都是想騙走您的資產。

如果您的比特幣存放在包含受影響金鑰的多簽錢包中,在準備遷移期間有一個更快的臨時保護步驟(Nunchuk 本週公布了該機制):從某個地址花費資金會永久在鏈上揭露其公鑰,攻擊者重構受影響的助記詞後,僅凭公開資料就能比對並定位該地址。如果您從未花費過資金的地址則不具備這種直接曝險。將資金從先前使用過的地址中移出,能在幾分鐘內堵住最容易被利用的漏洞。

如果您是在幾個月或幾年後看到這篇文章,請不要以為危險是一模一樣的。具體的技術漏洞可以被修復,但結構性的教訓永不過期

我正在做出什麼改變

多年來我一直推薦 COLDCARD。

在 2021 年的短暫期間,我也曾是 COLDCARD 的推廣合作者(Affiliate)——這是我與 Coinkite 唯一的商業關係。在該關係之前、期間以及結束很久之後,我都一直在推薦這款產品,因為我當時認為它是市面上最強大的純比特幣(Bitcoin-only)簽署設備之一。

比特幣社群中許多非常嚴肅且受人尊敬的人士也達成了相同的結論。

當時的推薦並非失去理性,而是基於當時所能獲取的最佳資訊。

但這次的經歷徹底改變了我對「負責任託管」的認知。

不是因為每台 COLDCARD 都不安全,不是因為現在應該懷疑所有的硬體錢包,更不是因為自主託管是一個錯誤。

它改變我的觀點是因為:任何單一製造商、任何單一實作、任何單一設備,都可能以使用者無法察覺的方式默默出錯。

沒有任何聲譽可以消除這種可能性。沒有任何品牌應該作為唯一的授權點,托起無限數量的比特幣。

我正在採納三條原則:

原則一:重大資產採用「多廠商多重簽名」(Multi-vendor Multisig)

如果法定人數中包含相關聯的風險,光是多重簽名也是不夠的。

如果「三取二」架構中的兩把私鑰是由同一個型號、同一個韌體家族或同一家製造商生成的,它依然集中了實作風險。製造商範圍內的缺陷可能會影響法定人數中的一把以上的私鑰。

重大資產應使用來自不同製造商的獨立簽署設備。

這樣做目的不是追求視覺上的多樣性,而是追求失敗的獨立性(Failure independence)

如果一家廠商被破解、出錯、被脅迫、存在缺陷或純粹弄錯了,這場意外最多讓多簽法定人數失去一把金鑰——而不是失去整個錢包。

沒有單一設備能夠獨自動用資金,沒有單一設備能夠獨自弄丟資金。

原則二:為每個託管層級設定書面上限

一個只由「用途」定義而沒有「最高金額」限制的錢包,終究會發生「風險漂移(Risk drift)」。這件事就發生在我身上。

一個錢包一開始可能只是用來存放日常資金的便利場所。隨著時間推移,存款陸續進入,每一次單獨的轉帳看起來都很合理,沒有哪一筆大到足以觸發整個架構的重構。最終,錢包裡積累的金額,徹底脫離了保護它的底層架構所能承載的能力。

沒有最高配額限制的錢包,不叫階梯式託管,那是對風險漂移的公開邀請

每個錢包都應該有明確的書面上限。當餘額超過該上限時,超出部分應自動轉移到更強大的結構中。不是等到方便的時候,不是等下一筆存款進來後,也不是等市場上漲之後。而是自動執行

託管架構需要風險控制上限,這與投資組合需要風控的理由完全相同。危險極少發生在某個戲劇性的單一決定中,它往往累積於一連串單獨看起來都無害的決定之中。

原則三:單簽僅適用於「承受得起損失」的金額

這不是一條針對 COLDCARD 的規則,這不是一條針對任何特定製造商的規則。這是一條關於「結構」的規則。

單簽意味著:單一秘密可以授權一切。因此,單一未被發現的缺陷可以奪走一切。

對於日常消費餘額、戰術性持有、旅遊錢包,以及損失後不會實質改變你生活的金額,這種折衷是可以接受的。但對於足以改變人生的重大金額,這絕對不可接受

單簽不是用來存放「你預期會失去」的金額,而是用來存放「即使失去也不會毀掉你」的金額。

僅僅「擁有」是不夠的

多年來我一直寫道:比特幣是無需用於即時開支的資本的終極歸宿。我至今依然深信不疑。

這次事件完全沒有改變比特幣的貨幣特性:沒有改變其固定總量,沒有改變其無發行者的本質,沒有改變結算的終局性(Finality),也沒有改變無須許可即可擁有資產的能力。

但是在「擁有比特幣」與「正確持有比特幣」之間,存在著巨大的鴻溝。

本週,我以極其高昂的代價學到了這個教訓。

協定沒有失敗。比它更深的一層在暗中失敗了——甚至可能在偷竊顯現的數年之前就已經失敗。

我手握助記詞,我擁有設備,我有妥善備份,我嚴格遵守了規則。

但我唯一沒有的,是一個能在「一切所依賴的那唯一金鑰失效後」依然存活下來的架構。

自主託管並不意味著「什麼都不信任」。它的真正涵義是:明確決定信任保留在何處,並確保沒有任何單一被信任的元件能夠帶走一切。

這就是給我們的教訓:

  • 不是放棄自主託管。
  • 不是把你的未來交給交易所。
  • 不是去尋找一個「永遠不會出錯」的神級製造商。
  • 建立一個「即使單一製造商出錯,你依然能存活下來」的架構。
  • 建立一個「即使單一金鑰暴露,也不足以動搖資產」的架構。
  • 建立一個「沒有任何單一缺陷能成為最終絕響」的架構。

除此之外的一切,都不過是在賭「某一底層永遠不會失效」。

而這場賭局,我再也不會參與了。

The Bitcoin Intelligence Essays — 持續探索讓比特幣至關重要的核心原則。
結構性比特幣分析,每週日發布 — 完整紀錄請見 btcintelligencereport.com/issues/

2026年8月1日 星期六

當晶片隨機數不再可靠:從 Coldcard 低熵漏洞看主要冷錢包廠商的「熵安全」哲學

當晶片隨機數不再可靠:從 Coldcard 低熵漏洞看主要冷錢包廠商的「熵安全」哲學

標籤:加密貨幣安全 冷錢包 硬件錢包 Bitcoin 密碼學

2026年7月31日發生的 Coldcard 低熵漏洞事件,無疑給整個加密貨幣硬體安全領域敲響了警鐘。由於韌體在庫連結(libsecp256k1)時的編譯配置錯誤,導致多款機型產生的助記詞熵值(Entropy)大幅低於密碼學標準(甚至低至 72 位元以下),引發離線暴力破解的安全危機。

這起事件暴露了一個核心問題:「即使配備了高規格的安全晶片(Secure Element),我們還能完全信任硬體產生的隨機數嗎?」


一、 各大冷錢包廠商的技術立場與架構回應

面對「硬體 TRNG 故障或後門」的風險,產業內各大廠商展現了不同的防禦哲學與技術路線:

廠商 / 品牌 核心安全立場與架構 物理熵 / 外部熵支援機制
Keystone 主打開源與多源熵混合。採用獨立三晶片架構(3 SE),強調可重複編譯與社群稽核。 支援(螢幕觸控輸入)
可在螢幕上記錄擲骰子點數(Dice Roll)直接注入物理熵。
BitBox 強調「多源熵防禦」。預設強制結合 MCU TRNG + SE TRNG + 設備金鑰 + 用戶熵。只要單一熵源正常即可保證安全。 支援(微型觸控列)
允許用戶設定時透過微型觸控列手動注入額外熵值。
Trezor 強調「可重複編譯驗證(Reproducible Builds)」與程式碼審查,防止編譯鏈層面的隱形漏洞。 支援(SD 卡/軟體端)
支援透過 MicroSD 卡或命令行工具導入用戶自訂熵。
Blockstream Jade 主張物理世界噪點。認為單純依賴晶片 TRNG 存在密碼學盲點,鼓勵將實體世界變數導入金鑰生成。 支援(相機與骰子)
支援拍攝環境物理噪點(相機雜訊)或手動輸入擲骰子結果。
Ledger 堅守閉源高規格安全晶片(EAL6+),強調晶片 TRNG 通過 FIPS 140-2 / AIS-31 測試,硬體認證才是防禦關鍵。 不支援
完全由安全晶片內部生成隨機數,不開放用戶注入外部物理熵。
Tangem 採取 Seedless(無助記詞)架構,私鑰直接在晶片內生成且永遠不可導出,靠多張卡片互相備份。 不支援
因無螢幕按鍵且採用無助記詞設計,無法輸入外部物理熵。
CoolWallet 薄卡設計(CC EAL6+ SE 晶片),私鑰生命週期被嚴格鎖死在晶片內。支援導出助記詞,但簽署僅在晶片內完成。 不支援
受限於薄卡物理形態(僅單色電子紙與單一按鈕),無法進行擲骰子等複雜熵輸入。

二、 業界兩大安全哲學的對立

從上述廠商的表態可以看出,冷錢包產業已分化為兩大陣營:

  1. 極客 / 密碼學派(Keystone, BitBox, Trezor, Blockstream):
    核心邏輯是「不信任任何單一晶片或韌體」。他們認為硬體晶片可能包含後門,編譯器也可能出錯。因此必須透過開源審查,並提供用戶輸入物理熵(擲骰子)或多源熵(MCU + SE)混合的機制。
  2. 硬體隔離 / 防人為失誤派(Ledger, Tangem, CoolWallet):
    核心邏輯是「不信任用戶的人為操作」。他們認為人為擲骰子(骰子不公、輸入錯誤)或抄寫助記詞帶來的安全性漏洞,遠大於安全晶片故障的風險。因此選擇將私鑰與隨機數完全交給符合最高安全認證(EAL6+)的硬體 TRNG 處理。

三、 使用「擲骰子(Dice Roll)」輸入物理熵真的萬無一失嗎?

為擺脫對黑盒晶片的依賴,越來越多進階用戶選擇透過擲骰子來輸入物理熵。從密碼學角度來看,一顆標準的六面骰(D6)每次拋擲可提供約 2.585 位元的熵:

  • 50 次有效拋擲:可獲得約 129 bits 熵(滿足 12 字助記詞需求)。
  • 99 次有效拋擲:可獲得約 256 bits 熵(滿足 24 字助記詞需求)。

⚠️ 物理熵實務上的隱患與盲點:

  • 韌體哈希邏輯漏洞:若設備韌體有惡意後門或程式碼邏輯寫錯,即使用戶輸入了完美的骰子熵,韌體在將骰子熵與設備熵進行混合時仍可能丟失強度。
  • 物理偏誤:普通的桌遊骰子常有質量分佈不均的問題,導致拋擲結果並非完全隨機(建議使用賭場級精密骰子)。
  • Checksum 依賴:BIP-39 助記詞的最後一個字包含校驗碼(Checksum),依然需要透過設備晶片運算生成。

四、 結論:打造終極安全的最佳實踐策略

Coldcard 事件給我們的教訓是:「單一設備、單一供應商的防護永遠存在單點故障(Single Point of Failure)的風險。」

對於管理重大資產的冷錢包使用者,建議採用以下分層防禦架構:

  1. 物理熵 + 多源混合:若使用單簽,優選支援 99 次擲骰子手動輸入且程式碼開源可審查的設備(如 Keystone、Blockstream Jade)。
  2. 啟用強 Passphrase(第 25 個字):設定一個足夠強大的隨機 Passphrase(16 字元以上),這能在助記詞熵值遭硬體瑕疵削弱時,額外建立一道獨立的密碼學屏障。
  3. 跨品牌多重簽名(Multisig 2-of-3):這是對抗單一廠商韌體漏洞最徹底的手段。例如組合 Trezor + BitBox + Keystone 建立多簽,即使未來有任何一家廠商再度爆發隨機數生成漏洞,攻擊者取得單一私鑰也絕對無法轉走資產。

Coldcard 硬體錢包爆出重大亂數瑕疵,哪些機型受影響?

Coldcard 硬體錢包爆出重大亂數瑕疵,哪些機型受影響?

整理自 Block 工程團隊與 Coinkite(Coldcard 官方)最新公告,資料更新至 2026/7/31

這次出了什麼問題?(用白話講)

任何一個「錢包」的安全性,最核心的基礎就是產生私鑰時用的亂數夠不夠隨機。如果亂數不夠隨機、甚至可以被猜出來,攻擊者就能直接算出你的私鑰,錢包裡的比特幣就會被偷走。

Coldcard 硬體錢包的韌體中有一個底層程式錯誤:原本應該用晶片內建的「硬體亂數產生器」來生成私鑰,結果因為一行判斷式寫錯,系統誤判成「硬體亂數不可用」,於是自動退回使用一套軟體模擬的假亂數產生器(Yasmarang 演算法)。

這套軟體亂數的問題在於,它的「種子」(初始輸入值)來自晶片的固定序號、系統計時器等可被外部觀察或推算的資訊,而不是真正不可預測的物理亂數。只要攻擊者能掌握或縮小這些輸入值的範圍,就有機會離線重現整個亂數序列,進而反推出你的私鑰。

【最新】官方確認受影響範圍與修復版本

Coinkite(Coldcard 官方)在 7/31 發布正式公告,確認的受影響範圍比最初分析更廣,Mk4/Mk5/Q 也正式被列入受影響名單

裝置型號受影響韌體版本修復版本
Mk3v4.0.1 – v4.1.9v4.2.0 以上
Mk4 / Mk5(標準版)v5.6.0 以前v5.6.0 以上
Q(標準版)v1.5.0Q 以前v1.5.0Q 以上
Mk4 / Mk5(Edge 版)v6.6.0X 以前v6.6.0X 以上
Q(Edge 版)v6.6.0QX 以前v6.6.0QX 以上
⚠️ Standard 跟 Edge 是分開的版本序列,別被 Edge 版本號比較大搞混,一定要裝對應自己機型與版本軌道的修復版。

TAPSIGNER、OPENDIME、SATSCARD 完全不受影響,因為是完全不同的程式碼庫。

Mk4/Mk5/Q 在修復版本之前產生的種子,安全強度只有約72 位元,遠低於應有的 128 位元,官方用詞是「嚴重程度較低,但仍然嚴重(still serious)」。

關鍵提醒:判斷是否受影響,看的是「生成這組私鑰當時」所用的韌體版本,不是裝置的出廠日期或現在的韌體版本。升級韌體不會回頭修補已經產生的舊種子——一定要照下面流程重新產生新種子並搬家。

兩種可以暫緩遷移的例外情況

  • 有用「Add Dice Rolls」加骰子補充亂數:投擲 50–98 次獨立公正的骰子,等於額外貢獻至少 128 位元熵;99 次以上約等於 256 位元。只要骰子過程沒被記錄或外流,官方認為這種情況下的種子不受此次 RNG 問題影響。如果不確定自己當初擲了幾次、或骰子紀錄是否外流過,還是建議遷移。
  • 有加高強度、獨一無二的 BIP-39 passphrase:這是額外的一道防線,但短的、常見的、有規律的、或重複使用過的 passphrase 不能算安全。即使有 passphrase,官方仍建議儘快遷移到新種子。

官方遷移步驟(適用所有機型)

  1. 確認已安裝對應機型的修復韌體版本
  2. 已更新的裝置上產生一組全新種子
  3. 抄寫並核對備份,先別急著存錢進去
  4. 在裝置螢幕上驗證一個新的收款地址
  5. 先用小額做測試轉帳,確認新錢包能正常運作
  6. 測試沒問題後,才把剩餘資金全部搬過去
  7. 遷移完全確認前,舊的備份先別銷毀

如果只有一台 Mk3、沒有第二台裝置:升級到 4.2.0 後,可以在同一台機器上先驗證舊備份 → 產生新種子並驗證 → 用舊種子小額測試轉帳到新地址 → 確認無誤後把舊種子資金全部轉入新錢包,整個過程要小心在新舊種子間切換。

官方特別提醒:「遷移過程中犯錯,可能比漏洞本身造成更大損失」——急不得,每一步都要照順序核對清楚。

這會影響到哪些功能?

不只是主錢包的助記詞,同一套有問題的亂數還被用在:

  • 新建錢包種子、紙錢包私鑰
  • 種子的 XOR 分割備份
  • 裝置間複製(Cloning)、USB 加密的臨時金鑰
  • Key Teleport 傳輸功能
  • Web2FA 兩步驟驗證的密鑰
  • Secure Notes 密碼產生器
值得一提:就算你用的是多簽(multisig)方案,只要所有簽名裝置全部都是受影響的 Coldcard,這個弱點依然成立,必須至少有一把安全的金鑰在其中,才能真正發揮多簽該有的保護效果。

這篇整理自 Block 工程團隊與 Coinkite 官方公告,官方投資調查仍在進行中,正式技術報告尚未發布,後續細節可能持續更新。

資料來源:Block Engineering Blog〈Predictable RNG Fallback and 32-Bit Reseed in COLDCARD Firmware〉;Coinkite 官方部落格〈Mk3 Security Advisory〉,更新於 2026/7/31。

Coldcard 漏洞資金流向調查與鏈上分析

資安漏洞分析

Coldcard 漏洞資金流向調查與鏈上分析

主推文(@glxyresearch
我們根據 Block 工程師發現、並由 @clay_garrett 分享的模式,繪製了 Coldcard 漏洞的資金流向圖。
⏱ 關鍵時間視窗:
在 7 月 30 日 UTC 時間 01:10:20 至 01:51:26 之間(共 41 分鐘,區塊 960,183–960,191),共有 1,196 個地址被完全清空,總計 1,082.65 BTC(約 7,020 萬美元)。這比硬體錢包廠商公開發布安全公告早了約 30 小時。

🚨 攻擊特徵分析:

每一筆 sweep 交易都支付完全相同的硬編碼手續費 30.0 sat/vB(比當週中位數 0.4–1.0 sat/vB 高出 30–75 倍),且沒有找零輸出。這看起來像是自動化工具在使用它已經掌握的私鑰花費資金,而不是擁有者自己在移動資金。

📄 受害者地址類型:

  • 1,183 個 原生 SegWit(BIP-84)
  • 7 個 BIP-49
  • 6 個 BIP-44

與多路徑金鑰掃描(Multi-path Key Scanning)一致。



💰 收益彙整地址:
收益在幾分鐘內完成彙整,之後至今未再移動:

• bc1qq85v2c9…cu9r — 562.02 BTC
• bc1qx76cae2…fhe3 — 398.48 BTC
• bc1q8jy96fe…tp3q — 89.62 BTC
• bc1qnk4zh9q…fecp0 — 32.45 BTC (未移動)
💬 作者後續留言(依時間順序)
留言 1
雖然如果用戶不把資金從受影響的 Coldcard 生成地址中遷移出去,新的攻擊仍可能發生,但這次初始攻擊在鏈上是可識別的。請注意,本分析可能並不完整,但這是我們盡力評估初始影響範圍的結果。
留言 2 📷 附圖
這次事件最關鍵、最具辨識度的特徵是它的手續費。比特幣每天都有成千上萬筆彙整交易,單純「多個輸入匯入同一個目的地」本身是極弱的訊號(網路上每一家交易所都會產生這種模式)。讓這次事件與眾不同的是:手續費是固定常數

留言 3 📷 附圖
整個事件橫跨 6 個區塊、共 41 分鐘。中間有 3 個區塊完全沒有 sweep 活動,顯示這些交易是分批廣播,而不是持續串流發送。

留言 4 📷 附兩張圖
損失分布在數量上以低於 1 BTC 的地址為主,但在金額上則以 1–50 BTC 的地址為主。這是個人自我保管(self-custody)的典型樣貌,而非機構或交易所持有的模式。


留言 5
目前,本波攻擊中被識別出的資金正存放在以下 4 個地址:
bc1qq85v2c926eg6pgxhwp6q7lf6cnsz80qs3fcu9r
bc1qx76cae2706qd5q576feh7xq8rfcsjpf2htfhe3
bc1q8jy96fe5lf8vfugydnte3cguk92gpev7kwtp3q
bc1qnk4zh9qcnap2mycp56qjrgza3cc8ylrh8fecp0
我們正在監控這些地址。

2026年7月31日 星期五

Coldcard Mk3 Low-entropy attack events

從 Coldcard Mk3 低熵值漏洞事件,看比特幣硬體錢包亂數生成與防護實踐

標籤:比特幣 硬體錢包 Coldcard Keystone

比特幣硬體錢包歷史上發生了一起極為嚴重的安全性漏洞事件。知名硬體錢包製造商 Coinkite 旗下的 Coldcard Mk3 證實因舊版韌體程式碼瑕疵,導致生成助記詞時的熵值(Entropy)大幅下降,攻擊者藉此透過算力掃蕩爆破私鑰,在短時間內轉走了約 594.48 BTC(當時價值高達 3,800 萬美元)。

一、 Coldcard Mk3 事件核心與漏洞成因

技術成因:跳過硬體 TRNG 的程式碼失誤

該漏洞源於 2021 年 3 月發布的韌體更新中的一次整合失誤(Regression Commit)。當使用者執行「建立新錢包(New Wallet)」時,系統意外跳過了硬體真隨機數生成器(TRNG),改為調用可被預測的軟體偽隨機數生成器(PRNG)

熵值崩塌對比:
標準 BIP-39 助記詞應具備 128 ~ 256 bits 的熵值,在數學上無法被暴力破解;但受影響的 Mk3 所生成的助記詞,有效熵值暴跌至僅約 40 bits。這使得攻擊者利用現代 GPU/ASIC 集群,即可在離線狀態下迅速列舉並爆破出所有可能的私鑰。

完整時間線回溯

  • 2021 年 3 月 17 日:Coinkite 推送 Coldcard Firmware v4.0.0 / v4.0.1,瑕疵程式碼正式隨韌體進入生產環境。
  • 2023 年 6 月:Coldcard Mk3 達到生命週期終點(EOL),官方停止主要維護。最後的版本停留在 v5.0.3,意味著 v4.0.1 至 v5.0.3 之間於 Mk3 上直接生成的助記詞全數暴露於危險中
  • 2026 年 7 月 30 日(爆發期)
    • 01:31 – 01:56 UTC:攻擊者發動自動化腳本,在比特幣區塊 960188 至 960191 之間,精準歸集並清空約 500 個單簽低熵錢包,轉走約 594.48 BTC。
    • 社群通報與官方證實:多位安全研究員(如 Wizardsardine 團隊)接獲受害者通報,Coinkite 隨後發布安全警示(Security Advisory),證實 Mk3 熵值缺陷。
  • 2026 年 7 月 31 日:Coinkite 發布緊急修復韌體(Mk4/Mk5 更新至 v5.6.0+,Coldcard Q 更新至 v1.5.0Q+)。

受影響與不受影響範圍

類別 條件說明
🚨 高風險(受影響) 在 v4.0.0 ~ v5.0.3 韌體的 Mk3 上,直接透過裝置選單產生助記詞,且未設定 BIP-39 Passphrase 或實體擲骰子者。
🛡️ 安全(不受影響) 1. 助記詞於 2021 年 3 月(v4.0.0)以前生成。
2. 生成時附加了強大的 BIP-39 Passphrase(密碼短語)。
3. 生成時採用 99+ 次實體擲骰子(Dice Rolls) 手動注入熵值。
4. 採用多重簽名(Multisig)架構。
5. 助記詞由其它安全離線設備生成後才匯入 Coldcard。

二、 Keystone 團隊的技術回應與架構剖析

事件發生後,另一個知名硬體錢包品牌 Keystone(如 Keystone 3 Pro)官方團隊與資安社群迅速作出技術回應,剖析亂數生成架構的差異,並提出了關鍵的安全防範主張:

1. 雙重 TRNG 與安全晶片(Secure Element)防護

Keystone 強調,其裝置在生成種子時,不單純依賴 MCU 邏輯,而是強制結合硬體安全晶片(如 Microchip ATECC608A)內建的 TRNG。即便 MCU 韌體出現邏輯漏洞,安全晶片獨立的物理熱噪訊 TRNG 仍會持續注入亂數,避免系統跌入低熵區間。

2. 宣導「物理骰子熵值(Dice Rolls)」

「絕對信任硬體 RNG 永遠存在單點風險,物理熵才是最終防線。」Keystone 藉此宣導,用戶可善用裝置原生的 Dice Rolls 功能,自行擲骰子 99 次以上輸入點數,從物理層面完全規避軟體與晶片 PRNG/TRNG 潛在的開發瑕疵。

3. 倡導「多重簽名(Multisig)」與「跨品牌混合」

本次受害的 500 多個地址全數為單簽錢包。Keystone 建議大額資產應採用如 2-of-3 多簽架構(例如搭配 Keystone + Coldcard + Passport)。在多簽機制下,即使單一品牌的硬體錢包出現軟體漏洞導致私鑰洩露,攻擊者仍無法單獨劃轉資產。

三、 給使用者的緊急處置建議

⚠️ 極度重要警告:僅升級韌體無法修復舊錢包!

如果你的助記詞是在受影響期間(2021/03 ~ 2026/07)於 Coldcard Mk3 上生成的,該助記詞本身的數學空間已經被縮小(弱熵)。即使你將該組助記詞匯入最新版韌體的 Coldcard、Keystone 或其他任何錢包,私鑰依然處於可被爆破的危險狀態。

  1. 立即建立新錢包轉移資產:受影響用戶必須在修復版韌體或其他安全的設備上,生成全新的助記詞,並將鏈上資產全數轉移至新地址。
  2. 排查匯入設備:若曾將 Mk3 生成的弱助記詞匯入至 Keystone 或其他熱錢包,請勿繼續使用該錢包地址,應立即替換。
  3. Mk3 臨時防禦措施:若手頭僅有 Mk3 且無法立即更換新機,新建錢包時請務必加上強大的 BIP-39 Passphrase,或使用 Dice Rolls 手動輸入 99 次骰子點數生成新種子。

本文內容僅供安全衛教與技術交流參考,不構成任何投資與資產處置建議。請廣大幣圈用戶定期審視冷錢包安全更新。

2026年7月19日 星期日

110個理由說明BIP 110是一個壞主意(110 Reasons BIP 110 Is a Bad Idea)

支持中立規則、硬共識、開放市場與無許可創新的理由

作者:Michael Saylor 原文連結

我尊敬許多支持 BIP 110 的比特幣支持者。他們希望保持驗證的可及性、保護節點營運商免受不必要(unwanted)的成本和內容干擾、維護低成本支付,並讓比特幣專注於健全貨幣而非通用數據儲存。這些都是嚴肅的擔憂。我認同這些目標,但不同意他們的解決方案。(GitHub

本文是對該提案的批評,而非針對提出者本人。我假設他們出於善意。比特幣最強大的時候,是我們能夠激烈爭論卻不把盟友誤認為敵人的時候。

這也不是在為每一條銘文、代幣、文件或應用辯護。有些可能輕率、有害或欺詐。問題更窄:是否應該通過修改共識規則來處理當前有效、支付費用的交易用途?

以下每條理由權重不同,許多相互強化。整體論點是累積性的。

BIP 110 提議的內容

本文針對的是 BIP 110 版本 1.0.0,即「Reduced Data Temporary Softfork」(減少數據臨時軟分叉),於 2026 年 6 月 25 日推進至 Complete 狀態。根據 BIP 3,Complete 意味著作者已完成計劃工作並推薦採用,但並不意味著比特幣已採用該提案或社區已達成共識。BIPs 倉庫明確聲明,發布不代表提案良好、具有社區共識或即將被採用。(GitHub

在約一年的激活期內,BIP 110 將增加七項共識限制:

  • 新 scriptPubKey 限制為 34 位元組(OP_RETURN 有 83 位元組例外);
  • 許多推送負載和腳本參數 witness 項限制為 256 位元組;
  • 禁止花費未定義的 witness 和 Tapleaf 版本(但仍允許創建此類輸出);
  • 禁止 Taproot annex;
  • Taproot 控制塊上限 257 位元組;
  • 拒絕包含 OP_SUCCESSx 操作碼的 Tapscript;
  • 拒絕 Tapscript 中 OP_IF 或 OP_NOTIF 的執行。

該提案對激活前創建的未花費交易輸出(UTXO)進行祖父條款(過渡條款)保護。這是一項重要保障。我不認為 BIP 110 會廣泛沒收現有比特幣。我的反對更窄:它前瞻性地移除當前有效的交易功能,可能影響跨越激活期的罕見預簽名工作流,減少技術選擇性,並開創用共識限制來阻止某類原本有效用途的先例。(GitHub

BIP 110 還提出修改後的 BIP 9 部署機制:使用 55% 的礦工信號閾值(而非 BIP 9 規定的 95%);取消常規超時和 FAILED 狀態;增加強制信號期;保證強制鏈最晚在指定高度鎖定;並在 52,416 個活躍區塊後增加新的 EXPIRED 狀態。(GitHub

和任何軟分叉一樣,BIP 110 決非由中央權威強加。用戶自行選擇執行哪種軟體和規則。風險在於,當具有經濟意義的參與者強制執行實質不同的規則時,會產生壓力、不確定性或鏈分裂。

作者提供了參考實現、測試向量、詳細理由以及對權衡的坦誠討論。這些是該文件之實質優勢。該提案認為,緊急性和臨時性足以證明較低閾值和有意簡單、粗暴限制的合理性。我尊重這種擔憂和工作,但我不同意他們的風險計算。(GitHub

I. 中立性與第一性原理

  • 1. 共識是比特幣最強大的干預手段。軟分叉會使先前規則下有效的區塊對升級節點無效。這種權力應保留給明確、嚴重且被廣泛理解的失敗情況。
  • 2. 這不是修復已確立的共識失敗。BIP 110 並未糾正通膨、簽名驗證、雙花或已知關鍵漏洞。它針對的是有爭議的外部性和用例,因此舉證責任應特別高。
  • 3. 它將有爭議的判斷提升為協議法律。該提案把關於合法用途和外部性的爭論,從中繼策略、挖礦策略和市場層面,轉移到共識有效性層面。
  • 4. 比特幣無法讀取意圖。網絡無法知道這些位元組代表圖像、證明、合同、元數據、認證記錄還是未來應用。
  • 5. 結構代理會產生附帶風險。因為意圖不可知,該提案限制了可能同時服務於不受歡迎和合法用途的技术形式。
  • 6. 社會性表態不足以成為共識變更的理由。規範明確將激活視為傳達「數據儲存不受歡迎」的方式。共識變更應基於令人信服的技术或貨幣理由,而非主要為了表達不贊成。(GitHub)
  • 7. 不贊成不等於無效。一筆交易可以是瑣碎的、投機的、冒犯的或浪費的,但只要遵守規則並支付所需費用,就應被納入。
  • 8. 它縮小了 BIP 110 鏈上的前瞻性經濟自由。雖然激活前的 UTXO 受祖父條款保護,但在激活期創建 UTXO 的用戶,將比現有共識下擁有更少的有效結構和花費方式。
  • 9. 無許可系統必須容忍未經批准的實驗。要求創新者在構建前證明其用途值得,恰恰顛倒了無許可創新的含義。
  • 10. 它把協議保守主義徹底顛倒了。基礎層的保守主義應該意味著不願改變共識,而不是急於改變共識來支持保守的使用哲學。

II. 舉證責任尚未滿足

  • 11. 「垃圾郵件」不是共識原語。沒有操作碼能區分垃圾郵件和實用性。這些標籤來自人類判斷。
  • 12. 「貨幣性」和「非貨幣性」無法乾淨分離。支付通道、儲備證明、託管策略、智能合約或結算承諾,既是金融活動,也是數據。
  • 13. 已知用例並非全部設計空間。該提案聲稱保留所有已知貨幣用例,但創新正是由未知定義的。
  • 14. BIP 本身並未量化它將消除的節點負擔。它描述了成本,但未估計相關的頻寬、儲存、驗證負載、硬體門檻或可能增加/減少的節點營運商數量。
  • 15. 它未量化去中心化收益。聲稱 BIP 110 將改善去中心化,卻沒有可衡量的模型或目標。
  • 16. 它未量化支付緩解。它未估計交易費用會下降多少、持續多久,或有多少支付用戶受益。
  • 17. 它將不同成本合併為單一診斷。UTXO 狀態增長、初始同步頻寬、歸檔儲存、中繼負擔和驗證時間有不同成因,可能需要不同補救措施。
  • 18. 緊急性是被斷言而非操作性定義的。該提案稱情況緊急且是危機,但未提供共識干預必要的客觀閾值。
  • 19. 歷史上的中繼策略限制並非最優共識限制的證明。83 位元組默認值可能是有用的策略,但不必成為永恆的區塊有效性規則。
  • 20. 256 位元組界限是啟發式的。其理由部分與壓縮圖像大小和大密碼學整數相關,但未確立 256 位元組是最優的安全與創新邊界。(GitHub)

III. 技术範圍過於寬泛

  • 21. 七項獨立的共識變更被捆綁在一起。參與者無法支持其中一項限制而拒絕另一項。他們必須接受或拒絕整個包。
  • 22. 最強的技术擔憂與無關限制捆綁在一起。大 scriptPubKey 可能增加 UTXO 狀態和驗證成本。如果這構成可衡量的危險,它值得單獨提出一個範圍狹窄的提案,而非自動支持另外六項限制。(GitHub)
  • 23. 83 位元組 OP_RETURN 策略將成為共識。這將可配置的中繼和挖礦偏好轉變為區塊有效性規則。
  • 24. 256 位元組限制約束了通用原語。它們通過限制廣泛類別的推送負載和腳本參數 witness 項來針對數據儲存。
  • 25. 花費未定義的 witness 和 Tapleaf 版本將被禁用。這些空間目前未被使用,部分原因是因為它們被保留用於未來升級。
  • 26. Taproot annex 將被禁用。BIP 341 將 annex 保留用於未來擴展。即使在定義其含義之前用戶不應使用它,關閉一個有意的升級路徑也需要特別充分的理由。(GitHub)
  • 27. Taptree 深度將被降低。257 位元組控制塊上限將已揭示腳本路徑限制為七級,並可能約束複雜的腳本樹。
  • 28. OP_SUCCESSx 即使在未執行的分支中也會被禁用。BIP 342 將這些操作碼創建為未來軟分叉的乾淨升級鉤子。(GitHub)
  • 29. Tapscript 中執行的 OP_IF 和 OP_NOTIF 將被禁止。作者認為它們是冗餘的且常被濫用,但也承認實驗用途和可能的 Miniscript 效率。
  • 30. 該提案公開接受以粗暴換取速度。其理由稱,更平衡的方法需要更多開發和審查,因此選擇更簡單的限制以便更快部署。緊急性不能替代共識代碼的精確性。(GitHub)

IV. 它犧牲了兼容性和未來選擇性

  • 31. 它一次性關閉了多個升級路徑。Annexes、未來 witness 版本、未來 Tapleaf 版本和 OP_SUCCESSx 都是比特幣保留的設計空間的一部分。(GitHub)
  • 32. 「保留」不等於「無用」。它意味著早期設計者有意為尚未出現的需要保留了選項價值。
  • 33. 一年期的關閉仍可能擾亂開發時間線。作者預計未來軟分叉需要超過一年的協調,但这只是估計,而非保證。
  • 34. 它可能使 BitVM 風格的设计複雜化。規範承認控制塊限制可能阻礙高級鏈下合約。
  • 35. 它可能影響 Miniscript 生成的 Tapleaves。該提案承認某些編譯器輸出可能包含 OP_IF,需要調整。
  • 36. 它要求受影響的錢包工具進行變更。後向兼容性部分指出,在規則激活期間 Miniscript 編譯器需要修改。
  • 37. 它創造了一個狹窄但承認的資金訪問風險。該 BIP 坦率地指出了罕見的預簽名 Taproot 場景,在激活後 UTXO 可能被凍結或意外花費。
  • 38. 祖父條款有價值,但並非完全隔離。激活前 UTXO 受保護,但在部署期間創建或花費受影響輸出的工作流仍會遇到新約束。
  • 39. 用戶被建議遷移可能受影響的資金。一個要求即使狹窄類別的用戶遷移的提案,並非無成本的過濾器。
  • 40. 「沒有已知用例」不是安全證明。私有系統、未發布合約、實驗錢包和未來協議並非完全可觀察。(GitHub)

V. 臨時共識規則仍會產生真實複雜性

  • 41. 臨時共識代碼仍是共識代碼。它必須被指定、實現、審查、測試、部署、監控,並在之後退役。
  • 42. 祖父條款使有效性依賴於歷史。同樣的花費構造,根據 UTXO 創建時間可能被不同對待。
  • 43. 歷史依賴規則增加實現複雜性. 每個實現都必須識別相關 UTXO 創建高度並相同應用豁免。
  • 44. 激活創造一個關鍵邊界。軟體和經濟參與者必須就新限制何時開始達成一致。
  • 45. 到期創造另一個邊界。他們還必須就限制何時結束、之前受限行為何時再次有效達成一致。
  • 46. BIP 110 增加了一個新的 EXPIRED 狀態。這擴展了熟悉的部署狀態機,增加了新的共識行為。
  • 47. 它移除了常規的 FAILED 結果。所提議的部署無法以普通 BIP 9 方式簡單超時。
  • 48. 它創造了多個協調窗口。自願信號、強制信號、鎖定、激活和到期各自引入了分歧機會。(GitHub)
  • 49. 臨時規則可能留下永久痕跡。錢包代碼、操作流程、合約和機構風險控制可能需要超出部署期的變更。
  • 50. 更多共識分支意味著更多漏洞表面。測試向量降低了已知風險,但無法列舉每個私有或未來交互。

VI. 經濟和安全影響不確定

  • 51. 節點外部性是真實的,但異質的。每個完全驗證節點都必須下載和驗證區塊,而修剪節點可以丟棄舊原始區塊數據並限制歷史儲存。相關成本應分別衡量。(Bitcoin Core)
  • 52. 費用接收者問題並非數據交易獨有。礦工收取費用,而驗證者為每筆交易承擔部分成本。幅度可能不同,但基本結構是普遍的。
  • 53. 技术成本應直接衡量。對於給定數量的數據和驗證工作,資源成本來自位元組、狀態、計算和頻寬,而非觀察者是否認可交易目的。
  • 54. BIP 110 無法消除數據嵌入。規範承認用戶可以將數據拆分成更小片段或偽裝在允許的結構中。(GitHub)
  • 55. 規避可能使交易效率降低。碎片化或混淆編碼可能消耗更多結構並使分析複雜化,而不會消除底層需求。
  • 56. 費用影響是模糊的。抑制一種用途可能降低支付費用、減少總費用收入、將需求轉移到其他編碼,或產生三者的某種組合。
  • 57. 隨著補貼下降,礦工收入更重要。交易費用是區塊獎勵的一部分,而區塊補貼每 210,000 個區塊減半。(Bitcoin Developer Docs)
  • 58. 總費用需求降低可能在邊際上削弱安全性。在 BIP 110 減少總費用需求而非僅僅重新分配的情況下,較低的礦工收入可能降低投入雜湊算力的激勵,其他條件不變。
  • 59. 多樣化需求可使費用市場更有彈性。支付、通道、託管系統、金融應用和其他用途不必同時達到峰值。
  • 60. 規範未建模安全權衡。它主張更便宜的支付和更低的節點成本,而未估計對礦工收入、雜湊投資或長期費用市場深度的可能影響。

VII. 存在更好的市場和策略工具

  • 61. 比特幣已有內容中立的容量約束。區塊權重對每個區塊的交易容量施加共同限制。(GitHub)
  • 62. 費用已對稀缺區塊空間進行配給。用戶通過出價表達緊迫性,礦工根據自身策略選擇有效交易。
  • 63. 區塊限制和費用市場不要求用戶聲明目的。它們應用技术有效性和資源限制,而非關於交易是否足夠貨幣性的語義測試。
  • 64. 中繼策略仍是較少強制性的工具。實現和節點營運商可以選擇中繼哪些未確認交易,而無需重新定義有效區塊。Bitcoin Core 的數據載體策略是可配置的。(GitHub)
  • 65. 挖礦策略仍是自願的。礦工可以從自身區塊模板中排除交易類別,而無需迫使每個驗證節點拒絕包含他們的區塊。
  • 66. 策略不完美,但不完美不是失敗。直接提交給礦工可以繞過中繼過濾器。這種限制值得分析,而非自動跳到共識禁止。
  • 67. 沒有交易有被納入的權利。礦工可能根據自身策略拒絕交易,但使先前有效交易在分叉中無效是嚴重得多的行為。
  • 68. 資源定價可以在不分類目的情況下改進。如果某些結構施加不成比例的成本,比特幣可以研究內容中立限制或與可衡量資源使用掛鉤的定價。
  • 69. 修剪和選項數據设计值得繼續研究。它們可能無法解決所有擔憂,但比部分旨在傳達用途不受歡迎的規則更直接地解決儲存負擔。
  • 70. BIP 本身承認策略通常是打擊垃圾郵件的正確場所。它無法保證完美過濾這一事實本身,並不證明必須使用共識。(GitHub)

VIII. 它阻礙創新和採用

  • 71. 它創造寒蟬效應。如果當前有效的構造可以通過共識暫停以壓制相關用途,開發者可能迴避比特幣。
  • 72. 它特權現有用例。「所有已知貨幣用例」保護的是現在,而非未來。
  • 73. 它在價值被發現之前摧毀了選項價值。一個升級鉤子的最佳未來用途可能尚未命名。
  • 74. 穩定基礎對長期合約很重要。錢包、託管系統、支付通道和金融協議需要確信有效交易結構將保持可用。
  • 75. 它縮小了腳本設計空間。這可能使某些構造更大、更昂貴、更不優雅或暫時不可能。
  • 76. 它可能延遲高級合約研究。該 BIP 明確接受 BitVM 風格的工作可能需要等待,或在測試網和側鏈上進行。(GitHub)
  • 77. 它通過共識將實驗推離比特幣。測試網和側鏈有用,但構建者不應在沒有令人信服的安全理由的情況下被從基礎層驅離。
  • 78. 未來的 Layer 2 系統可能依賴於今天未使用的鉤子。基礎層選擇性可以在無需頻繁基礎層活動的情況下支持擴展。
  • 79. 應用可以強化貨幣。更好的錢包、託管、結算、信用、證券和證明系統可以增加比特幣的實用性、流動性和需求。
  • 80. 比特幣不必在貨幣和技术之間二選一。其貨幣優勢可以被一個支持安全錢包、合約、託管、結算和創新的開放網絡所強化。

IX. 激活機制過於激進

  • 81. 55% 閾值是對 BIP 9 的重大偏離。BIP 9 指定了 95% 的礦工就緒閾值;BIP 110 提議 55%。
  • 82. 有爭議的限制應要求更高的信心,而非更低。臨時持續時間並不能使協調失敗無害。
  • 83. 礦工信號不是所有比特幣用戶的公投。雜湊算力保護和排序交易,但持有者、交易所、錢包、商戶、託管方和企業決定他們在經濟上接受哪些規則和資產。
  • 84. 強制信號改變了不參與的含義。在指定窗口期間,強制節點將拒絕未信號 bit 4 的區塊。
  • 85. 該部署被设计為在強制鏈上最晚在預定高度鎖定。這比僅僅觀察自願就緒更強。
  • 86. 缺少 FAILED 狀態移除了乾淨的退出坡道。一個無法吸引足夠自願支持的提案,應能夠在無需強制協調的情況下到期。(GitHub)
  • 87. 激活機制無法製造共識。它可以協調軟體狀態,但無法創造社會和經濟協議。
  • 88. 分歧執行可能分裂網絡。如果具有經濟意義的參與者應用不兼容的有效性規則,結果可能是鏈分裂或長期不確定性。
  • 89. 臨時分裂並非微不足道。流動性、託管、結算、會計和用戶信心都可能受影響。
  • 90. 硬共識是比特幣的免疫系統。為有爭議的用例限制降低門檻,可能創造比目標數據儲存問題更嚴重的風險。

X. 先例比目標更危險

  • 91. 規則會到期,但先例不會。未來的運動可以引用 BIP 110 作為證據,證明共識可用於壓制不受歡迎的有效活動。
  • 92. 同样的邏輯可以被重複使用。一個派系可以將另一種用途標記為非貨幣、有害、法律風險或不支持,並尋求將其排除。
  • 93. 「不支持的用途」是一個可擴展的類別。比特幣沒有中央產品經理可以永久定義其批准範圍。
  • 94. 基於目的的邊界會成為政治邊界。一旦有效性取決於關於合法用途的判斷,協議辯論就會變成關於價值觀和權力的競爭。
  • 95. 今天的目標不會限制明天的目標。隱私工具、新型託管、穩定幣結算、代幣系統、企業應用或其他不受歡迎的用途可能面臨類似論點。這不是預測,而是治理風險。
  • 96. 每項限制都被呈現例外。先例正是通過倡導者認為獨特的案例創造的。
  • 97. 社會凝聚力是稀缺資產。將文化爭端編碼到共識中,會消耗應對更嚴重威脅所需的信任和協調能力。
  • 98. 每個利益相關者都值得被傾聽。開發者、節點營運商、礦工、持有者、錢包、交易所、託管方、企業和機構都承擔不同的風險和責任。
  • 99. 處於風險中的資本值得考慮,但不應賦予控制權。大持有者、礦工、交易所、託管方和企業不擁有共識。單獨行動的開發者或節點營運商也不擁有。持久協議需要所有各方協調。
  • 100. 當企業參與強化比特幣時,它是合法的。公司允許人們在法律下以規模、問責、資本和連續性組織。他們不應獲得特殊權威,但也不應被視為全球貨幣網絡的局外人。

XI. 存在更好的路徑

  • 101. 參與者可以在不改變共識的情況下反對數據儲存。他們可以拒絕使用、推廣、索引、中繼或挖礦它。
  • 102. 更嚴格的軟體選擇可以保持自願。競爭實現和可配置策略是開放網絡的特性,而非缺陷。
  • 103. 我們可以在干預前改進測量。發布關於頻寬、儲存、驗證時間、UTXO 增長、費用位移和節點經濟的可重複數據。
  • 104. 我們可以針對可衡量的資源成本。與已證明的拒絕服務或驗證風險掛鉤的狹窄規則,比部分與感知目的掛鉤的寬泛包更可辯護。
  • 105. 我們可以改進數據放置。更好的承諾、選項儲存、修剪和 Layer 2 架構可以在保留功能的同時減少負擔。
  • 106. 我們可以改進費用市場透明度。更好的工具和模型可以顯示誰支付、誰承擔成本,以及哪些用途實際擠出了支付。
  • 107. 我們可以在研究繼續的同時保留升級鉤子。未使用的容量在保護未來軟分叉路徑時,不一定是浪費。
  • 108. 我們可以等待壓倒性的共識。對等待的成本應與不必要分叉的成本進行衡量。在沒有緊急性和廣泛協議的令人信服證據的情況下,克制是更安全的默認選擇。
  • 109. 我們可以不同意而不將盟友變成敵人。BIP 110 的支持者正在試圖保護比特幣。尊重的回應是在拒絕創造更大風險的補救措施之同時,解決他們的擔憂。
  • 110. 所提議的治療比病情更危險。BIP 110 將使用共識來縮小有效活動、約束未來選項、使部署複雜化,並建立一個無法後來抹除的先例。這使它成為一個比特幣醫源性提案(Bitcoin Iatrogenic Proposal)。

中立性的守護者

比特幣的力量不在於每個人對每種用途都同意。其力量在於分歧被中立規則和硬共識所包容。

費用為區塊空間定價。節點選擇策略並驗證共識。礦工構建區塊。持有者分配資本。開發者提出代碼。公司構建基礎設施和應用。只有當驗證、安全、實用性和資本達到壓倒性共識時,協議變更才應占上風。

這不是為每條銘文、代幣、文件或應用辯護。它是為允許比特幣保持開放的中立規則辯護,同時市場獎勵有用的、拋棄無用的。

比特幣應在基礎層保持保守。對我來說,這意味著拒絕 BIP 110。

比特幣不需要純潔的守護者。

它需要中立的守護者。

2026年7月17日 星期五

OkoBot 惡意軟體框架向 Ledger 和 Trezor 應用程式植入助記詞釣魚攻擊

這篇來自《The Hacker News》的報導詳細分析了名為 OkoBot 的惡意軟體框架。該框架專門針對硬體錢包(如 Ledger 和 Trezor)的桌面應用程式進行注入,以騙取用戶的助記詞(Seed Phrase)。身為關注資安與冷錢包安全的用戶,此新型態的攻擊手法非常值得警惕。


OkoBot 惡意軟體框架向 Ledger 和 Trezor 應用程式植入助記詞釣魚攻擊

自 2025 年 4 月起,一款名為 OkoBot 的惡意軟體框架便持續在 Windows 電腦上運行,而其內置的其中一個模組,專門用來欺騙硬體錢包持有者,誘騙他們交出備份助記詞(Recovery Phrase)。

在受感染的電腦上,該釣魚請求會直接從硬體錢包「官方桌面軟體內部」彈出。有時,它甚至會等到你插入硬體設備後才發動攻擊。此時,畫面上顯示的頁面是惡意的,但包裹著它的應用程式外殼,確實是你原本安裝的官方軟體,而它所索取的,正是攸關你整筆加密資產的助記詞。

卡巴斯基(Kaspersky)的全球研究與分析團隊(GReAT)於週三發表了這份剖析報告。根據其遙測數據,目前已有分佈於 25 多個國家的數百名受害者。遭受攻擊人數最多的國家包括巴西、越南、加拿大、墨西哥和土耳其。

報告並未透露具體有多少用戶真的輸入了助記詞。截至 7 月 15 日的報告發表為止,攜帶超過 20 種載荷與植入程式的 OkoBot 依然處於活躍狀態。

SeedHunter:靜待硬體設備接入

負責竊取助記詞的 OkoBot 模組名為 SeedHunter。一旦 OkoBot 框架成功入侵電腦,它就會監控系統中是否有 Trezor SuiteLedger WalletLedger Live 等程式。一旦發現,它便會進行注入,並攔截該應用程式底層的 Electron 內部機制。隨後,它會向其命令與控制伺服器(C2,網址為 moonsand[.]store)發送請求。

如果伺服器回傳了「等待(Wait)」旗標,SeedHunter 就會透過廠商 ID(Vendor ID)和產品 ID(Product ID)來掃描 USB 連接埠,並保持靜默,直到用戶真正拔插並連接 Ledger 或 Trezor 硬體錢包。只有在偵測到硬體連接後,它才會渲染出預先寫死的助記詞還原頁面(為每個品牌量身打造不同的版面樣式)。

如果伺服器未設置「等待」旗標,該釣魚頁面則會立即顯示。用戶在畫面上輸入的助記詞,會被傳送到該頁面控制台背後帶有 @:app:print 標記的位置,並被遭攔截的 mal_LogConsoleMessage 函式所擷取。隨後,這些資訊會以 JSON 格式外傳,並在臨時資料夾中留下一份經 RC4 加密的副本。

⚠️ 關鍵安全觀念:

在此過程中,硬體錢包本身並沒有被攻破。硬體錢包履行了其設計的唯一職責:拒絕洩露私鑰。然而,它無法阻止其配套的電腦端桌面軟體向用戶索取助記詞。

這種手法其實並不新鮮。Moonlock 實驗室先前就曾追蹤過在 macOS 上進行類似偷天換日攻擊的竊密程式;《The Hacker News》過去也曾報導過仿冒的 Ledger Live 應用程式:例如 AMOS 惡意軟體會強制關閉正版 Ledger Live,並在 /Applications 中植入一個修改過、要求輸入 24 個助記詞的仿冒複製版。

今年 3 月,Windows 平台上也出現過利用 USB 觸發攻擊的 GlassWorm 惡意軟體。它利用 WMI 技術監控 USB 設備的插入,並在強制結束正版應用程式後彈出自己的惡意視窗。

SeedHunter 改變的地方在於「頁面渲染的位置」:它不關閉原本的應用程式,而是直接在官方應用程式內部畫出釣魚網頁。

假裝是 SQL Server 的「Audacity」音訊軟體

OkoBot 主要透過兩種管道入侵:

  1. ClickFix(點擊修復)郵件/網頁誘騙手法:欺騙用戶點擊並執行惡意指令。
  2. GitHub 上被植入木馬的軟體:卡巴斯基拆解的一個 GitHub 儲存庫,表面上宣稱是 SQL Server Management Studio(SSMS),但實際上遞送的是知名音訊剪輯軟體 Audacity,且其內部其中一個函式庫已被重新編譯並植入了惡意程式。該專案在搜尋「SSMS」時甚至名列前茅,活躍時間從 2025 年 3 月底一直持續到 6 月。

這兩種入侵途徑最終都會執行 TookPS。這是一款卡巴斯基自 2025 年 3 月起便持續追蹤的 PowerShell 下載器。它最初透過偽造的 DeepSeek 頁面傳播,隨後蔓延至偽造的商業軟體下載網站。

TookPS 會安裝 SSH、連線至黑客控制的伺服器、轉發本地 SSH 守護行程(daemon)的通訊埠並靜待指令。隨後,自動化的 SSH 機器人會透過此隧道連回受害電腦。

該機器人會對電腦進行徹底盤點(包括安裝了哪些防毒軟體),並透過隧道將錢包檔案、Cookie、瀏覽器設定檔和憑證抽離。它還會透過寫入登錄檔(Registry)來靜音 Windows Defender 的警報,並為自己打造一個後門環境:

  • 開啟防火牆以允許傳入的 RDP(遠端桌面連線)。
  • 將一個帳號加入「Remote Desktop Users」群組。
  • 用修改過的版本替換 termsrv.dll,以允許並行(多用戶同時)RDP 工作階段。
  • 註冊名為「Apple Sync」的排程工作,每小時重新建立一次針對本地 RDP 通訊埠的反向 SSH 隧道。

完成上述步驟後,其他模組會透過 SFTP 陸續送達。一個名為 HDUtil(經過 VMProtect 加殼)的啟動器會執行這些模組,並能透過微軟 Project Zero 於 2019 年記錄的 Windows RPC UAC 繞過漏洞,在背景無聲地提升權限。

最後送達的是名為 Volume2 的開源工具,其中攜帶了惡意的 protobuf.dll,用來解密並啟動真正的核心載荷:一個每 20 秒輪詢一次 C2 伺服器的外掛分發器。卡巴斯基共復原了 5 個外掛,其中一個便是負責將 SeedHunter 注入至目標行程中的行程注入器

全方位的監視套件

該工具包的其餘部分則極具監視與間諜性質:

  • OkoSpyware:監控包含 Exodus、1Password 在內的 100 多個應用程式執行檔。它會使用內建的 FFmpeg 將對應的視窗畫面錄製成 MP4 影片,並記錄其中的鍵盤輸入。
  • 惡意軟體會對瀏覽器分頁標題進行正規表示式(Regex)比對,一旦偵測到 MetaMask 或 Tonkeeper 分頁,就會自動開始背景錄影。
  • MC Keylogger(鍵盤記錄器):記錄輸入、剪貼簿、USB 設備,並每 5 分鐘擷取一次螢幕截圖。
  • 一個載入器會在背景安裝「被授予所有權限」的隱藏 Chromium 擴充功能,其安裝的是 Rilide(一款自 2023 年 4 月起被俄語黑客廣泛使用的 Chromium 竊密程式)。

這套框架幕後黑手是誰?

卡巴斯基並未指明具體的攻擊組織,僅表示:「我們無法將此惡意活動歸因於任何已知的網路犯罪團體。」

不過,託管第一階段 PowerShell 的伺服器會對來自俄羅斯和獨立國協(CIS)的 IP 地址返回空回應,且 Rilide 擴充功能通常只在僅限邀請的俄語論壇中流通。此外,SeedHunter 釣魚頁面中包含俄語註釋。雖然這些只是間接線索,但報告中已對其進行了記錄。

如何防範與偵測?

目前並沒有針對此攻擊路徑的錢包漏洞(CVE)或廠商補丁,因為攻擊是直接發生在終端電腦上。不過,IT 與防禦人員可以針對以下特徵進行威脅獵捕(Threat Hunting):

  • 系統中出現名為 Apple Sync 的異常排程工作。
  • 出現以下路徑檔案:
    %PROGRAMDATA%\hwid.dat
    %PROGRAMDATA%\HDVideo\HDUtil.exe
    %USERPROFILE%\.ssh\go.bat
  • termsrv.dll 檔案大小或雜湊值被修改。
  • 「Remote Desktop Users」群組中出現了未經授權新增的帳號。
  • 個人終端電腦出現異常的對外 SSH(Port 22)連線。
  • Local Extension Settings 資料夾中出現了瀏覽器 UI 上看不到的隱藏擴充元件。

卡巴斯基的官方部落格已提供了相關的 Hash 值(雜湊值)與 C2 網域。

🛡️ 兩大冷錢包官方的安全提醒

  • Ledger 官方: 助記詞(24個英文單字)絕對、絕對不會傳送到 Ledger 實體設備以外的任何地方。任何要求你在電腦鍵盤輸入助記詞的軟體都是詐騙。
  • Trezor 官方: Trezor Suite 軟體絕不會主動要求你在電腦軟體上打入備份助記詞。若您使用的是 Model One 並選擇「電腦端輸入」的標準恢復流程,這也必須是在「實體硬體螢幕上先出現相應指示與確認」時才能配合進行。
💡 終極防範黃金準則:

如果你只是把硬體錢包插上電腦,電腦軟體畫面上就突然跳出要求輸入助記詞的視窗,而硬體錢包實體小螢幕上完全沒有任何對應的提示或動作,這就是 100% 的中毒與釣魚徵兆!切記,保護私鑰的唯一防線就是「絕對不要在鍵盤上打入你的助記詞」

精選文章

你無法審計的那一層 (The Layer You Cannot Audit)

The Bitcoin Intelligence Essays · 特別隨筆 · TRUST 你無法審計的那一層 (The Layer You Cannot Audit) 我遵循了比特幣自主託管的所有規則,卻依然遭受了重大損失。到底哪裡...

熱門文章