﻿---
title: "冷钱包：离线签名、恢复与操作控制"
description: "学习如何在密钥生成、钱包身份、备份、交易审查、离线签名、多重签名、恢复和事件响应等方面设计和验证冷钱包托管。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 冷钱包：离线签名、恢复与操作控制

> 仅用于教育目的；不是投资建议。投资可能导致损失。

<a id="answer"></a>

## 直接回答

冷钱包是一种托管系统，将秘密签名材料和最终批准步骤隔离在日常联网软件的暴露面之外。资产仍记录在区块链上；该系统控制能够授权状态变更的密钥或其他权限。“冷钱包”是操作层面的称谓，而不是协议定义的设备类别；“冷”是完整工作流程的属性，并不取决于品牌或连接方式。

硬件签名设备可以在通过 USB 连接时支持冷存储，因为私钥可能保持隔离，但如果用户签署未验证的目的地或不透明的合约调用，则工作流程仍然不安全。相反，隔离的计算机仅因为没有网络接口而不安全：受损的熵、安装介质、交易解析器、可移动介质、备份或显示器仍然可能突破边界。冷存储可以减少远程密钥提取的风险；它并不能证明交易意图、软件正确性、恢复、隐私或最终性。

恢复副本不仅仅是“一个备份”。助记词、原始种子、扩展私钥或等效的恢复份额可能重建支出权限，因此需要获得与签名设备同等级别的保护。恢复预期地址还可能需要密码短语、派生路径、网络、脚本类型、钱包描述符、密钥顺序和阈值策略。公开的只读钱包通常无法签名，但 `xpub` 或描述符可能暴露地址关联和交易历史；BIP-32 扩展公钥的安全影响也强于普通公钥。

<a id="mechanism"></a>

## 如何设计和验证冷存储

### 1. 定义权限与威胁模型

记录确切的网络、资产、账户或输出策略、所有者、受益人、恢复权限、预期交易频率以及最大操作风险。将远程恶意软件、恶意应用程序、供应链妥协、内部勾结、物理盗窃、强迫、火灾、洪水、丢失、失能和继承分别识别为独立威胁。决定必须保持冷存储的内容：单个私钥、阈值中的所有密钥、签名者法定人数、EIP-712 授权密钥，或能够更改钱包代码的管理员。

### 2. 初始化可信熵与软件

通过已认证的渠道获取设备和软件，检查初始化状态，在支持的情况下验证发布版本，并拒绝包装内或协助者提供的任何预生成助记词或秘密。在受控环境中生成熵，并记录所用标准和实现。BIP-39 将 `128` 至 `256` 位熵编码为助记词，并从助记词和可选密码短语派生 `512-bit` 种子；它并不是把自编的易记句子变成安全钱包的标准。

### 3. 绑定可复现的钱包身份

在获得大量资金之前，记录网络、主指纹、派生标准和完整路径、账户索引、地址或脚本类型，以及第一个已验证的接收地址。对于 Bitcoin 策略，保存输出描述符、校验和、密钥来源、阈值、签名者数量、密钥顺序和找零分支。对于每个签名者，独立确认其密钥和显示的策略是否为预期。将 `xpub` 视为敏感元数据：它可以派生非加固公钥子孙，破坏隐私，并且与相应的非加固子私钥结合使用时，可暴露 BIP-32 下的父扩展私钥。

### 4. 备份并测试恢复

保护每一个必要的恢复输入，包括助记词或分片、可选的密码短语、描述符或智能账户配置、派生路径和恢复说明。不要通过将助记词拆分成临时碎片来发明方案；当单个副本不足以恢复时，应使用指定的阈值或多签设计。将副本放在真正独立的故障域中，并在不暴露其内容的情况下跟踪访问。在可信的备用设备或重新初始化的签名设备上，演练恢复过程，并在清除测试环境之前比较预期的指纹、策略和接收地址。

### 5. 构建并验证完整意图

在线协调器可以获取链状态并构建未签名请求，但它是不可信的。对于 Bitcoin `PSBT`，请验证网络、每个输入和 UTXO 数量、接收者输出、数量、费用、费率、锁定时间、签名哈希策略，以及每个其他输出是否是经过认证的找零。对于 EVM 交易，请验证 `chainId`、`nonce`、`to`、`value`、Gas 限额、费用上限和解码后的 `data`；对于 EIP-712，请在适用时验证域、`chainId`、`verifyingContract`、消息字段、随机数和截止时间。EIP-712 对数据进行结构化并分离域，但该标准本身明确不提供重放保护。

### 6. 跨受控传输边界签名

