冷钱包完全指南:从一张纸到 Qubes OS 上的多重签名

从最简单到最稳固地搭建冷钱包:助记词、硬件钱包、物理隔离主机、SeedSigner、Qubes OS 与多重签名,一次讲清楚。

|

阅读时间:2 分钟

冷钱包完全指南:从一张纸到 Qubes OS 上的多重签名

2023 年,卡巴斯基的研究人员拆解了一台从看起来颇为正经的网络商城买来的 Trezor 硬件钱包。这台设备在外观上与原厂产品完全一致,连包装都一样,运行也正常。它显示出一串需要抄写的单词,和真机一模一样。只不过这串单词并不是设备随机抽出来的:它是攻击者事先选定的,攻击者只需等着受害人把资金存进去。完整分析发表在卡巴斯基的博客上

这个故事概括了整个话题。受害人买的是正确的产品、正确的品牌,出发点也没错。失败的不是硬件,而是围绕硬件的那套流程。

冷钱包不是一件买来的物品。它是一套照做的流程,硬件只是其中一环。

下面是五个安全层级,从最简单到最严苛。每一级都可以照单使用。每上一级,问题都是同一个:上一级没能防住什么,而那个风险真的与你有关吗?

什么是冷钱包,不讲行话

加密货币既不存在你的手机里,也不存在你的电脑里。它记录在一个公开账本上,也就是区块链,这个账本在数以千计的机器上被复制。账本把一笔资金与一个地址关联起来,地址是一长串字符,扮演着公开账号的角色。

要动用这笔资金,必须证明你是它的所有者。这个证明来自一个只有你掌握的秘密:私钥。私钥永远不会被发送到任何地方。它用来在支付指令上加盖一个密码学签名,网络则验证这个签名确实与相关地址对得上。

因此全部安全性都归结于一个点:谁看过私钥。

在交易所,那个人不是你。平台持有钥匙,你持有的是它数据库里的一行记录。如果它破产、被黑,或者监管机构冻结账户,那一行记录就不值什么了。这就是流传了十年那句话的含义:不是你的钥匙,就不是你的币。

在手机钱包应用里,钥匙确实归你,但它是在一台联网设备上生成的,并且就活在那台设备上。一部现代手机运行着数以万计、无人审计过的代码,并且始终暴露在连制造商自己都不知道的漏洞面前。只要不出岔子,钥匙在那里是安全的。

冷钱包,字面意思就是冷的钱包,把逻辑颠倒了过来。私钥在一台不联网的设备上生成,并且永远不离开那台设备。来回流动的只有待签名的交易,进去;以及已签名的交易,出来。哪怕攻击者完全控制了你那台联网电脑,他看到的也只是来往的交易,而永远看不到签署它们的钥匙。

这是唯一重要的区分。其余的一切,都是在让绕过这一点变得越来越难。

热钱包与冷钱包的区别

热钱包是指私钥在联网设备上生成或保存的钱包,这使它长期暴露于远程攻击之下。冷钱包在离线状态下生成钥匙、在离线状态下签名,因而私钥从不接触联网设备。最常见的混淆在于操作系统扮演的角色:装了 MetaMask 这类应用的手机仍然是热钱包,哪怕系统经过加固且完全是最新版本。重要的不是设备的整体安全性,而是钥匙用于签名的那一刻是否存在网络连接。加固一台联网设备会降低被攻陷的概率,但改变不了钱包所属的类别。

2026 年 Coldcard 事件给我们的教训

在进入各个层级之前有一点必须说明,而最近的新闻让这一点无法回避。

2026 年 7 月底,制造商 Coinkite 披露,2021 年 3 月引入其 Coldcard 固件的一个缺陷影响了部分种子的生成。这并不是刻意设计的回退机制:在切换到新密码学库时的一处集成错误,使得一个本应关闭软件备用生成器的宏没有产生预期效果,于是原本设定要用的硬件生成器实际上被绕过,转而使用了平台上那个通用、可预测的软件生成器。生成出来的助记词看上去完全随机,但根据 Coinkite 公布的初步估算,其真实熵值在 Mk2 和 Mk3 机型上降到约 40 位,在 Mk4、Mk5 和 Q 上降到约 72 位,而原定应为 128 位。Coinkite 发布的技术说明 对这一机制做了精确阐述。

