離線簽署比特幣交易意味著在完全沒有網路連接的設備上創建有效的交易簽名——沒有 Wi-Fi、沒有藍牙、沒有 USB 資料通道。

私鑰永不接觸聯網機器。絕對不會。

當您發送比特幣時,網路需要一個加密簽名來證明您擁有這些幣。該簽名來自您的私鑰。

離線比特幣簽署工作流程將兩個通常結合在一起的功能分開:

私鑰僅存在於離線設備上。聯網機器永遠不會看到它。

聯網機器的私鑰暴露於該機器上的所有線上威脅:惡意軟體、鍵盤記錄器、剪貼簿劫持者、遠端漏洞利用。

離線簽署消除了這種暴露,並透過將攻擊面縮小到僅限於實體接觸來提供增強的安全性。

這就是為什麼嚴謹的長期持有者、企業金庫和機構基金會對大額部位使用離線簽署。

一個僅監控的錢包(watch-only wallet)在您的聯網電腦上運行。它持有您的公鑰(xpub),但不持有您的私鑰。它追蹤您的餘額並構建交易——但無法簽署它們。

您指定輸入和輸出:要支付給誰、支付多少、以及手續費。僅監控的錢包將此交易數據打包成 PSBT 文件——部分簽名的比特幣交易(Partially Signed Bitcoin Transaction)——準備進行簽署流程。

未簽名的 PSBT 文件透過以下方式跨越「氣隙」(air gap):

無網路連接。無藍牙。僅限實體傳輸。

離線簽署硬體錢包讀取 PSBT 並在其自己的螢幕上顯示交易詳細信息:

您在設備螢幕上驗證這些信息——而不是在您的電腦螢幕上,因為電腦螢幕可能被操縱。

您確認。設備使用您的私鑰簽署交易。簽名被加回到 PSBT 文件中,產生一個已簽名的比特幣交易 PSBT,準備廣播。

已簽名的 PSBT 以相同的方式(SD 卡或 QR 碼)返回跨越氣隙。

您聯網電腦上的僅監控錢包接收它,完成交易格式,並準備廣播。

聯網電腦將已簽名的交易提交給比特幣網路。

簽署設備從未連接到網路。私鑰從未接觸聯網機器。

PSBT — 部分簽名的比特幣交易 — 是 BIP-174 中定義的標準化格式(也寫為 BIP 174)。

簡單解釋 BIP-174:它是一種文件格式,將離線簽署流程所需的一切都包含在一個獨立的包中:

PSBT 文件使離線交易變得可行。離線簽署設備無需查詢區塊鏈即可獲得所需的一切——它可以在完全隔離的環境中運行。

Bitcoin Core 在 0.17 版本中增加了對 PSBT 的完整支援。如今,它是所有嚴謹錢包軟體之間的標準交換格式。

BIP-370(PSBT 版本 2)擴展了該格式以處理更複雜的交易——例如,輸入和輸出是互動式添加而不是在創建時固定的情況,如 CoinJoin。

專為氣隙使用而建。離線比特幣簽署工作流程透過 microSD 卡原生支援 PSBT。Coldcard Q 型號增加了 QR 掃描器,實現完全無接觸簽署。您可以永久切斷啟用 USB 資料的 PCB 軌跡——使氣隙成為實體且不可逆的。

私鑰隔離在設備硬體內部,但與主機電腦的通訊透過 USB 或藍牙進行。這些並非完全氣隙。它們可以配置為離線交易——與離線電腦配對,透過 SD 卡移動 PSBT 文件——但這需要超出預設工作流程的額外設定。

一台網路永久禁用的筆記型電腦運行帶有完整私鑰的錢包軟體。部分簽名的交易透過 USB 隨身碟或 SD 卡與聯網機器上的僅監控錢包之間移動。不涉及專有韌體——但您完全信任作業系統和錢包軟體。

每個離線簽署設置都基於三個假設:

在 2024 年 8 月,研究人員發布了 Dark Skippy 攻擊。任何離線簽署硬體錢包上的受損韌體都可以在簽名隨機數(nonces)中嵌入種子數據。攻擊者僅看到鏈上的兩個簽名交易,就可以重建您的完整私鑰。

該攻擊利用簽名本身作為數據外洩通道。氣隙無法阻止它,因為已簽名的交易必須跨越氣隙才能廣播。

緩解措施是抗數據外洩(anti-exfiltration)協議——主機提供隨機數據,這些數據會混入隨機數中,防止設備自由選擇隨機數。BitBox 和 Blockstream Jade 實現了此功能。大多數硬體錢包沒有。

當您的私鑰存在於儲存中但未積極參與簽署過程時,它處於「靜置」(at rest)狀態。

對於硬體錢包來說,情況幾乎總是如此。金鑰位於安全元件內部,在簽署事件之間——加密、受保護,但存在。

這一點很重要,因為大多數攻擊發生在靜置狀態,而不是在簽署過程中。金鑰儲存了數月或數年。這是暴露窗口。

所有傳統的離線簽署方法都保持金鑰靜置。安全模型是:盡可能保護儲存的金鑰。

此模型的結構限制是,任何儲存的秘密都無法保證永遠安全。硬體會被提取。韌體會被損壞。保護方案有有限的使用壽命。

一些託管系統完全消除了儲存的金鑰。

與其儲存私鑰並保護它,不如在簽署時從實體物件派生金鑰,並立即丟棄。它在簽署過程之前不存在。簽署過程之後也不存在。

這就是 Frozen Security 的建構模型。私鑰是一個實體物件——從未數位儲存。在簽署的瞬間,設備讀取實體金鑰,在揮發性記憶體中暫時派生私鑰,簽署交易,並清除所有記憶體。

因為沒有靜置的金鑰,所以沒有需要保護的靜置金鑰。

這將安全問題從「金鑰如何被良好保護」轉變為「是否存在持久的金鑰」。

離線比特幣簽署將您的私鑰保留在永不連接到網路的設備上。交易在線上以 PSBT 文件的形式構建,移動到離線設備進行簽署,然後移回以進行廣播。

標準的離線比特幣簽署工作流程使用 BIP-174 PSBT 文件和實體傳輸通道——SD 卡或 QR 碼——作為跨越氣隙的機制。

離線簽署硬體錢包以不同程度的隔離實現了這一點。專用離線機器上的錢包軟體提供了一種無需韌體的替代方案。這兩種模型始終在儲存中維護私鑰。

離線簽署的下一步是根本不儲存私鑰的模型——金鑰僅作為瞬時派生,在需要時出現。

這就是 Frozen Security 的建構內容。

第一個金鑰是金屬,但仍能進行交易的簽署系統。