仅通过批准的 QR、卡、数据线或其他通道传输所需的未签名或部分签名的载荷。空气间隙和 QR 代码并不能使解析器或介质可信：签名者必须解析载荷、验证策略和变更、显示实际后果，并拒绝不支持的字段。在多重签名中，保持签名者、操作员、地点、供应商和恢复路径的独立性，以符合威胁模型；将协调者视为可替换的，并且无法在未被注意的情况下更改策略。在广播前，将签名的交易或操作与批准的意图进行比较。

### 7. 核对、维护并准备迁移

广播后，将交易标识符、包含的交易、输出或日志、实际费用、找零、账户随机数、授权以及结果余额与签署意图进行核对，然后等待适合链和用例的最终性。保持兼容的软件、已验证的固件路径、可读的备份、文档化的描述符，并进行定期恢复演练，同时不要将生产密钥输入到联网设备。如果任何签名或恢复密钥可能暴露，普通单密钥账户无法撤销该密钥：建立新的权限，迁移资产和角色，在协议允许的情况下使剩余权限失效，并保存事件记录。

<a id="example"></a>

## 示例练习

### 分阶段分配和资金

托管计划将在线互动钱包限制为 `5%` 的 `100,000 units` 资产价值：`100,000 × 5% = 5,000 units` 热钱包和 `95,000 units` 冷钱包。冷钱包首先接收 `100-unit` 测试，剩余的转账为 `95,000 - 100 = 94,900 units`。在两次转账之后，冷钱包余额目标为 `100 + 94,900 = 95,000 units`；小额测试可以限制一次设置错误，但不能验证未来的签名或备份恢复。

### Bitcoin PSBT 费用和变更

`PSBT` 使用了 `0.80 BTC` 和 `0.35 BTC` 的输入，总计 `1.15 BTC`。它向接收方支付 `1.00 BTC` 并估算 `250 vbytes × 8 sat/vbyte = 2,000 sat = 0.000020 BTC`。因此，经过认证的找零必须是 `1.15 - 1.00 - 0.000020 = 0.149980 BTC`。如果签署者无法从其记录的策略中识别该找零输出，即使总算数平衡，也不应签名。

### EVM 最大预算与实际费用

EVM 账户以 `5 ETH` 开头，并批准 `1.2 ETH` 的转账。`30,000 gas` 的限额和 `50 gwei` 的最高费用意味着 `30,000 × 50 gwei = 0.001500 ETH` 的费用预算。如果交易使用 `21,000 gas`，实际价格为 `25 gwei`，实际费用为 `21,000 × 25 gwei = 0.000525 ETH`，剩余 `5 - 1.2 - 0.000525 = 3.799475 ETH`。签署人必须审核费用上限和 `data`，而不能假设将收取最高预算，也不能相信界面看起来空白就证明是普通转账。

### 三签者中的二人抗风险能力

一个 `2-of-3` 策略，其签署者为 `A`、`B` 和 `C`，有 `3` 个有效签署对：`AB`、`AC` 和 `BC`。如果有一名签署者不可用，恰好剩下 `1` 对；如果有一名签署者被泄露，该签署者单独控制 `0` 个有效签署对；如果有两名签署者被泄露，他们控制 `1` 个有效签署对并可以花费。因此，该设计能够容忍一次丢失或一次孤立的泄露，但不能容忍两次，而且恢复仍然需要正确的描述符、派生数据和密钥顺序。

<a id="risks"></a>

## 风险与审查失败