根据 TRM Labs 的分析 ,从 2026 年 7 月 30 日起,攻击者分四波掏空了分布在 5200 多个地址上的约 1816 枚比特币。他们自始至终都不需要接触受害者的设备,无论是物理上还是远程。他们只是重新算出了那些已经弱到可以被暴力破解找出来的私钥。

要记住的正是这一点。这些受害者没有犯任何错误。种子从未外泄,设备从未联网,物理备份无可指摘。这一切都没起作用,因为漏洞出在钥匙被创建的那一刻,那时甚至还没有什么东西需要保护。

这件事既不能否定 Coldcard 的硬件,也不能否定硬件钱包这个品类。这是一个具体的缺陷,在第一波攻击的次日就有固件修复发布;而迁移到新种子仍然是必要的,因为更新修不好一把已经生成出来的钥匙。但它照亮了一条对后文一切都适用的界限:本文的五个层级讲的是钥匙存在之后如何保护它,没有任何一级能单凭自身保证它当初被正确地生成出来。这正是 SeedSigner 这类开放方案的价值所在,后文会介绍,它的生成代码是公开的、任何人都能验证,而封闭固件却可以把一个缺陷藏上五年。

层级一:写在纸上的助记词

要人记住一把私钥是不可能的。几乎所有钱包都采用的 BIP39 标准绕开了这个问题。

钱包抽取一个非常大的随机数,然后把它翻译成一串取自 2048 个词固定词表的普通单词:这就是助记词,也叫恢复短语。十二个词对应 128 位随机性,二十四个词对应 256 位。钱包从这串词出发,用数学方法重新推导出你所有的私钥和所有的地址。

由此得出的核心结论是:助记词就是钱包。如果你的设备烧了,你把这些词输入任何一个兼容的钱包,就能原封不动地找回资金。如果有人读到了这些词,他不需要别的任何东西。既不需要你的设备,也不需要你的 PIN 码。

让这串词无法被猜到的,是它所包含的随机性的量,而不是它表面上的长度。这与密码的道理相同,我们在熵与你的安全背后的科学 一文中做过详细说明。

实际操作中,你用手把这些词按顺序、编上号,写在一个不经过任何设备的载体上。绝不拍照,不截屏,不存文本文件,不放进会同步的密码管理器,也不发给自己邮件。任何接触到在线服务的做法都会把助记词带出离线领域,冷钱包也就不复存在了。

这一级防不住什么。 纸会烧毁,扛不住水浸,会褪色,会丢失。谁拉错了抽屉,几秒钟就能读完。更重要的是,它构成一个单点故障,这个说法会贯穿本文始终:单独一个要素,一旦丢失或被攻陷,就足以让全部资产随之而去。

立竿见影的改进花不了多少钱:把助记词刻在金属备份上,也就是打字钢印或插入字块的不锈钢板,Cryptosteel 和 Billfodl 是最知名的例子。钢材能挺过家庭火灾和水淹。这解决的是意外损毁,不是盗窃。

层级二:市售硬件钱包

层级一的前提是你已经在某处生成了助记词。如果你是在手机应用里生成、然后再抄下来的,那么你的助记词曾经存在于一台联网设备上,纸只是备份了一个早已暴露的秘密。

硬件钱包从根子上解决了这个问题。这是一台小型专用设备,没有浏览器,也没有第三方应用,它唯一的职责就是生成助记词、把它保存在安全芯片里,以及为交易签名。它插在你的电脑上,但钥匙从不离开芯片。电脑发来一笔待签名的交易,设备在自己的屏幕上显示金额和收款地址,你按键确认,它返回一个签名。

那块屏幕是关键所在,而且经常被误解。如果你 PC 上的恶意软件在发送时替换了收款地址,设备屏幕上显示的将是真正的去向,也就是攻击者的地址。它是你最后一道独立的核对关口。每一次都必须读。

主流产品是 LedgerTrezor 和专注比特币的 Coldcard

