149 / 736AIRGAP

Air-gapped Wallet

在联网电脑之外签名的钱包

电脑准备付款,独立设备完成签名。了解这种分工能保护什么、QR 码传递什么,以及为什么仍要核对设备屏幕。

Air-gapped Wallet 在与联网电脑或手机没有常规网络连接的独立设备上签署付款。私钥应留在这个隔离环境中;付款方案和签名则通过受控方式传递,例如 QR 码或存储卡。

钱包是接收和发送比特币的应用程序或设备。安娜平时用笔记本电脑上网。她不想让电脑同时保存私钥,也就是生成签名、授权花费 bitcoin 所需的秘密数据。于是她把工作分开:电脑上的程序查看收付款并准备新付款,称为协调器;另一台设备检查付款方案,经她同意后签名,称为签名设备。Hardware Wallet,也就是硬件钱包,可以这样工作。Air gap 主要描述设备如何隔离、数据如何传递,并非所有硬件钱包天然具备的属性。普通电脑临时关掉 Wi-Fi 并不够,还要考虑其他连接、软件,以及秘密数据仍在时是否会重新联网。 [3] [5]

安娜在协调器中输入收款人和金额。程序生成 PSBT,即装有交易方案和签名所需资料的数据包,其中包括 UTXO 的资料,也就是此前付款留下、尚未花费的输出。这些是单独记录的金额,新交易的输入会引用这些输出。她可以扫描 QR 码,把数据包交给签名设备。设备处理其支持的数据,在检查和批准后添加签名,再把结果传回电脑。只有满足所需签名条件,才能组装最终交易并发送到网络;这还不等于交易已在区块中确认。区块把多笔交易汇集在一起,记入 Bitcoin 的公开交易记录。沿途传递的是方案和签名,不是私钥或钱包备份。 [1] [6]

假设输入为 100000 sat。Sat 是 bitcoin 的最小单位。安娜想支付 60000 sat,把 39000 sat 找回给自己,余下 1000 sat 作为手续费。找回的金额有单独的输出,叫作 Change Output。签名设备必须依据正确的密钥和钱包配置核对它,不能只信任电脑附带的“找零”标签。安娜还要在可信的设备屏幕上核对完整收款地址、金额和手续费,确认与自己的付款意图一致。受感染的电脑可以把地址换成别人的,同时让算术完全正确。如果她批准了这样的方案,仅靠设备隔离也无法保护她的资金。 [1] [4]

QR 码是把数据表示成图像的方法,并不是数据安全的证明。较大的数据包可以用 BBQr 或 UR 格式拆成连续图像,两端都必须理解该格式。读取图像和 PSBT 的软件与其他程序一样可能有缺陷。尤其要区分交易 QR 与 SeedQR:后者包含秘密数据的备份,而不是付款方案。因此,SeedQR 不应进入联网电脑或手机的摄像头。一个码能否离开隔离环境,取决于内容和用途,而非它是否长得像其他小方块。 [2] [4]

另一种方式使用 MicroSD:安娜把 PSBT 写入卡片,插入签名设备,再把结果带回。虽然不需要网线,设备仍在读取外部文件。安全性取决于处理程序,也取决于负责读取和组织数据的控制器与文件系统。专用卡能减少文件混用,却不能保证内容无害。供电也要具体判断:USB 既能供电,也能传输数据。如果仅用于供电,就必须确实没有活动的数据通路。“充电”标签本身不能证明这一点。 [2] [3]

COLDCARD 也把 NFC 列为 air gap 传输方式。NFC 是近距离无线电,而 QR 传递图像,MicroSD 在实体介质上运送文件。这些通道并不相同。如果你的要求是排除无线电通信,启用 NFC 就不符合要求。对于具体设备,弄清哪个通道在运行、何时启用、允许哪些数据通过,比仅看 air-gapped 标签更有用。持续的 USB 数据连接与手动搬运文件,也有不同的隔离边界。 [2]

协调器可以采用 watch-only 模式:查看钱包,却不能独自签署付款。它可以使用 xpub,即用于派生其他公钥的扩展公钥,或公开的 Descriptor,即描述生成地址所用密钥与规则的信息。这些数据本身不能授权花费,却可能把多个地址和付款关联到同一个钱包。PSBT 也可能包含公钥、派生路径和 UTXO 资料。Multisig 按规定要求多把密钥授权;所有参与者的正确配置对恢复钱包和核对找零都很重要。因此,隔离签名设备并不意味着电脑匿名,也不会自动让它的网络查询变得私密。 [1] [4]

安娜仍需安全保存 Seed Phrase,也就是用单词表示的备份,以及钱包要求的其他信息。SeedSigner 只是临时加载秘密数据;关机后不能把设备内存当作备份。Air gap 也无法替代可信固件,也就是设备内部的程序,更不能替代付款核对。Secure Element 保护的是另一部分:让某些针对芯片的攻击更困难。Cold Storage 指在联网环境之外保存密钥,air gap 则描述独立签名的工作方式。在用它保管重要积蓄之前,可以先用独立测试密钥练习传递、核对与恢复。目标是理解每一步,而不只是让桌上多几台设备。 [3] [4]

要获得更完整的理解,请将本词条与以下词条结合阅读: Hardware Wallet, PSBT, Cold Storage, Seed Phrase, Output Descriptor, Multisig. 反向关联还来自: Cold Storage, Secure Element, SeedQR, BBQr.

DOC · 001BIP 174 — Partially Signed Bitcoin Transaction Format规范 DOC · 002COLDCARD — Bitcoin Air-Gap Signing Methods文档 DOC · 003SeedSigner — Frequently Asked Questions一手来源 DOC · 004SeedSigner — Independent Custody Guide文档 DOC · 005Bitcoin Developer Guide — Wallets文档 DOC · 006Bitcoin Developer Guide — Block Chain文档
修订日期: 来源优先 · 非投资建议