- **网络或策略错误：** 在错误的链、地址类型、脚本、账户或智能账户策略下恢复有效密钥，可能得到不同或无法使用的地址。
- **熵不足：** 可预测的随机数、脑钱包或遭入侵的生成器可能使离线密钥也能被猜出。
- **他人提供的秘密：** 预先印制、导入、拍照保存或由协助者提供的助记词，可能早已受攻击者控制。
- **备份泄露：** 纸张、金属介质、云端副本、打印机、相机、快递环节或遗产文件都可能泄露完整支出权限。
- **密码短语故障：** BIP-39 密码短语遗失或输错时，可能在没有报错的情况下派生出另一个钱包。
- **派生参数不一致：** 缺少路径、币种、账户索引或钱包特定约定，可能让原本可恢复的资产无法显示。
- **配置丢失：** 多签密钥若缺少描述符、阈值、脚本类型、密钥来源和顺序，可能无法重建已经收款的钱包。
- **公开元数据泄露：** `xpub`、描述符、地址清单或协调器数据库可能暴露余额、地址关联和未来地址。
- **供应链入侵：** 被篡改的硬件、固件、软件、包装或更新渠道可能替换熵、地址或签名。
- **主机替换：** 联网协调器可能替换收款方、金额、费用、找零、调用数据、类型化消息或未签名载荷。
- **显示能力不足：** 截断显示、盲签、不支持的脚本或不完整解码可能掩盖关键授权。
- **找零地址攻击：** 如果签名设备未按钱包策略验证找零，Bitcoin 交易可能把伪装成找零的输出发送给攻击者。
- **费用或 nonce 错误：** 过高费用、过期的 EVM nonce、错误锁定时间或非预期 sighash 模式可能延迟、替换或改变执行结果。
- **持续存在的合约权限：** 代币授权、permit、模块、委托和管理员调用的效力可能长于眼前这笔交易。
- **传输通道攻击：** QR、USB、存储卡、数据线和解析格式可能携带恶意载荷或外泄元数据。
- **阈值相关性：** 签名设备共置、共用种子、依赖单一供应商或操作员、集中在同一恢复地点，都会削弱阈值独立性。
- **物理攻击：** 盗窃、胁迫、监视、篡改和秘密被发现，在没有网络连接时仍可能发生。
- **环境损毁：** 火灾、洪水、腐蚀、介质老化、金库无法进入、死亡或失能，都可能使正确秘密无法取得。
- **兼容性退化：** 过时固件、不受支持的派生或脚本类型以及未记录的迁移，可能破坏未来恢复或签名。
- **事件响应不完整：** 只检查余额而不迁移密钥、角色、授权和恢复权限，可能让原有入侵继续有效。

<a id="misconceptions"></a>

## 常见误解

### 冷钱包必须永远保持物理断开吗？

不。安全特性在于秘密权限保持隔离，并且签名通过受控、可验证的边界进行。通过电缆连接的硬件签名设备可能保持该特性；而设置受损或负载被篡改的隔空计算机可能无法保持该特性。

### 硬件设备内存放硬币吗？

不。区块链状态记录资产。设备保护或使用可以签署交易的权限，并且兼容的恢复材料可以在另一实现上重现该权限。

### 助记词备份比签名设备不那么敏感吗？

不。完整的助记词和必需的密码短语可以重新创建钱包。备份通常是处于休眠状态的，但其被泄露的影响与提取活跃签名密钥一样严重。

### 多重签名是否消除了备份和配置记录的需求？

不行。门限可以减少选定的单点故障，但每个密钥都需要恢复计划，钱包策略或描述符必须可复现。幸存的密钥太少或配置丢失仍然可能导致资金被锁定。

### 一次成功的测试转移能证明冷存储系统是安全的吗？

不。它只确认一次有限的路径。它不能证明熵的质量、备份的保密性、恢复能力、未来交易解码、法定人数独立性、软件更新、合同安全性或事故恢复能力。

<a id="related"></a>

## 相关主题

- [硬件钱包](/zh-cn/crypto/hardware-wallet/)
- [助记词](/zh-cn/crypto/seed-phrase/)
- [公钥和私钥](/zh-cn/crypto/public-private-key/)
- [多重签名钱包](/zh-cn/crypto/multisig-wallet/)
- [交易模拟](/zh-cn/crypto/transaction-simulation/)

<a id="sources"></a>

## 来源

- [区块链技术概述](https://doi.org/10.6028/NIST.IR.8202) - NIST（访问时间：2026-08-19）
- [BIP 32：分层确定性钱包](https://bips.dev/32/) - Bitcoin 改进提案（访问于: 2026-08-19）
- [BIP 39：用于生成确定性密钥的助记码](https://bips.dev/39/) - Bitcoin 改进提案（访问于: 2026-08-19）
- [BIP 44：确定性钱包的多账户层级](https://bips.dev/44/) - Bitcoin 改进提案（访问于: 2026-08-19）
- [BIP 174：部分签名的 Bitcoin 交易格式](https://bips.dev/174/) - Bitcoin 改进提案（访问于: 2026-08-19）
- [BIP 380：输出脚本描述符的一般操作](https://bips.dev/380/) - Bitcoin 改进提案（访问于：2026-08-19）
- [BIP 129：Bitcoin 安全多重签名设置](https://bips.dev/129/) - Bitcoin 改进提案（访问于: 2026-08-19）
- [EIP-712：类型化结构化数据的哈希与签名](https://eips.ethereum.org/EIPS/eip-712) - Ethereum 改进提案（访问于: 2026-08-19）

Source: https://wiki.fcontext.com/zh-cn/crypto/cold-wallet/index.mdx