对来源保持警惕

我们又回到了本文开头那台假钱包。

只在制造商官网直接购买,或者向它正式列出的经销商购买。绝不在综合电商平台买,绝不买二手,绝不接受别人赠送的设备。从出厂到你手上这一段路,中间人可以打开设备、更换内容再干净利落地封好。收货时按照制造商公布的验真流程,检查封条和有无开启痕迹。

尤其要记住这条单凭自身就能瓦解最常见攻击的规则:一台全新的硬件钱包必须让你自己生成助记词,绝不能给你一串现成的。凡是盒子里已经写好助记词的设备,或者要求你输入随附助记词的设备,都已被攻陷。没有例外。

这一级防不住什么。 你现在信任的是一家制造商的随机数生成器质量,以及它固件的完整性,也就是设备内嵌的软件。这套固件通常是专有的,至少部分如此,因此你无从验证。这是合理的信任,对绝大多数人来说也是站得住脚的,但它终究是信任。而且助记词依然是单点故障。

层级三:专用的物理隔离电脑

如果你不想信任任何制造商,那还有一条路:在通用硬件上、用开放且经过审计的软件,全部自己动手。这就是物理隔离主机的原理,字面意思是被一层空气隔开:一台从未联网、也永远不会联网的电脑。

  1. 找一台只用于这一件事的机器。老笔记本就行,没有内置无线芯片的型号最理想。
  2. 从一个你已核对过密码学指纹的镜像出发,重装一套干净的系统,比如常见的 Linux 发行版。
  3. 在尽可能低的层面上废掉网络。物理拆掉 Wi-Fi 网卡,它通常是盖板下插着的一块小卡,这比在设置里关掉要好。绝不插网线。软件层面的禁用可以被软件撤销,而一个根本不存在的部件什么也撤销不了。
  4. 安装一款主流软件钱包,SparrowElectrum ,用 U 盘传入安装包并核验其签名。
  5. 在这台机器上离线生成助记词,并按层级一的方式做好备份。

要花钱时,流程走的是一种标准格式:PSBT(Partially Signed Bitcoin Transaction),即部分签名的交易。这是一个文件,包含一笔交易的全部细节,唯独没有签名。你在联网电脑上准备好交易并导出这个文件,用 U 盘、或者用屏幕上显示再由摄像头读取的二维码,把它送到离线机器上。离线机器完成签名,你用同样的路径把签好的文件带回来,联网电脑再把它广播到网络。

两个世界之间唯一的通道,是一个你亲手搬运的文件。这很慢,而慢正是它的价值所在。

这一级防不住什么。 U 盘成了你的薄弱点:它是一种主动介质,能够带进代码。此外,离线系统仍然是一套通用操作系统,庞大且难以审计。纪律同样重要:为了更新而"就插一次"网线的诱惑,会一下子让整套安排前功尽弃。

层级四:开源自制签名器 SeedSigner

SeedSigner 把层级三的逻辑推到了尽头:一台极简的、由你自己搭建的设备,其行为可被验证,并且什么都不保留。

核心部件是一块 1.3 版本的 Raspberry Pi Zero。这个说明不是细节,而是整套方案的核心。Pi Zero 1.3 在硬件层面既没有 Wi-Fi 也没有蓝牙:板子上根本没有无线芯片。它不是 Raspberry Pi 5,不是 Pi Zero W,也不是 Pi Zero 2,那几款都带无线连接。官方文档说得很明确,1.3 版本提供的网络隔离保证最好。

它与软件禁用的差别是根本性的。在设置里关掉的 Wi-Fi,依托的是一段软件的承诺,而另一段软件可以背弃它。一块从未焊上板子的芯片,则没有任何代码、任何漏洞、任何被做过手脚的更新能够重新启用它。你不再是信任一项配置,而是确认一个物理上的缺席。

其余部分就三件东西:一块 1.3 英寸、240 乘 240 像素的 WaveShare 屏幕及其按键,一个兼容 Pi Zero 的摄像头模块,以及一张 microSD 卡。元件成本不到 50 美元,完全不用焊接。

所有通信都通过二维码,双向都是。联网钱包,比如 Sparrow,把 PSBT 显示为二维码,交易体积大时会变成动态二维码。SeedSigner 的摄像头读取它。设备在自己屏幕上显示交易细节,你确认,它签名,然后反过来把已签名的交易显示成二维码,由你用联网电脑的摄像头拍下来。没有数据线,没有 U 盘,没有网络。光是唯一的通道。

这台设备而且是无状态的。它从不永久存储钥匙:助记词在每次会话开始时输入,使用期间只存在于内存中,断电即消失。microSD 卡里只有软件。攻击者偷走你关机的 SeedSigner,偷到的不过是一块十五欧元的 Raspberry Pi。

开放的代价。 不再有制造商需要信任,但也不再有制造商为任何事情背书。在把软件写入 microSD 卡之前,你必须自己核验它的真伪。项目在其 GitHub 发布页 上提供镜像文件,附带一份清单以及该清单的签名。核验把两件事结合起来:GPG 签名证明这次发布确实出自开发者之手,SHA256 指纹校验证明文件此后未被改动。而且必须在挂载镜像之前就做,因为某些系统会在打开时修改镜像,导致校验失败。校验不通过,就不烧录。

需要留意的功能限制:SeedSigner 是一个比特币项目,不支持其他链。

层级五:Qubes OS 上的 Vault 虚拟机

层级三用一根拔掉的线缆隔开两个世界。这是一份你日复一日手工维持的保证,靠的是你的自律。

Qubes OS 提供的是另一种东西:由系统架构强制实施的隔离。Qubes 把你的各项活动分隔到不同的虚拟机中,称为 qube,由虚拟机管理程序加以隔离。我们在面向安全的操作系统比较 一文中把它与其他系统做过定位。

Vault 虚拟机在创建时完全没有网络接口。这不是表面上的设置项:这台虚拟机根本没有虚拟网卡,没有驱动,没有协议栈,没有任何东西可以启用。无论里面运行什么代码,它在物理上都没有办法发出一个数据包。持有助记词并离线运行 Sparrow 的正是它。

第二台虚拟机是联网的,它以只读观察模式运行 Sparrow,只带公钥。它能看到余额和历史记录,会构造交易,但无法为任何一笔签名。

传输完全通过文件进行,使用内部工具 qvm-copy。未签名的 PSBT 从联网虚拟机送往 Vault,Vault 完成签名,签好的文件再以同样的机制回来。没有共享网络,没有共同目录,没有自动剪贴板。

有两点让它优于一台简单的隔离电脑。首先,隔离不再取决于你:在传统的物理隔离机器上,隔离是你行为的一项属性,只要没人插线它就成立。而在 Qubes 之下,隔离由虚拟机管理程序在虚拟机之下强制执行,运行在里面的东西够不着。就算恶意软件在 Vault 中取得了完全权限,它也依然没有任何网络硬件可供驱动。其次是可逆性:qube 基于模板,一旦你怀疑被攻陷,就销毁虚拟机,几分钟内重建一台干净的。而在一台专用电脑上,同样的怀疑就意味着彻底重装。

这一级防不住什么。 这是本文中最稳固的方案,而它原封不动地保留了第一级的弱点:始终只有一串助记词。一场烧毁备份的火灾、一次施加在你身上的人身胁迫、一个操作失误,结果不是全部丢失,就是全部被拿走。软件隔离再完美,也改变不了这一点。

多重签名:改变问题的性质

前面五个层级改进的都是同一件事,也就是对单一秘密的保护。多重签名提出的是另一个问题:如果我们不再只有一个秘密呢?

这条原理写在网络规则里。资金不再关联到一把钥匙,而是关联到一组钥匙,并设一个门槛。三选二是指存在三把钥匙,花费需要其中两把。五选三是指存在五把钥匙,需要其中三把。每把钥匙独立生成,用不同的设备,最好还是不同类型的设备,并存放在不同的地点:一台 Coldcard 放在家里,一台 SeedSigner 放在信得过的亲友处,一把钥匙放进银行保险箱。

这带来的改变很清楚。窃贼找到一份备份,什么也拿不到。一场火灾毁掉一个地点,毁不掉你的资金,你可以用剩下的钥匙重建。某家制造商被发现缺陷也不够,因为你其他的钥匙来自别处。有人对你人身威胁,会撞上一个事实:你一个人在当场根本拿不出他要的东西。

单点故障在两个方向上同时消失,既对丢失,也对盗窃。此前任何一级都做不到这个结果,包括 Qubes 那套方案。

代价是操作上的复杂度。要备份的不只是种子,还有钱包描述符,这是一个描述该方案结构以及组成它的公钥的文件。没有它,即便你凑齐了所需数量的种子,找回资金也会变得非常困难。一套文档不清的多重签名,比一台用得明明白白的普通硬件钱包更危险。

适用于所有层级的规则

硬件占据了讨论的绝大部分,而真实的损失多半来自别处。

把备份在地理上分开。 同一栋房子里两个抽屉中的两份相同种子,面对火灾或水浸时只等于一份。风险不只是盗窃。把地点分开,同时记住:每多一份副本,你抵御丢失的能力就更强,抵御盗窃的能力就更弱。这是一种取舍,不存在最优设置。

用小额做一次测试。 转入相当于几欧元的金额,确认收到,然后把钱包清除,再完整地从备份中恢复。收款成功并不能证明恢复没问题,而将来救你一命的正是恢复。抄错一个词、顺序颠倒、备份不完整,这些都只有在那一刻才会暴露,而在只押上十欧元的时候发现要好得多。

保持低调。 技术上的安全对社会工程和有针对性的人身盗窃毫无作用。不要公开提及你持有加密货币,不在社交网络上,不在餐桌上,也不对交情不深的熟人说。世界上最好的方案,也保护不了一个众所周知有东西可拿的人。

安排好传承。 这是最被忽视的一点,而且不可逆。一个安全性做得好的冷钱包,其设计目标就是除你之外谁也进不去。一旦身故或丧失行为能力,这个特性就会反过来对付你的继承人,资金将永久损失。可行的路径有几条:把加密的文档托付给可信的第三方或存放在公证人处;采用包含一把由继承人持有的钥匙的多重签名方案;或者设置一种在长期没有生命迹象时释放信息的 dead man switch 装置。每一种都涉及因国而异的法律和税务影响。把技术意图记录下来,具体落实则请法律专业人士来把关。

这说明了 Arpokrat 的思路

贯穿这五个层级的主线不是复杂度的递增。而是你必须信任却无法验证的角色数量在逐步减少。交易所要求完全的信任。硬件钱包把它压缩到一家制造商。SeedSigner 用一次由你亲自完成的核验取而代之。Qubes 方案把保证从行为转移到架构。多重签名则把它从每一个单独看待的要素上收回。

这正是主导我们产品设计的逻辑。建立在承诺之上的保证不是保证,而是一种表态。结构性的保证,即便建造它的人改了主意或者收到强制令,依然成立。一项不持有你钥匙的服务,无论承受多大压力都交不出钥匙:这就是 Arpokrat Swap 背后的原理。而且随着监管框架的演变,这个问题正变得越来越具体,我们对欧盟计划于 2027 年对门罗币和 Zcash 实施限制 的分析就说明了这一点。

结语

不存在一个笼统意义上"好"的安全级别。存在的是与你所持有的东西、以及与谁可能合理地盯上你相称的级别。

在制造商处购买的硬件钱包上放几百欧元,助记词刻在金属上并存放在住所之外,这是一套完全靠谱的配置。它已经把你置于绝大多数加密货币持有者之上,并保护你免于那些真正造成损失的情形。为此没有人需要在 Qubes 上搞多重签名。复杂方案的合理性,出现在金额大到足以让针对性攻击变得有利可图时,或者你的处境本身就会招来特别关注时。

所以正确的问题不是该往上爬到哪一级,而是你当前的哪一条假设最脆弱。对多数人来说那不是硬件:而是只存在一个地方的唯一备份、一次从未演练过的恢复,或者一场从未考虑过的传承。纠正这三点不花什么成本,而它们比从一级迈向下一级更重要。